1 新增数据
1.1 语法一:insert into 表名 values (列1,列2);
要求:
- values中列的数量与表的数量一致
values中列的顺序与表结构一致
列名不用全部列出
- 列名的顺序可以变
-
1.3 语法三:同时插入多个记录
方法一:insert into 表名 values (列1,列2),(列1,列2),(列1,列2);
方法二:insert into 表名(列名1,列名2)values(列值1,列值2),(列值1,列值2),(列值1,列值2);
1.4 插入默认值
1.5 插入null
1.6 插入自增列的值
可不可以指定值?可以,只要新值不重复即可。
用default代替,例如:insert into student values(default,”卢布”,”男”)
1.7 从其他表拿数据来插入
方法一:insert into 表名 select 列名 from 表名;
- 要求:
- 查找到的列必须和insert 的表列一 一对应,且顺序一致。
- 数据类型要一致
- 要求:
方法二:insert into 表名(列名1,列名2) select (列名1,列名2) from 表名;
例子:insert into student(name,sex) select name,sex from student where snum=4
2 修改数据:
2.1 语法 : update 表名 set 列名1=新值,列名2=新值 where 条件;
2.2 更新为默认值
2.3 更新为null
2.4 如何把值变大?例如年龄加1 ;
- 新值处可以有数学计算,
- 可以使用函数。
-
3 删除数据:
3.1 删除指定条件数据(记录)
-
3.2 清空表
方法一:truncate table 表名
- truncate 无法应用于外键主表上,truncate 能重置自动增长为1,truncate 清除大表快
- 方法二:delete from 表名
4 查询结构:
4.1 语法:
select [distinct]列名 from 表名 [where 条件] [group by 列名[having 子句]] [order by 列名[asc|desc]] [limit 限制条数]4.2 select(展示列):
- 可以是列名
- 可以是*,表示所有列
- 函数(sum,avg,max,min,count)—-NULL 不进入计算 ( 可以用ifnull(null,0)函数转化)
- 可以用 as 或空格 给列名取个别名
- 列上可以做计算
4.3 distinct(去除重复)
- 如果后面是多个列名,是联合在一起去除重复。
-
4.4 from(数据源):
数据源可以是如下一个或多个
- ① 1个表
- ②多个表
- ③视图
- ④子查询
- ⑤join.. on …(inner join:内连接 , left join左连接 ,right join 连接)
- 左连接:左连接以左表为主如果连接条件不成立,显示左表数据,右表数据为null。
如何关联多个表
例子:查询 王小的成绩 , 用连接查询?
select * from student a left join score b on a.sno=b.sno left join course c on b.cno=c.cno where sname=”王小”;
4.5 where 条件
- 比较大小: > ,>=,=,<,<= ,!=(<>)
- BETWEEN a and b : 范围包含a和b
- and , or , NOT
- in ,not in
- 可以有子查询
- 如何判断是null :is null , is not null
- 字符串的模糊匹配: like
- 根据填写列进行分组
- 如果指定了多列,联合一起分组
- 一般和聚合函数一起使用 (sum、count、avg、max、min)
如果查询除了分组字段外的其他列,可能不准确。
例子:查询其他非分组字段可能有错误,下面查询语句中sname列就有问题。<br /> select experience,max(age),sname from student GROUP by experience
4.7 having:
作用:在group by 之后筛选结果
与where 的区别:where 是在分组之前筛选, having 是在分组之后。
4.8 order by :
作用:对查询结果进行排序
使用:可以根据一列或多列排序
例子: order by age desc **, **score asc : 先根据age 降序排列,然后再根据score 顺序排序。
4.9 limit:
作用:限制查询结果条数
- 使用:
- limit 3 (表示取前3条);
- limit 3 ,4 —表示取第4,第5,第6,第7条数据。
5 提升题目(了解):
5.1 插入数据时类型不一致,插入失败。

解决:
INSERT INTO book VALUES(DEFAULT,”西游记全集”,”吴承恩”,”中国历史出版色”,”文学”,REPLACE(“1,456.12”,”,”,””),115,20)5.2 更新字段可能需要子查询
5.3 将一个表的字段值更新到另一张表
5.4 删除满足子查询结果数据的操作

5.5 查询中用到了非分组字段,查询结果可能有错



