一,DML:数据操作语言
查询 | SELECT column FROM table | 唯一: DISTINCT column | 排序:ORDER BY column [ ASC / DESC ] | Top结果: MySQL:LIMIT 10 Oracle:WHERE ROWNUM <= 10 Others:TOP 10 [PERCENT] column |
插入 | INSERT INTO table (column1, column2,...) VALUES (value1, value2,....) | |||
更新 | UPDATE table SET column = value | |||
删除 | DELETE FROM table |
1,过滤数据:WHERE
WHERE column 运算符 value
运算符:
数字 | =, !=, >, <, >=, <= , [NOT] IN(1,2), [NOT]BETWEEN 1 AND 3 |
字符 | =, !=, [NOT] LIKE, [NOT] IN('a','b'), [NOT]BETWEEN 'a'AND 'c' |
LIKE通配符:
代替一个字符 | _ |
代替一个或多个字符 | % |
字符列的任意字符 | [bcd] |
不在字符列的任意字符 | [!bcd] 或 [^bcd] |
WHERE条件组合:AND,OR
2,数据链接:表链接
WHERE 链接:FROM table1, table2 WHERE table1.column = table2.column
JOIN 链接:FROM table1 [INNER,LEFT,RIGHT,FULL] JOIN table2 ON table1.column = table2.column
3,链接结果:UNION
UNION:去除重复结果;ALL UNION:不去除重复结果
SQL Statement 1 UNION ALL SQL Statement 2
4,统计结果:
平均值 | AVG(column) |
最小值 | MIN(column) |
最大值 | MAX(column) |
总和 | SUM(column) |
总数 | COUNT(column) |
分组统计:GROUP BY column
统计结果过滤:HAVING function(column) op value
二,DDL:数据定义语言
创建数据库 | CREATE DATABASE database_name |
创建表 | CREATE TABLE table(column1 数据类型 约束,column2 数据类型 约束, ....) |
修改表 | ALTER TABLE table ADD column 数据类型/ DROP COLUMN column /ALTER COLUMN column 数据类型 |
1,数据类型
integer(size) int(size) smallint(size) tinyint(size) | 整数。size是最大位数。 |
decimal(size,d) numeric(size,d) | 小数。 size 是整数最大位数。d 是小数最大位数。 |
char(size) | 固定长度字符串。 size是字符串的长度。 |
varchar(size) | 可变长度的字符串。 size是字符串的最大长度。 |
date(yyyymmdd) | 日期 |
2,约束
非空 | NOT NULL |
唯一 | UNIQUE |
主键(非空唯一且每张表只有一个) | PRIMARY KEY |
外键(只能存入引用表中列中已有的值) | FOREIGN KEY REFERENCES table(column) |
约束 | CHECK(column>0) |
默认值 | DEFAULT 0 |
自增长 | AUTO_INCREMENT |