· SQL:结构化查询语言(Structured Query Language)
· DBMS:数据库管理系统
· 关系数据库:一个个 table 就是“关系”的意思。
· 一般将查询关键字大写
· SQL语言包含了三部分:
DDL:数据定义语言(Data Definition Language)
DML:数据操作语言(Data Manipalolion Language)
DCL:数据控制语言(Data Contral Language)
· 数据库中,库、表、字段等的命名推荐使用 xxx_xxx_xxx 的样式。
· 某字段为 NULL 并不表示为零值或者为空字符串
NULL 不参与计算
· <>:表示判断“不等于”
· 在SQL语句中,任何允许有表达式的地方,也允许有子查询。
· COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入总数)
COUNT(*) 函数返回表中的记录数
COUNT(DISTINCT column_name) 函数返回指定列中的不同值的数目
· MAX(column_name)函数返回一列中的最大值。NULL 值不包括在计算中。
MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。
如:SELECT MAX(OrderPrice) FROM Orders
· 在SQL中,有如下表示法:
数据库.表
表.字段
说明:后者在多表查询/嵌套查询中更常用,它可以写在 SELECT 或者 WHERE 的后面。
如 SELECT table1.*,table2.col3 FROM table1,table2
WHERE tabel1.col1 = table2.col1 AND tabel1.col2 = table2.col2
即结果集为 tabel1.col1 = table2.col1 并且 tabel1.col2 = table2.col2 的记录,此外虚拟表中只有 table1 的所有列和 table2 的 col3 列。
· 授权:GRANT。语法:GRANT …… ON …… TO ……,意思是:对谁谁谁,在哪些表上或所有上,有什么什么样的权力
例如:GRANT SELECT ON 数据库.* TO '用户名'@登录主机 IDENTIFIED BY '密码'
取消授权:REVOKE
· DROP:
删除索引:各种数据库语法不用
删除整个表:DROP TABLE 表名称
删除整个数据库:DROP DATABASE 数据库名称
DELETE:
删除某行:DELETE FROM 表名称 WHERE 列名称 = 值
删除整个表的数据:DELETE FROM table_name,或者:DELETE * FROM table_name,或者TRUNCATE TABLE table_name
· “索引”,就是一个表的指针表
· SQL语句支持加减乘除
· 连接字符串使用“+”或者“||”
· 函数SUBSTRING
SUBSTRING(string,pos)
或,SUBSTRING(string FROM pos)
SUBSTRING(string,pos,length)
或,SUBSTRING(string FROM pos FOR length)
返回的是从 pos 开始,一共 length 个字符的子串。其中原串以 1 为第一个元素!
没有 length 参数的表示一直到string的结束。
另外,string可以是常量(用引号引起来),也可以是表中的字段名
· SELECT语句:
SELECT column_list(多个列,以逗号分隔)
FROM table_list(多个表)
[WHERE search_condition]
[GROUP BY grouping_condition]
[HAVING search_condition]
[ORDER BY ordering_condition]
真实的执行过程:
ORDER BY( SELECT( HAVING( GROUP BY( WHERE( FROM ……)))))。 !!!
说明:
WHERE:过滤行
HAVING:过滤组
GROUP BY:会自动将分组的结果按数字/字母的顺序升序排列
ORDER BY …… (ASC/DESC):是在最后一步进行排序的。另外,若是字符串,是按照从左到右的顺序依次排序的。进行排序的参数字段可以有多个[size=x-small][/size]
· LIKE:
%:匹配任意字符串,包括零个字符,
*:匹配一个字符
如果需要将“%”“*”看做一个字符,而不是通配符,则需要在每一个前面使用转义符“#”
·UNION(并集):
合并两个或多个 SELECT 语句的结果集。但是,每个SELECT查询的结果集必须是相同的列数。
· 联合(Join):
· 基本联合:
FROM table1,table2
即一个表的每一行与另一个表的每一行都相联合。--笛卡尔乘积。
· 条件联合:
FROM table1,table2 WHERE table1.column1 = table2.column2
只有 table1 与 table2 中字段 column1 和 column2 的值相等的行才联合在一起。另外,产生的虚拟表不一定是一对一的关系。另外,这个 = 关系,可以变成: <, >,或者 <> 关系。
· 以及其他联合,内部/外部联合,并联合等
· 别名:
SELECT t1.*,t2.col2,t2.col3
FROM table1 t1,table2 t2
WHERE t1.col1 = t2.col1
注意:别名与表名不要混合使用。
· 有时,为了性能上的考虑,即便一组数据是可以也是应当放在一张表中的,但是,由于一部分数据相对静止,变化性较小,而另一部分可能经常变动,因此,会考虑分成两种表。
· IN:
使用 IN 允许我们在 WHERE 子句中规定多个值。
WHERE column_name IN (value1,value2,...):即字段 column_name 中值为value1 或 value2 或 ...的行。
注意:在使用嵌套查询时,IN (SELECT ......),括号中SELECT子句返回的结果集一定是单列的,即SELECT的后面必须跟上一个字段名。
· 允许多重嵌套查询
· 光标定位一个特定的行。当光标被激活,你可以在由光标所指的行上完成选择、修改、删除的操作。
分享到:
相关推荐
Oracle SQL是数据库管理员和开发人员在Oracle数据库系统中进行数据查询和管理的重要工具。这篇笔记主要涵盖了Oracle SQL的...这两份“Oracle SQL笔记”文档应包含了上述各个方面的详细解释和实例,值得仔细阅读和学习。
标题“20170909学习sql笔记”表明这是一个关于SQL学习的资料,可能包含了一天的学习记录或者一个教程的集合。SQL,全称Structured Query Language,是用于管理和处理关系数据库的标准语言。这个标题暗示我们将探讨...
sql笔记.md
【Oracle SQL笔记详解】 Oracle SQL是用于访问和操作Oracle数据库的强大工具,涵盖了各种查询、更新和管理数据的方法。以下是对笔记中提及的一些关键知识点的详细解释: 1. **登录Oracle数据库**:通常以超级管理...
### Oracle SQL 笔记知识点详解 #### 一、SQLPlus 命令及环境变量 Oracle_sid - **SQLPlus 命令位置**:在 Oracle 安装目录下的 `bin` 文件夹中,可以通过 SQLPlus 来执行 SQL 命令。 - **Oracle_sid 环境变量**:...
除了这些基础操作,SQL笔记可能还会涉及更复杂的查询技术,比如联接(JOIN)、子查询、视图(VIEW)的创建和使用,以及事务处理(TRANSACTION)等。联接允许你从多个表中合并数据,子查询可以在主查询内部执行查询,...
这篇超有用的SQL笔记涵盖了多个关键知识点,包括数据检索、数据操作以及SQL查询的高级技巧。以下是对这些知识点的详细解释: 1. **限制查询结果数量**: - `SELECT TOP n * FROM 表名` 是SQL Server中获取前n行...
根据提供的文件信息,我们可以整理出以下关于SQL Server 2005的相关知识点: ### SQL Server 2005概述 SQL Server 2005是一款由微软公司开发的关系型数据库管理系统,是SQL Server系列中的一个重要版本。它在SQL ...
总的来说,“清华滕永昌SQL笔记”提供了关于SQL和Oracle数据库系统的基础知识和实际操作示例,对于学习和理解SQL以及Oracle系统的使用非常有帮助。通过掌握这些内容,用户可以有效地进行数据查询、管理、分析和控制...
### Head First SQL 笔记概览 #### 第一章 创建与管理数据库 - **创建数据库** 使用 `CREATE DATABASE` 语句可以创建一个新的数据库。语法格式如下: ```sql CREATE DATABASE database_name; ``` - **使用...
hivesql笔记.sql
总结来说,本篇SQL笔记详细介绍了在MySQL数据库中使用SQL进行数据操作的各个方面,包括数据库和表的创建、数据的插入、查询语句的构造以及数据的修改和删除。通过对这些基本知识点的理解和掌握,我们可以更有效地...
SQL笔记-副本.sql
总的来说,这份“详细的sql笔记”涵盖了数据库的基础知识,特别是Oracle数据库的使用和函数应用,以及正则表达式的实践。这些内容对于数据库管理员、开发人员或数据分析人员来说都是非常宝贵的学习资源,能够帮助...
【SQL笔记与实例】是一份特别为初学者设计的学习资源,旨在帮助新手快速掌握SQL(Structured Query Language)的基础知识和实际应用。SQL是用于管理和处理关系数据库的强大工具,广泛应用于数据存储、分析和报告。 ...
sql 笔记.md
T-SQL,全称Transact-SQL,是微软SQL Server数据库管理系统中使用的SQL扩展,它在标准SQL的基础上...这份"很好的T-SQL笔记"应该会涵盖这些内容,并可能包含更多的实用技巧和案例,对于学习和提升T-SQL技能非常有价值。