来源:我的博客站 OceanicKang |《MySQL 常用语句》
###插入数据
####1.插入数据
> INSERT INTO <数据表名>(id, 字段名1, 字段名2, ...) VALUES(NULL, 字段值1, 字段值2, ...), (NULL, 字段值1, 字段值2, ...), ...;
# 插入多条数据
# 主键ID为自增字段,直接NULL即可
####2.插入检索出来的数据
> INSERT INTO <数据表名1>(字段名3, 字段名4, ...) SELECT 字段名1, 字段名2, ... FROM <数据表名2>;
# 从 <数据表2> 查询 <字段名1> <字段名2> <...> 的值插入 <数据表1> 的 <字段名3> <字段名4> <...>
###更新数据
> UPDATE <数据表名> SET 字段名=新值 [WHERE 条件];
# 不加条件则更新整个数据表数据
###删除数据
> DELETE FROM <数据表名> [WHERE 条件];
# 不加条件则删除整张表的数据,但自增字段不会重新开始
> TRUNCATE TABLE <数据表名>;
# 清空数据表,自增字段重新从1开始
###查询数据
> SELECT <字段名> FROM <数据表名>;
> SELECT * FROM <数据表名>;
###条件控制
####1.WHERE 语句
> SELECT * FROM <数据表名> WHERE id=3;
# 从数据表查询id=3的所有字段数据
####2.HAVING 语句
> SELECT * FROM <数据表名> GROUP BY <字段名> HAVING <条件>;
# 根据 <字段名> 分组并筛选出达到 <条件> 的组
# 举个例子:有数据表user
+----------------------+
|user_name| dept| score|
+----------------------+
|zhangsan |sales| 90|
|lisi |sales| 90|
|wangfei |IT | 89|
|leifeng |IT | 95|
|gouzi |hr | 92|
+----------------------+
> SELECT dept, COUNT(user_name) count_tmp FROM user WHERE score>89 GROUP BY dept HAVING count_tmp>1;
# 先查出 score>89 的员工纪录
# 根据 dept 分组(GROUP BY dept)
# 再用 count 聚合函数统计部门人数
# 最后筛选出部门总人数大于1人的部门