MySQL表基础操作与CRUD数据增删改查详解

Nora
Nora
发布时间:2026-10-13| 3人浏览过
原创

本文系统梳理MySQL中表的创建、查看、删除及重命名等DDL操作,并详细讲解基于SQL的数据增(INSERT)、删(DELETE)、改(UPDATE)和查(SELECT)即CRUD核心操作。文章涵盖条件筛选、排序分页、模糊匹配等关键查询技巧,辅以规范代码示例,帮助初学者快速掌握MySQL数据管理的标准流程。

一、 SQL基础与通用规范

SQL(Structured Query Language,结构化查询语言)是用于管理关系型数据库的标准语言。在开始操作前,需遵循以下规范:

  • 语法格式:语句通常以分号 ; 结尾;可使用空格或缩进提升可读性;关键字建议大写,但MySQL不区分大小写。
  • 注释方式:单行注释使用 -- 内容 或 # 内容,多行注释使用 /* 内容 */。
  • 语言分类:
    • DDL (Data Definition Language):数据定义语言,用于定义库、表等结构。
    • DML (Data Manipulation Language):数据操纵语言,用于数据的增删改。
    • DQL (Data Query Language):数据查询语言,用于查询记录。
    • DCL (Data Control Language):数据控制语言,用于权限控制。

二、 表的基础管理操作

第1步:创建表

目的:建立存储数据的基本容器。需注意同一数据库下表名不可重复,且不应与SQL保留字冲突。

操作入口:SQL命令提示符或客户端工具。

动作与参数:

CREATE TABLE IF NOT EXISTS table_name (
    column1_name data_type [COMMENT '字段说明'],
    column2_name data_type,
    ...
) CHARACTER SET utf8mb4;

例如创建图书表,包含名称、作者、价格及分类等字段:
mysql> create table if not exists book(
-> book_name varchar(32) comment '图书名称',
-> book_author varchar(32)comment '图书作者' ,
-> book_price decimal(12,2) comment '图书价格',
-> book_category varchar(12) comment '图书分类',
-> publish_data timestamp
-> )character set utf8mb4;

完成状态:执行成功返回 `Query OK`。

第2步:查看与检查表结构

目的:确认当前库有哪些表,以及已创建表的具体字段属性。

查看所有表:

SHOW TABLES;

查看表结构:

DESC table_name;

执行后,结果展示字段名称、类型、是否允许为空(Null)、键类型(Key)、默认值(Default)等信息,这是验证建表是否符合预期的依据。

第3步:删除与重命名表

目的:清理无效数据或更正命名错误。

删除表:语法为 `DROP TABLE table_name;`。执行后该表及其数据将彻底消失,若再次访问会报 `Table doesn't exist` 错误。建议在操作前备份重要数据。

重命名表:语法为 `RENAME TABLE old_name TO new_name;`。
示例:
mysql> rename table book to eBook;

三、 MySQL中的CURD操作(增删查改)

CRUD代表Create(增加)、Retrieve(查询)、Update(更新)和Delete(删除),是数据库交互最核心的动作。

第1步:插入数据(Insert)

目的:向表中添加新记录。支持全列插入、指定列插入及批量插入。

全列插入:

INSERT INTO table_name VALUES (val1, val2, ...);

指定列插入:可省略部分字段,未指定字段将使用默认值(如NULL)。此方式更安全,能避免列顺序变动导致的问题。

INSERT INTO table_name (col1, col2) VALUES ('val1', 'val2');

批量插入:提高IO效率,减少网络往返开销。

INSERT INTO book VALUES 
('书A','作者A',10,'类','时间'),
('书B','作者B',20,'类','时间');

操作完成后,可通过查询验证新增数据,例如:

第2步:查询数据(Select)

目的:从表中检索特定信息,支持多种方式筛选和展示数据。

基本查询:使用 `*` 通配符返回所有列,但在企业级应用中应避免滥用以防消耗大量带宽和I/O资源。

表达式与别名:可对字段进行运算或使用 AS 指定临时别名以提升可读性。例如计算涨价后的价格:
SELECT book_name, book_price + 10 AS new_price FROM book;

去重查询:使用 DISTINCT 关键字去除重复记录。
示例:SELECT DISTINCT book_name FROM book;

排序与分页:

  • 排序:使用 ORDER BY,默认为升序 ASC,降序需显式声明 DESC。
  • 分页:使用 LIMIT offset, count。Offset从0开始计数,代表跳过的行数;Count为返回的最大行数。获取第N高价格的数据时,通常结合 ORDER BY 使用,如 ORDER BY price DESC LIMIT N-1, 1。

条件查询:使用 WHERE 子句配合运算符过滤数据:

  • 比较符:>=, =, <> (注意 null 的安全判断需用 <=>)。
  • 范围与集合:BETWEEN a AND b 表示闭区间范围;IN (val1, val2) 匹配列表。
  • 逻辑符:AND, OR, NOT。
  • 模糊匹配:LIKE。其中 % 代表任意多个字符,_ 代表单个字符。例如查找姓张的人可用 '张%'。

第3步:修改数据(Update)

目的:根据条件更新现有记录的值。

关键动作:必须紧跟 SET 赋值语句,且强烈建议使用 WHERE 限定范围,否则将清空全表数据。

UPDATE table_name 
SET column = new_value 
WHERE condition;

示例:将书名“软件工程”的价格改为66元:
mysql> update book set book_price = 66 where book_name = '软件工程';

第4步:删除数据(Delete)

目的:移除表中指定的记录。

操作提醒:数据一旦使用 DELETE 删除便无法恢复(除非有事务回滚或备份),因此务必先写好 WHERE 条件,甚至可以先用 SELECT 预览将要删除的记录。

DELETE FROM table_name WHERE condition;

示例:删除价格大于150元的图书记录:
mysql> delete from book where book_price > 150;

以上就是MySQL表基础操作与CURD数据增删改查的详细内容,更多关于MySQL入门及进阶操作的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。