【MySQL基础】03数据操作语言DML
目录
一、数据操作语言DML:是针对数据表行记录的增删修改。
二、插入数据
1、指定字段名插入:
insert into 表名(字段名1[,字段名2,...]) values(字段值 1[,字段值 2,...]);
2、不指定字段名插入:
insert into 表名 values(字段值 1[,字段值 2,...]);
【注意】需要为表中每一个字段指定值,且值的顺序须和数据表中字段顺序相同
3、批量导入数据:(路径中不能有中文,并且要将‘\’改为‘\\’或‘/’)
load data infile ‘文件路径.csv’into table 表名 [ fields terminated by ‘,' ignore 1 lines];
【注意】
- [ fields terminated by ',' ]:意思是字段值以','分隔。
- [ignore 1 lines]:忽略第一行,从第二行开始批量导入。
- Mysql 5.0版本可直接导入,而8.0版本后需要先找到mysql的安全路径,将文件复制到安全路径下,再执行该命令。找安全路径语句:show variables like ‘%secure%’;
三、更新数据
1、update 表名 set 字段名1=字段值1[, 字段名2=字段值2[,…]][ where 更新条件];
【注意】
- 更新删除后面跟上where则限定符合某条件的记录才更新数据。 如果没有where字段,则每行记录都要修改,那么会触发数据库安全权限设定,那么可以执行“setsql_safe_updates=0;”命令解开权限。
四、删除数据
- delete from 表名[ where 删除条件];
- truncate 表名;(与“delete from 表名;”一样,都是删除表中全部数据,保留表结构)
【注意】delete和truncate的区别:
- delete可以添加where子句删除表中部分数据,truncate只能删除表中全部数据;
- delete是一行一行的删除数据,truncate直接把表删除(drop table)然后再创建一张新表(create table),执行速度比delete快。
- “drop table 表;”是DDL语言,直接把表删除,不单删除数据,还会删除表结构。Truncate 和 delete都会保留表结构。