MySQL常用命令:数据库与表的增删改查

沈亦白
沈亦白
发布时间:2026-10-13| 4人浏览过
原创

本文详细整理了MySQL数据库中关于数据库对象(Database)和数据表(Table)的常用命令。内容涵盖数据库的创建、切换与删除,以及数据表的建立、结构查看、复制技巧和应用ALTER语句进行表结构调整的实操方法。

处理数据库的基本操作

在学习复杂的查询之前,首先需要掌握如何对数据库容器进行管理。以下是四个最基础的操作步骤:

第1步:查看现有数据库

目的:了解当前MySQL服务器上存在哪些数据库实例。
命令:SHOW DATABASES;
说明:执行后会列出所有拥有访问权限的数据库名称。

第2步:创建新数据库

目的:为项目或应用新建一个独立的存储容器。
命令:CREATE DATABASE db_test;
说明:系统返回 Query OK, 1 row affected 表示创建成功。

第3步:切换至目标数据库

目的:将当前会话的工作上下文切换到指定数据库,后续操作默认在该库中进行。
命令:USE db_test;
说明:执行后需留意提示 Database changed,此时再进行表操作将作用于该库。

第4步:删除无用数据库

目的:移除不再需要的数据库及其内部所有数据。
命令:DROP DATABASE db_test;
风险提示:此操作不可逆,将永久删除该库下的所有表和记录,请在生产环境中谨慎执行。确认无误后系统会返回 Query OK, 0 rows affected。

处理数据表的核心命令

进入特定数据库后,主要任务是管理其中的表(Table)。这包括建表、查看细节、备份拷贝以及动态调整表结构。

第5步:创建数据表

目的:定义数据的列名、类型及约束条件。
入口:MySQL命令行或客户端工具。
动作:使用 CREATE TABLE 语句。表至少需要包含一列。如果希望明确指定所属数据库,可在表名前缀加库名(如 db_name.table_name)。

mysql> CREATE TABLE tb_test(
-> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> firstname VARCHAR(25) NOT NULL,
-> lastname VARCHAR(25) NOT NULL,
-> email VARCHAR(45) NOT NULL,
-> phone VARCHAR(10) NOT NULL,
-> PRIMARY KEY (id));
Query OK, 0 rows affected (0.03 sec)

第6步:安全创建(防止重复报错)

目的:在脚本自动化部署时,避免因表已存在而中断执行。
动作:加入 IF NOT EXISTS 子句。若表不存在则创建,若存在则跳过并产生警告,不会报错停止。

mysql> CREATE TABLE IF NOT EXISTS db_test.tb_test(...); 
-- 返回 Query OK, 0 rows affected, 1 warning

第7步:复制现有表结构

目的:基于已有的表快速获取副本,常用于备份结构或测试。
注意:CREATE TABLE ... SELECT 语法会根据SELECT的结果集创建新表,但**不会**自动复制原表的索引、主键和外键约束,只会复制列结构和数据。

完全复制所有列:

mysql> CREATE TABLE tb_test2 SELECT * FROM db_test.tb_test;

仅复制部分列:

mysql> CREATE TABLE tb_test2 SELECT id, firstname, lastname, email FROM tb_test;

第8步:创建临时表

目的:在处理大规模数据时,减少中间计算量。临时表仅在当前连接期间有效,断开连接后自动销毁,无需手动清理(但也支持手动删除)。

mysql> CREATE TEMPORARY TABLE emp_temp SELECT firstname, lastname FROM tb_test;

第9步:查看表结构与列表

目的:确认表中有哪些字段、数据类型及约束信息。

列出当前库的所有表:

mysql> SHOW TABLES;
+-------------------+
| Tables_in_db_test |
+-------------------+
| tb_test      |
| tb_test2     |
+-------------------+

查看表详细结构:

mysql> DESCRIBE tb_test;
-- 或者使用 SHOW COLUMNS IN tb_test;
输出结果包含 Field(字段)、Type(类型)、Null(是否允许空)、Key(索引)、Default(默认值)和 Extra(额外属性)等信息。

第10步:修改表结构(ALTER TABLE)

目的:在开发迭代中,无需删表重建即可增加、修改或删除字段。

1. 添加新列:新列默认追加到表最后。

mysql> ALTER TABLE tb_demo ADD COLUMN email VARCHAR(45);
如需指定位置,可追加 AFTER column_name 或 FIRST关键字。

2. 修改列定义:例如限制某列为非空。

mysql> ALTER TABLE tb_demo CHANGE email email VARCHAR(45) NOT NULL;
CHANGE 需要同时写出旧的列名和新的列定义。

3. 删除列:彻底移除某一列及其数据。

mysql> ALTER TABLE tb_demo DROP email;

以上就是MySQL常用命令之数据库和表处理的详细内容,更多关于MySQL学习及SQL高级操作的资料请关注本站其它相关文章!

相关标签:

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

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 算法库。