DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据); INSERT、 UPDATE、 DELETE
DML是对表中的数据进行增、删、改的操作。
1、INSERT语句
? 用于向表中插入新记录
语法:
示例
# 无需指定列名
mysql> insert into user values (1,"张三",25,"男");
Query OK, 1 row affected (0.00 sec)
# 查询数据
mysql> select * from user;
+------+--------+------+--------+
| id | name | age | gender |
+------+--------+------+--------+
| 1 | 张三 | 25 | 男 |
+------+--------+------+--------+
1 row in set (0.01 sec)
# 插入多条数据
mysql> insert into user values (3,"赵武",25,"男"),(4,"小六",20,"男");
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from user;
+------+--------+------+--------+
| id | name | age | gender |
+------+--------+------+--------+
| 1 | 张三 | 25 | 女 |
| 2 | 李四 | 30 | 女 |
| 3 | 赵武 | 25 | 男 |
| 4 | 小六 | 20 | 男 |
+------+--------+------+--------+
4 rows in set (0.00 sec)
# 指定具体列名
mysql> insert into user (id,name) values (2,"李四");
Query OK, 1 row affected (0.00 sec)
# 查询数据
mysql> select * from user;
+------+--------+------+--------+
| id | name | age | gender |
+------+--------+------+--------+
| 1 | 张三 | 25 | 男 |
| 2 | 李四 | NULL | NULL |
+------+--------+------+--------+
2 rows in set (0.00 sec)
2、UPDATE语句
? 用于更新表中的记录
语法
示例
# 无条件修改所有数据
mysql> update user set gender="女";
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> select * from user;
+------+--------+------+--------+
| id | name | age | gender |
+------+--------+------+--------+
| 1 | 张三 | 25 | 女 |
| 2 | 李四 | NULL | 女 |
+------+--------+------+--------+
2 rows in set (0.00 sec)
# 带条件修改数据
mysql> update user set age=30 where id=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from user;
+------+--------+------+--------+
| id | name | age | gender |
+------+--------+------+--------+
| 1 | 张三 | 25 | 女 |
| 2 | 李四 | 30 | 女 |
+------+--------+------+--------+
2 rows in set (0.01 sec)
3、DELETE语句
? 用于删除表中的记录
语法
mysql> delete from user where name="赵武";
Query OK, 1 row affected (0.01 sec)
mysql> select * from user;
+------+--------+------+--------+
| id | name | age | gender |
+------+--------+------+--------+
| 1 | 张三 | 25 | 女 |
| 2 | 李四 | 30 | 女 |
| 4 | 小六 | 20 | 男 |
+------+--------+------+--------+
3 rows in set (0.00 sec)
4、TRUNCATE语句
? truncate的作用是清空表或者说是截断表,只能作用于表
语法
truncate与drop,delete的对比
truncate使用场景及注意事项
? 表数据完全不需要时可以用truncate。如果想删除部分数据用delete,注意带上where子句;如果想删除表,当然用drop;如果想保留表而将所有数据删除且和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,还是用delete;如果是整理表内部的碎片,可以用truncate然后再重新插入数据。
原文:https://www.cnblogs.com/jiangguoyou/p/15111754.html