DML语言:数据库操作语言 插入: insert 修改: update 删除: delete
语法:
insert into 表名(列名,...) values(值1,...); 插入值的类型要与列的类型一致或者兼容 insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id) values(13,"唐艺昕","女","1990-4-23","189888888",null,2); 不可以为null的列必须插入值,可以为null的列如何插入值? 方式一: insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id) values(13,"唐艺昕","女","1990-4-23","189888888",null,2); 方式二: insert into beauty(id,name,sex,borndate,phone,boyfriend_id) values(14,"董璇","女","1980-4-40","1382888888",3); 列的顺序是否可以调换(可以) insert into beauty(name,sex,id,phone) values("蒋欣","女",16,"110"); 列数和值的个数必须一致 insert into beauty(name,sex,id,phone) values("关晓彤","女") //会报错,列数和值的个数不一致 可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致 insert into beauty values(18,"张飞","男",null,"119",null,null);语法:
insert into 表名 set 列名=值,列名=值,... insert into beauty set id=19,name="刘涛",phone="9999";两种插入方式比较:
方式一支持插入多行,方式二不支持 insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id) values(24,"唐艺昕1","女","1990-4-23","189888888",null,2), (25,"唐艺昕1","女","1990-4-23","189888888",null,2), (26,"唐艺昕2","女","1990-4-23","189888888",null,2); 方式一支持子查询,方式二不支持 insert into beauty(id,name,phone) select 26,"宋茜","118098641"; insert into beauty(id,name,phone) select id,boyname,"123456" from boys where id < 3;① delete 可以加 where 筛选条件 ,truncate 不能加 ② truncate 删除效率更高(没有筛选条件) ③ 如果要删除的表中有自增长列 : 用delete 删除后,再插入数据,自增长列的值从断点开始;而 truncate删除后,再插入数据,自增长列的值从1 开始 ④ truncate 删除后没有返回值,delete删除有返回值 ⑤ truncate 删除不能回滚,delete 删除可以回滚
