DML语句
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。
增加(插入):insert
修改:updaate
删除:delete
1:添加insert
insert into 表名(字段名1,字段名2,……) values (值1,值2,……) #指定字段添加值,字段1对应值1
insert into 表名 values (值1,值2,……) #给全部字段添加数据,即值1自动对应第一个字段……
#批量添加多条数据
insert into 表名 (字段名1,字段名2……) values (值1,值2……),(值1,值2……),……
insert into 表名 values (值1,值2……),(值1,值2……),……
- *注意
- 插入数据时,指定的字段顺序要与值的顺序一一对应
- 字符串和日期类型的数据应该包含在引号中
- 插入的数据大小,应该在字段的规定范围内
示例:添加数据到表
mysql> insert into employ(id,worknomber,name,gender,age,idcard,entydate) values (1,'1','ittest','男','20','12345678912345678x','2020-01-01'); #添加内容,指定字段添加
Query OK, 1 row affected (0.01 sec)
mysql> select * from employ; #查看表的内容
mysql> insert into employ values (2,'2','张三','男','18','987654321987654321','2022-01-01'); #不指定字段,要与表的字段一一对应,添加所有字段内容
Query OK, 1 row affected (0.01 sec)
一次性插入多条数据
mysql> insert into employ values (3,'3','李四','男','30','98765432198765434a','2021-01-01'),(4,'4','王五','女','24','123456789987654328','2020-11-01'); #第一条数据和第二条数据之间使用,分隔,需要与表的字段一一对应
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
2:修改update
update 表名 set 字段名1=值1,字段名2=值2,…… [where 条件]; #where 符合条件的修改,不存在where则修改整个表
示例:修改id为1的name为赵六
mysql> update employ set name='赵六' where id=1; #修改字段信息
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
修改多个字段
mysql> update employ set name='小明',gender='女' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
修改整个表,不携带where条件则修改整个表
mysql> update employ set entydate='2008-01-01';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0
3:删除数据delete
delete from 表名 [where 条件]
- 注意
- delete语句的条件可以有,也可以没有,如果没有条件,则删除整张表的所有数据
- delete的语句不能删除某一个字段的值(可以使用update来删除)
案例:删除表中gender为女的员工
mysql> delete from employ where gender='女'; #添加where条件则表示只删除匹配到的信息
Query OK, 2 rows affected (0.01 sec)
删除表中的所有数据
mysql> delete from employ; #不添加where条件则表示删除整个表
Query OK, 2 rows affected (0.03 sec)
所有数据
mysql> delete from employ; #不添加where条件则表示删除整个表
Query OK, 2 rows affected (0.03 sec)