一、增删改查

1,查询 SELECT(查询表的所有信息)

执行后,结果被存储在一个结果表中(称为结果集)

SELECT 列名称(或*) FROM 表名称 ---------*代表全部列

2,插入 INSERT(在表中插入新的行)

INSERT INTO 表名称 VALUES (值1, 值2,....) ---------值与列相对应

也可以指定所要插入数据的列:

INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....) ---------未包括列的值为空

3,修改 UPDATE(修改表中某一列的值)

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 ---------修改多列,列名称=新值,列名称=新值,...

4,删除 DELETE(删除表中的某一行)

DELETE FROM 表名称 WHERE 列名称 = 值 ----------不加where条件,会删除所有行数据,慎重使用

二、常用辅助查询

1,DISTINCT 语句(测试中,适用于去除重复值,并返回列)

SELECT DISTINCT 列名称 FROM 表名称 ----------针对多列重复,列名称,列名称,...

2,WHERE 语句(测试中,适用于有条件选取语句)

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

部分运算操作符如下:

操作符:描述=:等于<>:不等于>:大于=:大于等于<=:小于等级

BETWEEN:在某个范围内

LIKE:模糊查询

3,AND 和 OR 语句(测试中,适用于结合多个where条件)

AND 显示多个条件都满足的记录,而OR 只要有一个条件满足则显示。

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 AND/OR 列 运算符 值 ---------可用圆括号来组成复杂的表达式

4,LIKE与通配符(测试中,适用于查找特定的某一值)

SELECT 列名称 FROM 表名称 WHERE 列 LIKE 值 -----------如查找姓氏为李的所有记录,where name like '李%'

值可以使用一下通配符组成:

通配符描述

%

替代一个或多个字符

_

仅替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符

5,IN与BETWEEN操作符(测试中,in适用于设置多个值,between适用于值的区间)

SELECT 列名称 FROM 表名称 WHERE 列 IN(值1,值2,...)SELECT 列名称 FROM 表名称 WHERE 列 BETWEEN 值1 AND 值2 ---------这里值1值2可以使数字,文本,日期,不同的数据库可能包含值1值2,也可能不包含

6,ORDER BY 语句(测试中,适用于对结果集进行排序)

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 ORDER BY 列名称 (DESC/ASC)   ---------多列排序,以逗号隔开,并以第一个为准,第一个有重复地再看第二个,以此类推

7,TOP, LIMIT, ROWNUM 子句(用于规定要返回的记录的数目)

SELECT *FROM 表名 LIMIT 5; -----------不是所有数据库都支持TOP、ROWNUM,例如MySQL支持limit。

三、函数

1,COUNT()函数- 返回行数

SELECT COUNT(列名) FROM 表名 ---------也可以COUNT(*)代表所有行

SELECT COUNT(列名) AS 自定义列名 FROM 表名 --------如果要重命名计数的行

2,AVG()函数 - 返回平均值

3,FIRST()函数 - 返回第一个记录的值

4,LAST()函数- 返回最后一个记录的值

5,MAX()函数 - 返回最大值

6,MIN()函数 - 返回最小值

7,SUM()函数 - 返回总和

8,Group By函数(测试中,根据一列或多列对结果集进行分组)

SELECT 列名, 聚合函数(列名) FROM 表名 ---------这函数一般是合计函数

WHERE列名 操作符 值GROUP BY 列名 -------这个列名要与第一个列名一致,数量也一致

9,Having函数(测试中,通常与GROUP BY语句联合使用,过滤由GROUP BY语句返回的记录集)

SELECT 列名, 函数(列名) FROM表名WHERE列名 操作符 值GROUP BY列名HAVING 聚合函数(列名) 操作符 值 --------这里WHERE就不能代替HAVING

10,NOW() 函数

SELECT NOW() FROM 表名;

四、表连接

1,Inner Join内连接(测试中,与join相同,交叉捆绑多个表的数据,如果表中有至少一个匹配,则返回行)

SELECT 表A.列名, 表B.列名 FROM 表A --------需要在列前加上对应的表名

INNER JOIN表BON 表A.主键 = 表B.主键

2,Left Join左连接(左边表的所有数据都显示出来,右边的表数据只显示共同有的那部分)

SELECT 表A.列名, 表B.列名 FROM表ALEFT JOIN表BON 表A.主键 = 表B.主键

3,Right Join右连接(与左连接相反)

4,full join 全连接(查询出左表和右表所有数据,但是去除两表的重复数据)

5,Union(合并两个或多个 SELECT 语句的结果集)

多个select语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同。

SELECT 列名 FROM 表A -------默认显示唯一值,需要显示重复的值,用 UNION ALL

UNION

SELECT 列名 FROM 表B