重要SQL命令总结
SELECT 用于从数据库中选取数据
SELECT col1, col2 FROM some_table
SELECT * FROM some_table
DISTINCT 用于去重
SELECT DISTINCT col1 FROM some_table 返回col1中不同的值
WHERE 条件语句
SELECT col1, col2
FROM some_table
WHERE col1.name = some_name 返回col1中符合条件的值
ORDEER BY 用于排序,默认为升序,可以使用DESC进行降序
SELECT col1, col2
FROM some_table
ORDER BY col1 DESC
INSERT INTO 用于插入新数据
第一种方式,不指定插入数据列名,直接插入值
INSERT INTO some_table
VALUES (value1, value2, ...)
第二种方式,指定要插入的列名
INSERT INTO some_table (col1, col3)
VALUES (value1, value3)
DELETE 删除表中的行
DELETE FROM some_table
WHERE some_column = some_value
UPDATE 更新(修改)表中已经存在的记录
UPDATE some_table
SET col1 = val1, col2 = val2, ...
WHERE some_column = some_value
高级用法
JOIN 用于连接多个表
JOIN默认为INNER JOIN 返回两表中都有的数据行
LEFT JOIN 左侧保全(若某行右侧不存在数据,则NULL补全),右侧取符合条件的
RIGHT JOIN 右侧保全,左侧取符合条件的
FULL JOIN 两边全保全
CROSS JOIN 两表笛卡尔积
复制表
INSERT INTO table2
SELECT * FROM table1
NULL值处理
IFNULL(exp1, exp2) exp1为NULL,则返回exp2,否则返回exp1
从第m+1个开始取n个数据
LIMIT n OFFSET m
等价于
LIMIT m, n
SQL编程格式建议
系统关键字大写 字段表名小写 利用空格保持关键字对齐 子查询缩进并对齐 尽量使用 BETWEEN而不是AND 尽量使用IN而不是多个OR 使用CASE语句嵌套处理复杂的逻辑 避免UNION和临时表
SQL执行顺序
1. FROM
2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. HAVING
7. SELECT
8. DISTINCT
9. ORDER
10.LIMIT