SQL学习速记笔记
基础
SELECT (DISTINCT) 列名1,列名2(AS 别名)FROM表名 (AS 别名)
LIMIT 行数 OFFSET 起始行数(LIMIT 起始行数,行数)
WHERE = <> != < <= !< > >= BETWEEN ISNULL | AND OR () IN | LIKE % - [] | + - * / | AVG MAX MIN SUM(前四个聚集函数忽略NULL) COUNT(若传入的参数是*,则不忽略NULL;若传入的参数是列名,则忽略NULL)
GROUP BY
HAVING
ORDER BY (默认为ASC,可设置成DESC);
联结
SELECT 列名1,列名2,列名3 --列来自不同的表
FROM 表名1,表名2
WHERE 条件 --一定要有,否则返回笛卡尔积
或者写成 SELECT 列名1,列名2,列名3
FROM 表名1 INNER JION 表名2
ON 条件
外联结
SELECT
FROM 表名1 LEFT/RIGHT/FULL OUTER JOIN 表名2
ON 条件
组合查询
SELECT 1
UNION(ALL,不过滤重复行)
SELECT 2
ORDER BY (对两个SELECT的结果都排序)
修改表
插入值
INSERT INTO
VALUES
INSERT INTO
SELECT
FROM
SELECT *
INTO 新表
FROM 旧表 (完全复制一张表)
更新表
UPDATE 表名
SET 要修改的列=新值
WHERE 新值所在的行
删除一行
DELETE FROM 表名
WHERE 选择要删除的行
创建表
CREATE TABLE 表名
(列名1 数据类型 NULL/NOR NULL DEFAULT #,
列名2 数据类型 NULL/NOT NULL PRIMARY KEY,
列名3 数据类型 NULL/NOT NULL REFRENCE
)
AFTER TABLE
ADD 列名 数据类型
AFTER TABLE
DROP COLUMN 列名