MySQL 实验 5:表数据的增、删、改操作

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);
-- 说明:1values 后面括号中的数据必须与表中列的顺序对应。即:【数据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)

上一篇:Stable Diffusion零基础学习


下一篇:讯飞星火编排创建智能体学习(四):网页读取