DML语言
数据操作语言:
插入:insert
修改: update
删除:delete
显示表的结构:desc 表名;
一、插入语句
插入语句方式一:
语法:
insert into 表名(列名,····)values(值1,·····);
1.插入的值的类型要与列的类型一致或兼容
2.不可以为null的列必须插入值,可以为null的列如何插入值?
方式一:列名写着,后面写null
方式二:列名和其后面内容一同省略
3.列顺序可以调换
4.列数和值的个数必须一致
5.可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
插入语句方式二:
语法:insert into 表名 set 列名=值,列名=值,,,
INSERT INTO `beauty`
SET `id`=17,`name`='刘涛',`phone`='879456'
比较:
1.方式一支持插入多行,方式二不支持
2.方式一支持子查询,方式二不支持
二、修改语句
1.修改单表的记录
语法:
update 表名
set 列=新值,列=新值,··········
where 筛选条件;
#修改单表的记录
#修改`beauty`表中姓唐的女神的电话为13899888899
UPDATE `beauty` SET `phone`='13899888899'
WHERE `name` LIKE '唐%';
#修改`boys`表中`id`为2的名称为张飞,魅力值10
UPDATE `boys` SET `boyName`='张飞',`userCP`=10
WHERE`id`=2;
2.修改多表的记录
sql92语法:
update 表1 别名, 表2 别名
set 列=值,·······
where 连接条件
and 筛选条件
sql99语法:
update 表1 别名
inner||left||right join 表2 别名
on 连接条件
set 列=值,·············
where 筛选条件;
三、删除语句
方式一:delete
1.单表的删除
语法:delete from 表名 where 筛选条件;
2.多表的删除
sql92语法:
delete 表1的别名,表2的别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件
sql99语法:
delete 表1的别名,表2的别名
from 表1 别名
inner | left |right join 表2 别名 on 连接条件
where 筛选条件;
方式二:truncate
语法:truncate table 表名;
(不允许添加筛选条件,相当于清空语句)
区别:
1.delete可以添加where筛选条件,truncate不能添加
2.truncate删除,效率高一丢丢
3.假如要删除的表中有自增长列,
如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长列的值从1开始
4.truncate删除没有返回值,delete删除有返回值
5.truncate删除不能回滚,delete删除可以回滚。