SQL 文档快查手册

SQL TOP

       限制返回结果集中的记录条数

              SELECT TOP n <列表名> FROM <表名>[查询条件]

       查询结果集中的指定百分比的记录数

              SELECT TOP n PERCENT <列名表> FROM <表名> [查询条件]

SQL LIKE

       LIKE操作符用于再WHERE子句中搜索列中的指定模式

              SELECTcolumn_name(s) FROM table_name WHERE column_name LIKE pattern

SQL通配符

       %替代一个或多个字符_仅替代一个字符

[charlist]字符列中的任何单一字符

[^charlist] 或者 [!charlist]  不在字符列中的任何(单一字符

现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" "L" "N" 开头的人:

              select * from person where city like“[ALN]%”

SQL IN

       在where字句中规定多个值

              selectcolumn_name(s) from table_name where colume_name in (val1,val2,…)

SQL BETWEEN

       操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SELETECOLUMN_NAME(S) FROM TABLE_NAME WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2

SQL Alias(别名)

       表的用法

       SELECTCOLUMN_NAME(S) FROM TABLE_NAME AS ALIAS_NAME

       列的用法

       SELECTCOLUMN_NAME AS ALIAS_NAME FROM TABLE_NAME

SQL JOIN

       用于根据两个或多个表中的列之间的关系,从这些表中获取数据

       SELECTPersons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders

WHEREPersons.Id_P = Orders.Id_P

SQL INNER JOIN

       表中存在至少一个关键字时,inner join关键字返回行。

SQL LEFT JOIN

       从左表中返回所有的行,即使在右表中没有匹配的行。

SQL RIGHT JOIN

       从右表中返回所有的行,即使在左表中没有匹配的行。

SQL FULL JOIN

       只要是某一个表中存在匹配,FULL JOIN 关键字就会返回行

SQL UNION 和 UNION ALL

       UNION用于合并两个或多个SELECT语句的结果集

       UNION会列出结果中所有的值

SQL SELECT INTO

       从一个表中选取数据,然后把数据插入到另一个表中。

 

SQL CREATE DATABASE

       创建数据库

SQL CREATE TABLE 

       创建数据表

SQL约束

       可以在创建表的时候规定约束,或者在表创建之后ALTER TABLE

SQL NOY NULL约束

       强制列不接受NULL值

SQL UNIQUE 约束

       强制列值唯一

SQL PRIMARY KEY 约束

       主键,PRIMARY KEY 约束唯一标识数据库表中的每条记录。必须唯一,不能为NULL,每个表都应该有一个主键,并且每个表只能有一个主键。

       ALTERTABLE Persons ADD PRIMARY KEY(id_p)

 

SQL FOREIGN KEY 约束

       外键,一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY

       创建foreign key

              FOREIGNKEY (ID_P) REFERENCES PERSONS(ID_P)

              ALTERTABLE TABLE_NAME ADD FOREIGNKEY (ID_P) REFERENCES TABLE2_NAME(ID_P)

       撤销foreignkey

              ALTERDROP FOREIGN KEY ID_P

SQL CHECK 约束

       限制列中的值的取值范围    CHECK (Id_P>0)

SQL DEFAULT 约束

       列中插入默认值,如果没有规定新的值,默认值将会添加到所有的记录

SQL CREATE INDEX 语句

       在表中创建索引,在不遍历整个数据库的情况下,索引让数据库应用程序更加快速的查询数据,高效快速的查询数据。用户无法看见索引,只能被用来加速搜索和查询。CREATE INDEX INDEX_NAME ON TABLE_NAME (COLUMN_NAME)

 

SQL CREATE UNIQE INDEX创建唯一索引

       创建唯一的索引,两个行不能有唯一的索引值

       CREATEINDEX PersonIndex ON PERSON(LASTNAME DESC)降序索引

SQL DROP撤销索引、表以及数据库

       删除索引 ALTER TABLE TABLE_NAME DROP INDEX INDEX_NAME

       删除数据库DROP DATABASE DB_NAME

       删除数据表DROP TABLE TABLE_NAME

       删除表中数据,不删除表结构TRUNCATE TABLE 表名称

SQL ALTER TABLE

       添加字段       ALTER TABLE TABLE_NAMEADD COLUMN_NAME DATATYPE

       删除字段       ALTER TABLE TABLE_NAMEDROP COLUMN COLUMN_NAME

       修改数据类型       ALTER TABLE TABLE_NAMEALTER COLUMN_NAME DATATYPE

      

AUTO INCREMENT字段

       自增数据段,若要使开始值为其他值,则ALTER TABLE TABLE_NAME AUTO_INCREMENT=100

      

SQL CREATE VIEW 语句

       视图:包含行和列,类似于一个真实的表,视图就是来自于一个或多个数据库中的真实的表中的字段。

       我们可以向视图中添加SQL函数,where以及join语句,也可以提交数据,就像这些来自于某一个单一的表

       CREATEVIEW VIEW_NAME AS   SELECT COLUMN_NAME(S)FROM TABLE_NAME WHERE CONDITION

       删除视图

              DROPVIEW VIEW_NAME

 

SQL DATE 函数

       NOW()    返回当前的日期和时间

       CURDATE()    返回当前的日期

       CURTIME()     返回当前的时间

       DATE()    提交日期或日期/时间表达式的日期部分

       EXTRACT()     返回日期/时间表达式的日期部分

       DATE_ADD()  给日期添加指定的时间间隔

       DATE_SUB()   给日期减去指定的时间间隔

       DATEDIFF()    返回两个日期之间的天数

       DATE_FORMAT()   用不同的格式显示日期/时间

SQL NULL值

       NULL值的处理方式与其他值不同。NULL 用作未知的或不适用的值的占位符。

搜索数据库表中某个为空的值IS NULL

 

SQL数据类型

       MySQL数据类型

 

       TEXT类型

CHAR(size)     保存固定长度的字符串(可包含字母,数字,特殊字符)。在括号中指定字符串的长度,最多是255个字符。

VARCHAR(size)     保存可变长度的字符串(包含数字,字母,特殊字符)。在括号中指定字符串的最大长度,最多255个字符。如果长度超过255,将会被转换为TEXT类型。

TINYTEXT       保存最大长度为255个字符的字符串

TEXT       保存最大长度为65535个字符的字符串

BLOB      用于存放BLOBs(Binary Large Objects)。最多位数为65535

MEDIUMTEXT        存放最大长度为16,777,215个字符的字符串

LONGTEXT    存放最大长度为4,294,967,295个字符的字符串

LONGBLOB   用于存放BLOBs(Binary Large Objects),最大长度为4,294,967,295 字节的数据。

ENUM(x,y,z,…)       用于存放可能输入值的列表。可以在ENUM中列出最大的65535个值。

SET  和ENUM类似,SET最多可以包含64个列表项,SET可以存放一个以上的值

 

       NUMBER类型

              TINYINT(size)         -128到127常规,0到255无符号。在括号中规定最大的位数。

              SMALLINT(size)     -32768到32767常规,0-65535无符号。在括号中规定最大位数。

              MEDIUMINT(size)  -8388608到8388607普通,0到166777215无符号。在括号中规定最大位数。

              INT(size)         -2147483648到2147483648常规,0- 4294967295无符号,括号中规定最大位数。 

              BIGINT(size)   -9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。

              FLOAT(size,d)        带有浮动小数点小数字。在括号中规定最大的位数。在d参数中规定小数点右侧的位数。

              DOUBLE(size,d)     带有浮动小数点大数字。在括号中规定最大的位数。在d参数中规定小数点右侧的位数。

              DECIMAL(size,d)    作为字符串存储的DOUBLE类型的小数,允许固定的小数点

 

       DATE类型

              DATE()    日期。格式:YYYY-MM-DD      注释:支持的范围是从'1000-01-01' 到 '9999-12-31'

              DATETIME()    日期和时间的组合。格式:YYYY-MM-DDHH:MM:SS

注释:支持的范围是从 '1000-01-01 00:00:00' 到 '9999-12-3123:59:59'

              TIMESTAPE()  时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。

格式:YYYY-MM-DD HH:MM:SS

注释:支持的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-0903:14:07' UTC

              TIME()            时间,格式:HH:MM:SS     注释:支持的范围是从 '-838:59:59'到 '838:59:59'

              YEAR()           2或4位的年。注释:4 位格式所允许的值:1901 到2155。

2 位格式所允许的值:70 到 69,表示从 1970 到 2069。

 

SQL服务器 – RDBMS

       DBMS - 数据库管理系统(Database Management System)

数据库管理系统是一种可以访问数据库中数据的计算机程序。

DBMS 使我们有能力在数据库中提取、修改或者存贮信息。

不同的 DBMS 提供不同的函数供查询、提交以及修改数据。

       RDBMS- 关系数据库管理系统(Relational Database Management System)

关系数据库管理系统 (RDBMS) 也是一种数据库管理系统,其数据库是根据数据间的关系来组织和访问数据的。

20 世纪 70 年代初,IBM 公司发明了 RDBMS。

RDBMS 是 SQL 的基础,也是所有现代数据库系统诸如 Oracle、SQL Server、IBMDB2、Sybase、MySQL 以及 Microsoft Access 的基础。

 

SQL 函数

       SELECTFUNCTION(列) FROM 表

       函数的类型    :    Aggregate函数

                                   Scalar函数

     合计函数(聚合函数)

              Aggregatefunctions函数的操作是面向一系列的值,并返回一个单一的值

              SQLAVG()            返回列的平均值,NULL值不计算在其中。

              SQL COUNT()        返回匹配指定条件的行数 COUNT(*)或者COUNT(1) 后者的效率稍高

              SQLFIRST()           获取返回字段中第一个记录的值

              SQLLAST()            获取返回字段中最后一个记录的值

              SQLMAX()            返回一列中的最大值。NULL值不包含在其中。

              SQLMIN()             返回一列中的最小值,NULL值不包括在计算中。

              SQLSUM()            返回数值列的总值。

              SQLGROUP BY     用于结合合计函数,根据一个或者多个列对结果及分组

              SQLHAVING        WHERE关键词不能在聚合函数中使用,只能用HAVING

              SQLUCASE()         把结果中的字段的值变成大写。

              SQLLCASE()         把结果中的字段变成小写。

              SQLMID()             从文本字段中提取字段。

                                          SELECTMID(City,1,3) as SmallCity FROM Persons 获取所有city的1-3个字母

              SQLLEN()             返回文本字段中的值的长度。

              SQLROUND()       把数值字段舍入未指定的小数位数。

              SQLNOW()           返回当前的日期和时间

              SQLFORMAT()      对当前的显示字段进行格式化

                                          FORMAT(column_name,format)  column_name 列名  FORMAT规定格式

你可能感兴趣的:(SQL 文档快查手册)