【MySQL】数据基本的增删改查操作
一只淡水鱼66 2024-10-07 15:07:02 阅读 98
新增数据(Create)
在MySQL中,增加数据的操作主要使用 <code>INSERT 语句。下面我们将分为两部分:单行数据插入和多行数据插入。
一、单行数据插入
全列插入: 当你要插入一行数据到表中并且要提供所有列的值时,可以使用如下语法:示例: 假设我们有一个名为 students
的表,它有三个列:id
、name
和 age
。
INSERT INTO students (id, name, age) VALUES (1, 'Alice', 20);
2.指定列插入: 如果你只想插入部分列的值,没提供的列将会使用默认值或者 NULL
。示例: 在 students
表中仅插入 name
和 age
,假设 id
列自动递增。
INSERT INTO students (name, age) VALUES ('Bob', 22);
二、多行数据插入
指定列插入: 可以在一次操作中插入多行数据,且只指定想插入的列。示例: 向 students
表中插入多名学生的 name
和 age
。
INSERT INTO students (name, age) VALUES ('Charlie', 19), ('David', 21), ('Eva', 20);
查询数据(Retrieve)
在MySQL中,查询数据的操作主要使用 SELECT
语句。下面将详细描述各类查询方式,包括全列查询、指定列查询、条件过滤等。
一、全列查询
当你需要从一个表中检索所有列的数据时,可以使用 *
通配符。
SELECT * FROM 表名;
二、指定列查询
如果只需要查询表中的特定列,可以在 SELECT
语句中明确列出这些列名。
SELECT 列1, 列2 FROM 表名;
三、查询字段为表达式
可以在 SELECT
语句中使用表达式,比如数学运算、字符串操作等。
SELECT 列1, 列2, (列3 * 2) AS 新列名 FROM 表名;
四、别名
可以使用 AS
关键字为查询结果的列创建一个别名,便于阅读。
SELECT 列名 AS 别名 FROM 表名;
五、去重:DISTINCT
如果想要查询结果中的重复数据去除,可以使用 DISTINCT
关键字。
SELECT DISTINCT 列名 FROM 表名;
还可以指定多个列。
SELECT DISTINCT 列名1,列名2 FROM 表名;
六、排序:ORDER BY
可以使用 ORDER BY
子句对查询结果进行排序。默认是升序 ASC
,也可以指定降序 DESC
。
SELECT 列名 FROM 表名 ORDER BY 列名 [ASC|DESC];
还可以在排序里使用表达式
SELECT 列名 FROM 表名 ORDER BY 表达式 [ASC|DESC];
七、条件查询:WHERE
可以使用 WHERE
子句添加查询条件,筛选满足条件的记录。
SELECT 列名 FROM 表名 WHERE 条件;
在MySQL中,WHERE
子句用于过滤查询结果,可以使用多种运算符来构建查询条件。以下是常用的运算符分类及示例:
1. 比较运算符
等于 (
=
)可以判断空值的等于(<=>)不等于 (<>
或!=
)大于 (>
)小于 (<
)大于等于 (>=
)小于等于 (<=
)
2. 逻辑运算符
与 (
AND
)或 (OR
)非 (NOT
)
3. 范围运算符
在范围内 (
BETWEEN ... AND ...
)在集合中 (IN
)模糊匹配 (LIKE
)
4. 空值检查
为空 (
IS NULL
)非空 (IS NOT NULL
)
这些运算符可以组合使用,以构建复杂的查询条件。
注:
1. WHERE条件可以使用表达式,但不能使用别名。
2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分。
八、分页查询:LIMIT
在查询结果中进行分页,可以使用 LIMIT
关键字,指定返回的记录数和起始位置。
SELECT 列名 FROM 表名 LIMIT 返回条数 , offset 起始位置;
查询代码案例:
查找总成绩前五名的学生的姓名和总成绩
首先创建一个表,插入多条数据
查询代码
<code>select name , math + chinese as total from student order by total limit 5;
查询结果
修改(Update)
在MySQL中,修改数据的操作主要使用 <code>UPDATE 语句。通过 UPDATE
语句,可以更新数据库表中已存在的数据。下面将详细描述其用法。
语法结构
基本的 UPDATE
语法如下:
UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件;
组成部分
表名:要更新数据的表的名称。SET:用来指定要更新的列以及对应的新值。列:要更新的列名,可以是一个或多个列。值:每个列对应的新值。WHERE:用来指定条件,确保只更新符合条件的记录。如果不加 WHERE
,将会更新表中的所有记录。
操作步骤
基本更新:如果需要更新单个列的值,可以直接在 SET
子句中指定。
示例:将 students
表中 ID 为 1 的学生的 name
更新为 Alice
。
UPDATE students SET name = 'Alice' WHERE id = 1;
多列更新:可以在 SET
子句中同时更新多个列的值。
示例:将 ID 为 2 的学生的 name
更新为 Bob
,同时将 age
更新为 22。
UPDATE students SET name = 'Bob', age = 22 WHERE id = 2;
条件更新:使用 WHERE
子句来限制更新的记录。
示例:将所有年龄大于 20 的学生的 age
更新为 21。
UPDATE students SET age = 21 WHERE age > 20;
全表更新:如果省略 WHERE
子句,所有记录将会被更新。
示例:将 students
表中所有学生的 age
更新为 18(注意使用前需仔细考虑)。
UPDATE students SET age = 18;
注意事项
小心使用 WHERE
子句:在执行更新操作时,必须确保条件的准确性,以避免意外更新全表的数据。验证更新结果:在大型数据修改操作后,最好执行查询语句确认数据更新的结果是否符合预期。
结论
通过以上的介绍,可以通过 UPDATE
语句有效地修改MySQL数据库表中的数据,并根据需要灵活地指定更新的条件及列。
删除(Delete)
在MySQL中,删除数据的操作主要使用 DELETE
语句。通过 DELETE
语句,可以从数据库表中删除已存在的记录。下面将详细描述其用法。
语法结构
基本的 DELETE
语法如下:
DELETE FROM 表名 WHERE 条件;
组成部分
表名:要删除数据的表的名称。WHERE:用来指定条件,确保只删除符合条件的记录。如果不加 WHERE
,则会删除表中的所有记录。
操作步骤
基本删除:如果需要删除符合特定条件的单条或多条记录,可以使用 WHERE
子句。
示例:从 students
表中删除 ID 为 1 的学生记录。
DELETE FROM students WHERE id = 1;
条件删除:可以使用更复杂的条件来删除记录。
示例:删除所有年龄小于 18 的学生记录。
DELETE FROM students WHERE age < 18;
全表删除:如果省略 WHERE
子句,所有记录将会被删除。
示例:从 students
表中删除所有学生记录(注意使用前需仔细考虑)。
DELETE FROM students;
注意事项
小心使用 WHERE
子句:在执行删除操作时,确保条件的准确性,以避免意外删除全表的数据。备份重要数据:在进行大规模删除操作之前,最好先备份数据,以免意外损失。验证删除结果:删除操作后,可以执行查询语句确认数据删除的结果是否符合预期。
结论
通过以上的介绍,可以使用 DELETE
语句有效地删除MySQL数据库表中的数据。使用时应谨慎,确保对删除将产生的后果有清晰的认识。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。