2、DML 对数据增删改
DML:对表中的数据增删改
CRUD: Create 增加 Retrieval 检索 Update 更新 Delete 删除
一 插入数据
1)插入全部字段
insert into 表名(field1,field2,field3) value(value1,value2,vaule3);//1 写字段名称
insert into 表名 value(value1,value2,value3.....);//2 不写字段名称
2)插入部分字段、
insert into 表名(field2,field5) value(value2,value5);//其他字段的值用null自动填充了
3)一次插入多行数据
insert into demo values(13,'玉石'),(14,'玛瑙'); //不写字段名 insert into demo (id,name) values (10,'黄金'),(11,'宝石');//写字段名
4)注意事项
1)值与字段必须对应,个数相等,类型相同。 2)值的数据大小必须在字段的长度范围内。 3)值的输入必须用引号包含(建议单引号),数值除外。 4)如果要插入空值,可以不写字段,或者插入NULL。
二 表的复制
1)复制表结构
create table 新表名 like 旧表名;
2)复制表(将查询结果当做表创建出来)
//1 复制一个一摸一样的表 create tabel 新表名 as select * from 表名; //2 按需复制 create table 新表名 as select 需要的字段1,需要的字段2 from 表名; 其中的as可以省略
3)蠕虫复制 (将查询结果插入到一张表中)
insert into 新表名 select * from 旧表名;//插入所有数据
insert into 新表名(字段1,字段2) select 字段1,字段2 from 旧表名;//插入部分字段
小结:执行两次或多次 相同SQL语句 新数据是追加到表中,而不是覆盖表中数据
二 更新数据
没有where条件,整张表数据全部更新(慎重使用)
update 表名 set 字段名1=值,字段名2=值,.... where 更新条件;
三 删除数据
1)delete 删除表
delete from 表名 where 删除条件; //必须带删除条件
2)truncate 截断表
truncate table 表名; truncate 单词本意:截断
3)drop 删除表
drop table demo1;
3)三者的区别
delete:会把删除的操作记录到日志中,以便回滚,不会释放物理或索引所占的空间。不会删除表定义。
truncate:不会记录删除操作,不支持回滚。操作后物理空间恢复到最初,不会删除表定义。(高危操作)
drop:会删除整张表,不支持回滚,释放表占用的空间。表定义也会被删除。(高危操作)
执行效率:drop > truncate > update;

浙公网安备 33010602011771号