DML语言
数据操作语言
插入:INSERT
修改:UPDATE
删除:DELETE
一、插入语句
一、第一种方式语法:
INSERT INTO 表名(列名,...) VALUES(值1,...);
1.插入的值的类型要与列的类型一致或兼容
INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id)
values(14,'唐艺昕','女','1990-4-23','18934568765',NULL,2)
2.不可为null的值必须插入值,可以为null的列如何插入值
方式一:
INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id)
values(14,'唐艺昕','女','1990-4-23','18934568765',NULL,2)
方式二:
INSERT INTO beauty(id,name,sex,phone)
values(16,'娜扎','女','18909990777')
3.列的顺序能调换
INSERT INTO beauty(name,id,sex,phone)
values('张三',17,'女','18909990777')
4.列与值的个数必须一致
INSERT INTO beauty(name,sex,id,phone)
values('关小','女',18,'189')
5.可以省略列名,默认所有列,列的顺序和表顺序一致
INSERT INTO beauty
values(19,'张非','男',null,'189',NULL,null)
二、修改语句:
语法:INSERT INTO 表名
SET 列名=值1,列名=值1,...
第二种方式语法:修改多表记录
语法:
sql92语法
UPDATE 表1 别名 ,表2 别名
SET 列=值,...
WHERE 连接条件
AND 筛选条件
sql99语法
UPDATE 表1 别名 ,表2 别名
INNER |LEFT| RIGHT JOIN| 表2 别名
SET 列=值,...
WHERE 筛选条件
1.修改beauty中姓唐女生电话为13899889988
UPDATE beauty
SET phone =13899889988
WHERE name LIKE'%唐%'
2,修改boys表中id名称为张飞,魅力值10
UPDATE boys
SET boyname='张飞',usercp=10
WHERE id =2
修改多表的记录
案例1:修改张无忌的女朋友手机号为114
UPDATE beauty
SET phone =114
WHERE boyfriend_id =(
SELECT id FROM boys b
WHERE boyName ='张无忌'
)
或者
UPDATE boys bo
INNER JOIN beauty b
ON bo.id=b.boyfriend_id
SET b.phone ='114'
WHERE bo.boyName ='张无忌'
修改没有男朋友的女生的男友编号为2号
UPDATE beauty be
LEFT JOIN boys b ON be.boyfriend_id =b.id
SET be.boyfriend_id =2
WHERE b.id IS null
三、删除语句
语法:
1.DELETE FROM 表名 WHERE 筛选条件
2.TRUNCATE TABLE 表名
二者对比:
1.TRUNCATE删除,效率高于delete
2.假如要删除的表中有自增长列
如果用delete删除,再插入数据,自增长列的值从断点开始
而TRUNCATE删除再插入数据,自增长列的值从1开始
3.TRUNCATE删除无返回值,DELETE删除有返回值
4.TRUNCATE删除不能回滚,DELETE删除可以回滚
1.删除name为hhahah的数据
DELETE FROM beauty
WHERE name= 'hhahah'
2.删除boys表中所有数据
TRUNCATE TABLE boys