MySQL 实验 5:表数据的增、删、改操作
目录
- MySQL 实验 5:表数据的增、删、改操作
- 一、添加数据行
- 二、删除数据行
- 三、修改表中的数据
MySQL 数据表的数据操作包括:添加数据行(增:使用 insert 命令)、删除数据行(删:使用 delete from 命令)、修改数据(改:使用 update 命令)。下面的所有例子均基于表 emp,表结构如下:
mysql> desc emp;
+---------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| s_name | char(30) | YES | | NULL | |
| gender | char(2) | YES | | NULL | |
| birth | datetime | YES | | NULL | |
| salary | decimal(10,2) | YES | | NULL | |
| mobile | char(11) | YES | | NULL | |
| address | varchar(200) | YES | | NULL | |
+---------+---------------+------+-----+---------+-------+
7 rows in set (0.01 sec)
一、添加数据行
使用 insert into 命令可以往数据表中添加一行或多行数据。语法如下:
-- 一条 insert into 命令插入一行数据
insert into table_name values(数据1, 数据2, ..., 数据n);
-- 说明:
(1)values 后面括号中的数据必须与表中列的顺序对应。即:【数据1】插入到表中的第一列,【数据2】插入到表中的第二列...,以此类推。
(2)各种类型的数据格式为:
文本类型:用单引号括起来。
数值类型:只能包含数字、小数点与正负号。不需要使用单引号括起来。
日期时间类型:使用单引号括起来。格式为 'yyyy-mm-dd' 或 'yyyy-mm-dd hh:mm:ss'
-- 一条 insert into 命令插入一行数据
insert into table_name
values(数据1, 数据2, ..., 数据n),
(数据1, 数据2, ..., 数据n),
...;
例如:
-- 一次插入一行数据
mysql> insert into emp values(1101,'李红','女','1999-12-3',4500,'13673515544','河南省新乡市');
Query OK, 1 row affected (0.00 sec)
-- 一次插入多行数据
insert into emp
values(1102,'张静静','女','1994-6-30',5300,'13673516644','河南省新乡市'),
(1103,'王刚','男','1988-10-8',5700,'13573566622','河南省郑州市'),
(1104,'李红英','女','2001-8-26',3800,'13673513456','河南省郑州市');
mysql> insert into emp
-> values(1102,'张静静','女','1994-6-30',5300,'13673516644','河南省新乡市'),
-> (1103,'王刚','男','1988-10-8',5700,'13573566622','河南省郑州市'),
-> (1104,'李红英','女','2001-8-26',3800,'13673513456','河南省郑州市');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
-- 查看表中的数据
mysql> select * from emp;
+------+--------+--------+---------------------+---------+-------------+--------------+
| id | s_name | gender | birth | salary | mobile | address |
+------+--------+--------+---------------------+---------+-------------+--------------+
| 1101 | 李红 | 女 | 1999-12-03 00:00:00 | 4500.00 | 13673515544 | 河南省新乡市 |
| 1102 | 张静静 | 女 | 1994-06-30 00:00:00 | 5300.00 | 13673516644 | 河南省新乡市 |
| 1103 | 王刚 | 男 | 1988-10-08 00:00:00 | 5700.00 | 13573566622 | 河南省郑州市 |
| 1104 | 李红英 | 女 | 2001-08-26 00:00:00 | 3800.00 | 13673513456 | 河南省郑州市 |
+------+--------+--------+---------------------+---------+-------------+--------------+
4 rows in set (0.00 sec)
二、删除数据行
使用 delete from 命令可以删除表中满足给定条件的数据行。语法如下:
delete from table_name where 条件;
例如:
-- 删除性别为男的员工信息
mysql> delete from emp where gender='男';
Query OK, 1 row affected (0.00 sec)
-- 查看表中的数据
mysql> select * from emp;
+------+--------+--------+---------------------+---------+-------------+--------------+
| id | s_name | gender | birth | salary | mobile | address |
+------+--------+--------+---------------------+---------+-------------+--------------+
| 1101 | 李红 | 女 | 1999-12-03 00:00:00 | 4500.00 | 13673515544 | 河南省新乡市 |
| 1102 | 张静静 | 女 | 1994-06-30 00:00:00 | 5300.00 | 13673516644 | 河南省新乡市 |
| 1104 | 李红英 | 女 | 2001-08-26 00:00:00 | 3800.00 | 13673513456 | 河南省郑州市 |
+------+--------+--------+---------------------+---------+-------------+--------------+
3 rows in set (0.00 sec)
三、修改表中的数据
使用 update 可以修改表中的数据。语法如下:
update table_name
set col_name = 表达式
where 条件;
例如:
-- 把 id 为1101 的员工地址修改为:湖北武汉
mysql> update emp set address='湖北武汉' where id=1101;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
-- 把 id 为1104的员工工资修改为 4200
mysql> update emp set salary=4200 where id=1104;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
-- 把 id 小于1104的员工工资增加10%
mysql> update emp set salary = salary * 1.1 where id < 1104;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
-- 查看emp表中的数据
mysql> select * from emp;
+------+--------+--------+---------------------+---------+-------------+--------------+
| id | s_name | gender | birth | salary | mobile | address |
+------+--------+--------+---------------------+---------+-------------+--------------+
| 1101 | 李红 | 女 | 1999-12-03 00:00:00 | 4950.00 | 13673515544 | 湖北武汉 |
| 1102 | 张静静 | 女 | 1994-06-30 00:00:00 | 5830.00 | 13673516644 | 河南省新乡市 |
| 1104 | 李红英 | 女 | 2001-08-26 00:00:00 | 4200.00 | 13673513456 | 河南省郑州市 |
+------+--------+--------+---------------------+---------+-------------+--------------+
3 rows in set (0.00 sec)