SQL常用语句总结整理

1、创建数据库

CREATE DATABASE 库名

2、删除数据库

DROP DATABASE 库名

3、创建新表

CREATE TABLE 表名(
列名1 数据类型1 [not null] [primary key],
列名2 数据类型2 [not null],..
)

4、根据已有表创建表

CREATE TABLE 表名 AS
SELECT 
列名1,
列名2,
···
FROM 旧表

5、删除新表

DROP TABLE 表名

6、增加一列

ALTER TABLE 表名 ADD COLUMN 列名 数据类型

7、添加主键

ALTER TABLE 表名 ADD PRIMARY KEY(列名)

8、删除主键

ALTER TABLE 表名 DROP PRIMARY KEY(列名)

9、创建索引

CREATE [UNIQUE] INDEX 索引名称 ON 表名(列名)

10、删除索引

DROP INDEX 索引名称

11、几个简单SQL语句

--选择:
SELECT * FEOM 表1 WHERE 范围
--插入:
INSERT INTO 表1(字段1,字段2) VALUES(值1,值2)
--删除:
DELETE FROM 表1 WHERE 范围
--更新:
UPDATE 表1 SET 字段1=值1 WHERE 范围
--查找:
SELECT * FROM 表1 WHERE 字段1 LIKE ’%值1%’

--排序:
SELECT * FROM 表1 ORDER BY 字段1,字段2[DESC]
--总数:
SELECT COUNT AS 数据总条数 FROM 表1
--求和:
SELECT SUM(字段1) AS 总和 FROM 表1
--平均:
SELECT AVG(字段1) AS 平均 from 表1
--最大:
SELECT MAX(字段1) AS 最大值 FROM 表1
--最小:
SELECT MIN(字段1) AS 最小值 FROM 表1

12、几个高级查询运算关键词

UNION 运算符 :
UNION 运算符通过组合其他两个结果表,并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

EXCEPT 运算符 :
EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

INTERSECT 运算符 :
INTERSECT运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 
注:使用运算词的几个查询结果行必须是一致的。

13、两表连接

LEFT (OUTER) JOIN:

SELECT
a.a,
a.b,
a.c,
b.c,
b.d,
b.f
FROM 表1 a
LEFT OUTER JOIN 表2 b
ON a.a = b.c

RIGHT (OUTER) JOIN:

SELECT
a.a,
a.b,
a.c,
b.c,
b.d,
b.f
FROM 表1 a
RIGHT OUTER JOIN 表2 b
ON a.a = b.c

INNER JOIN: 

SELECT
a.a,
a.b,
a.c,
b.c,
b.d,
b.f
FROM 表1 a
INNER JOIN 表2 b
ON a.a = b.c
或者:
SELECT
a.a,
a.b,
a.c,
b.c,
b.d,
b.f
FROM 表1 a,表2 b WHERE a.a = b.c

 14、GROUP BY

对列进行分组,常与聚合函数(COUNT,SUM,MAX,MIN,AVG)一起使用

注意:

  • 在分组时:不能以text,ntext,image类型的字段作为分组依据

  • 在SELECT统计函数中的字段,不能和普通的字段放在一起;

15、子查询

SELECT a,b,c FROM a WHERE a IN (SELECT a FROM b )
或者:
SELECT a,b,c FROM a WHERE a IN (1,2,3)

16、两张表关联,删除主表中已经在副表中没有的信息

DELETE FROM 表1
WHERE NOT EXISTS
(SELECT * FROM 表2 WHERE 表1.字段1=表2.字段2)

17、包括所有在 Table A中但不在 Table B和Table C中的行并消除所有重复行而派生出一个结果表

(SELECT a FROM Table A)
EXCEPT
(SELECT a FROM Table B)
EXCEPT
(SELECT a FROM Table C)

18、删除重复记录

--方法一
DELETE FROM 表名 WHERE id NOT IN (SELECT MAX(id) FROM 表名 GROUP BY 字段1,字段2,...)
--方法二
SELECT DISTINCT * INTO temp FROM 表名
DELETE FROM 表名
INSERT INTO 表名 SELECT * FROM temp

19、添加自增列

--添加一个自增列
ALTER TABLE 表名 ADD id INT IDENTITY(1,1)

20、删除列

ALTER TABLE 表名 DROP COLUMN 列名

你可能感兴趣的:(SQL基础,数据处理&分析,sql,数据库,mysql)