**前言:在 MySQL 中,增、删、改、查(CRUD)操作是基本的数据库操作,增操作(INSERT)用于插入数据,删操作(DELETE)用于删除数据,改操作(UPDATE)用于更新数据,查操作(SELECT)用于查询数据。**
✨✨✨这里是秋刀鱼不做梦的BLOG
✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客
在正式开始讲解之前,先让我们看一下本文大致的讲解内容:
**1.**增操作
(1)INSERT 操作
——插入数据的基本语法
首先先让我们学习一下插入操作(INSERT),INSERT 语句用于向数据库表中插入新记录,最常见的插入方式是指定列名和对应的值,基本语法如下:
INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);
** 为了能让读者更好的进行理解,这里我们使用一个案例来进一步讲解一下,假设我们有一个员工表
employees
,其结构如下:**
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
job VARCHAR(50)
);
**我们可以使用
INSERT INTO
语句将数据插入表中:**
INSERT INTO employees (id, name, age, job) VALUES (1, 'Alice', 30, 'Engineer');
这样我们就完成了插入操作了!
——插入方式
在了解了插入语句的基本操作之后,在让我们看一下MySQL中的插入方式有哪些:
【1】单行全列插入
** 单行全列插入的方式是最简单的插入方式,在这种方式下,我们不需要指定列名,直接按表的结构顺序提供值,插入的数据会按顺序与表的列匹配。**
例子:
INSERT INTO employees VALUES (2, 'Bob', 28, 'Manager');
解释:在这个示例中,我们没有显式指定列名,
VALUES
中的值会按表中列的顺序插入。
【2】单行指定列插入
** 当我们不希望插入所有列的数据时,可以仅插入部分列,此时需要明确指定要插入的列名,如果未指定的列没有默认值或允许
NULL
,则会插入
NULL
。**
例子:
INSERT INTO employees (id, name) VALUES (3, 'Charlie');
解释:在上面的示例中,只有
id
和
name
被插入,
age
和
job
会默认为
NULL
(假设这两个字段允许
NULL
)。
【3】多行指定列插入
** SQL 允许我们在一个
INSERT
语句中插入多行数据,这样可以减少数据库的交互次数,提高批量插入的效率。**
例子:
INSERT INTO employees (id, name, age, job)
VALUES (4, 'David', 35, 'HR'),
(5, 'Eva', 40, 'CFO'),
(6, 'Frank', 25, 'Engineer');
解释:在此示例中,我们一次插入了三行数据,所有插入的数据列都明确列出。
至此,我们就了解了所有的插入方式了!
2.查操作
(1)SELECT 查询
学习完增操作之后,接下来让我们学习一下查操作,首先先让我们学习SELECT 查询,SELECT 语句是用于从数据库表中查询数据的最基本语句,通过 SELECT,我们可以指定查询的列、排序方式、过滤条件等,从而获取所需的结果。
以下为SELECT查询的常见操作:
【1】查询所有列
——如果希望查询表中的所有列,可以使用 SELECT
*
:
SELECT * FROM employees;
**解释:这条语句将返回
employees
表中的所有列和所有行数据**。
【2】查询指定列
——如果我们只关心某些列的数据,可以在 SELECT 语句中指定列名:
SELECT name, age FROM employees;
** 解释:这样只会返回
name
和
age
两列的数据,而忽略其他列。**
【3】查询字段为表达式
——有时,我们可能需要在查询结果中包含计算结果,例如,可以将员工的年龄加上 5 年,生成一个新的字段。
SELECT name, age, age + 5 AS age_in_5_years FROM employees;
**解释:在这个示例中,我们不仅查询了
name
和
age
列,还通过表达式
age + 5
计算了员工 5 年后的年龄,并给计算结果起了个别名
age_in_5_years
。**
【4】查询结果去重
——使用
DISTINCT
关键字可以去除查询结果中的重复数据,比如,如果我们希望查询所有不重复的职位,可以使用:
SELECT DISTINCT job FROM employees;
** 解释:这条查询会返回所有不同的职位,而不会重复出现相同的职位。**
至此,我们就大致了解了SELECT 查询了!
(2)WHERE 条件查询
在了解完了SELECT 查询之后,在让我们了解一下 WHERE 条件查询。
在 SQL 中,WHERE 子句用于指定筛选查询结果的条件,它可以包含各种**条件运算符、逻辑运算符、范围查询、模糊查询**等,从而精确控制查询结果。
【1】条件运算符
——SQL 提供了多种条件运算符,允许我们精确地过滤结果。
常见的条件运算符包括:
- =:等于
!=
或<>
:不等于>
、<
:大于、小于>=
、<=
:大于等于、小于等于
示例:
SELECT * FROM employees WHERE age > 30;
**解释:这条查询会返回
employees
表中年龄大于 30 岁的所有员工。**
【2】逻辑运算符
——除了基本的条件运算符外,SQL 还支持逻辑运算符来组合多个条件:
AND
:同时满足多个条件OR
:满足任一条件NOT
:取反
示例1:
SELECT * FROM employees WHERE age > 30 AND job = 'Engineer';
** 解释:该查询将返回所有年龄大于 30 且职位为
Engineer
的员工。**
示例2:
SELECT * FROM employees WHERE job = 'Engineer' OR job = 'Manager';
** 解释:这条查询返回所有职位为
Engineer
或
Manager
的员工。**
【3】范围查询
——BETWEEN 运算符用于筛选在指定范围内的值,通常用于数值、日期、时间等字段,它是闭区间,即包括边界值。
示例:
SELECT * FROM employees WHERE age BETWEEN 25 AND 35;
** 解释:这条查询会返回年龄在 25 到 35 岁之间(包括 25 和 35)的所有员工。**
【4】多值查询
——IN 运算符用于检查某个值是否在指定的集合中,它可以用于多个具体值的匹配,非常适用于查找在特定列表中的记录。
示例:
SELECT * FROM employees WHERE job IN ('Engineer', 'Manager');
** 解释:该查询将返回职位为
Engineer
或
Manager
的所有员工。**
【5】模糊查询
——LIKE 运算符用于进行模糊匹配,通常用于字符串数据类型。
支持通配符:
- **
%
**:匹配零个或多个字符- **
_
**:匹配一个字符
示例:
SELECT * FROM employees WHERE name LIKE 'A%';
** 解释:这条查询将返回所有名字以字母
A
开头的员工。例如,
Alice
、
Andrew
等。**
【6】NULL 查询
——IS NOT 用于判断某个字段是否为空,而 IS NOT NULL 用于判断字段不为空。
示例1:
SELECT * FROM employees WHERE job IS NULL;
** 解释:该查询将返回
job
字段为空的所有员工记录。**
示例2:
SELECT * FROM employees WHERE job IS NOT NULL;
** 解释:这条查询将返回所有职位已指定的员工记录。**
至此,我们就了解了所有的where条件查询了!
(3)ORDER BY 排序
在学习完了SELECT查询和where查询之后,在让我们学习一下ORDER BY 排序查询,ORDER BY子句用于对查询结果进行排序,可以按一个或多个列进行升序(
ASC
)或降序(
DESC
)排列。
**以下是常见的排序方式:**
升序排序:
——ORDER BY 默认按照升序排列数据。
示例:
SELECT * FROM employees ORDER BY age;
** 解释:这条查询会按
age
列的升序对
employees
表进行排序,即年龄从小到大。**
降序排序:
——如果是想要按降序排列,可以在列后加上
DESC
:
示例:
SELECT * FROM employees ORDER BY age DESC;
** 解释:这条查询将返回
employees
表中按
age
列降序排列的员工数据,即年龄从大到小。**
按多个列排序:
——ORDER BY还支持对多个列进行排序,默认情况下,排序是从左到右进行的,可以先按一个列排序,再按另一个列排序。
示例:
SELECT * FROM employees ORDER BY job, age DESC;
** 解释:该查询将首先按照
job
列升序排列,如果有多个员工职位相同,再根据
age
列降序排列。**
** ** 以上就是ORDER BY排序的常见排序方式了!
** (4)**分页查询
接下来让我们学习一下分页查询,分页查询用于在查询结果较多时,将数据分为多个页面进行展示,SQL 提供了
LIMIT
和
OFFSET
来实现分页查询。
其中
LIMIT
用于限制返回的记录数,而
OFFSET
用于指定从哪一行开始返回数据。
LIMIT
和
OFFSET
通常一起使用来控制分页。
示例:
假设我们每页显示 10 条记录,想查询第 2 页的内容:
SELECT * FROM employees LIMIT 10 OFFSET 10;
**解释:这条查询会从第 11 条记录开始,返回 10 条记录(即第 2 页的内容),
OFFSET
指定了起始记录的偏移量,而
LIMIT
指定了每页返回的记录数。**
** ** 相信通过上述的案例,读者就可以很好的对分页查询进行理解了!
3.修改操作
(1)UPDATE操作
在学习完了增操作和查操作之后,在让我们学习一下修改操作,
UPDATE
语句用于修改表中的现有数据,它允许我们指定要修改的列及其新值,并通过
WHERE
子句指定修改的行,没有
WHERE
子句时,整个表的所有数据都会被更新。
基本语法:
UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;
了解了上述的基础语法之后,让我们使用一个例子来帮助你进行理解:
UPDATE employees SET age = 35 WHERE id = 1;
** 解释:上面的示例将
id
为 1 的员工年龄更新为 35。**
**使用
UPDATE
语句时的注意事项:**
- 在执行
UPDATE
时,确保通过WHERE
子句精确指定要更新的记录,否则可能会更新整个表的数据。- 在更新前,可以先执行
SELECT
查询确认数据是否符合预期,以避免误操作。
至此,我们就了解完了MySQL中的修改操作了!
4.删除操作
(1)DELETE操作
最后再让我们学习一下删除操作,
DELETE
用于删除表中的记录,与
UPDATE
操作类似,
DELETE
也需要通过
WHERE
子句指定条件,否则会删除表中的所有数据。
基本语法:
DELETE FROM 表名 WHERE 条件;
了解了上述的基础语法之后,让我们使用一个例子来帮助你进行理解:
DELETE FROM employees WHERE id = 1;
** 解释:该语句删除
id
为 1 的员工记录。**
**使用
DELETE
操作的注意事项:**
- 删除操作是不可恢复的,因此在执行
DELETE
时,建议先进行备份或者确认条件是否准确。- 同样,使用
WHERE
子句时要非常谨慎,避免不小心删除所有数据。
至此,我们就了解完了MySQL中的删除操作了!
以上就是本篇文章全部内容~~
版权归原作者 秋刀鱼不做梦 所有, 如有侵权,请联系我们删除。