文章目录
6、编辑数据
数据的编辑包括修改各个列的数据、删除或复制记录等操作
6.1、更新记录
更新记录使用的关键字是
UPDATE
,使用这个关键字,我们可以进行记录的修改。
6.1.1、更新记录的基本使用方法:
使用的更新记录的语法如下所示:
update TableName set ListName=Value;
这个是更新的基本语法的使用。我们可以在后面在加上用于提取的操作。使用where
关键字来进行操作。
6.1.2、更具筛选的内容来更新记录的使用方法:
使用的语法如下:
update TableName set ListName=Value where condition;
也可以使用:order by
和limit
来进行筛选的操作:
update TableName set ListName=Value order by listname limit n;
6.1.3、实际的使用操作:
MySQL [users]> select * from user_1;
+-------+-------+-------+
| empid | sales | month |
+-------+-------+-------+
| A103 | 101 | 4 |
| A102 | 54 | 5 |
| A104 | 181 | 4 |
| A101 | 184 | 4 |
| A103 | 17 | 5 |
| A101 | 300 | 5 |
| A102 | 205 | 6 |
| A104 | 93 | 5 |
| A103 | 12 | 6 |
| A107 | 87 | 6 |
| A107 | 87 | NULL |
+-------+-------+-------+
11 rows in set (0.000 sec)
MySQL [users]> alter table user_1 add remark varchar(10);
Query OK, 0 rows affected (0.012 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [users]> update user_1 set remark="无特殊记录";
Query OK, 11 rows affected (0.003 sec)
Rows matched: 11 Changed: 11 Warnings: 0
MySQL [users]> select * from user_1;
+-------+-------+-------+-----------------+
| empid | sales | month | remark |
+-------+-------+-------+-----------------+
| A103 | 101 | 4 | 无特殊记录 |
| A102 | 54 | 5 | 无特殊记录 |
| A104 | 181 | 4 | 无特殊记录 |
| A101 | 184 | 4 | 无特殊记录 |
| A103 | 17 | 5 | 无特殊记录 |
| A101 | 300 | 5 | 无特殊记录 |
| A102 | 205 | 6 | 无特殊记录 |
| A104 | 93 | 5 | 无特殊记录 |
| A103 | 12 | 6 | 无特殊记录 |
| A107 | 87 | 6 | 无特殊记录 |
| A107 | 87 | NULL | 无特殊记录 |
+-------+-------+-------+-----------------+
11 rows in set (0.000 sec)
MySQL [users]>
使用order by
的使用方式:
MySQL [users]> update user_1 set remark="前三甲" order by sales desc limit 3;
Query OK, 3 rows affected (0.003 sec)
Rows matched: 3 Changed: 3 Warnings: 0
MySQL [users]> select * from user_1;
+-------+-------+-------+-----------------+
| empid | sales | month | remark |
+-------+-------+-------+-----------------+
| A103 | 101 | 4 | 无特殊记录 |
| A102 | 54 | 5 | 无特殊记录 |
| A104 | 181 | 4 | 无特殊记录 |
| A101 | 184 | 4 | 前三甲 |
| A103 | 17 | 5 | 无特殊记录 |
| A101 | 300 | 5 | 前三甲 |
| A102 | 205 | 6 | 前三甲 |
| A104 | 93 | 5 | 无特殊记录 |
| A103 | 12 | 6 | 无特殊记录 |
| A107 | 87 | 6 | 无特殊记录 |
| A107 | 87 | NULL | 无特殊记录 |
+-------+-------+-------+-----------------+
11 rows in set (0.000 sec)
MySQL [users]>
使用where
的筛选操作:
MySQL [users]> update user_1 set remark="优秀" where sales>=100 and remark<>"前三甲";
Query OK, 2 rows affected (0.003 sec)
Rows matched: 2 Changed: 2 Warnings: 0
MySQL [users]> select * from user_1;
+-------+-------+-------+-----------------+
| empid | sales | month | remark |
+-------+-------+-------+-----------------+
| A103 | 101 | 4 | 优秀 |
| A102 | 54 | 5 | 无特殊记录 |
| A104 | 181 | 4 | 优秀 |
| A101 | 184 | 4 | 前三甲 |
| A103 | 17 | 5 | 无特殊记录 |
| A101 | 300 | 5 | 前三甲 |
| A102 | 205 | 6 | 前三甲 |
| A104 | 93 | 5 | 无特殊记录 |
| A103 | 12 | 6 | 无特殊记录 |
| A107 | 87 | 6 | 无特殊记录 |
| A107 | 87 | NULL | 无特殊记录 |
+-------+-------+-------+-----------------+
11 rows in set (0.000 sec)
MySQL [users]>
6.2、复制符合条件的记录
复制的操作,使用create table TableName
并将对应的筛选的记录放入到创建的表中。
create
table tb_A101
select *
from
tableName
where
condition;
使用对应的排序操作来进行复制:
create
table
new_tableName
select
*
from tableName
order by
listName
desc
limit n
offset m;
6.3、删除符合条件的记录
基本的删除的操作:
delete from TableName;
使用对应的筛选删除操作:(使用where
来进行筛选)
delete
from TableName
where
condition;
使用对应的order by
来进行筛选:
delete
from TableName
order by
listname
desc
limit m
offset n;