MySQL命令行终端管理数据库、数据表及数据的完整指南

拾柒
拾柒
发布时间:2026-10-14| 2人浏览过
原创

在开发过程中,熟练运用命令行操作MySQL往往比图形化工具更直观地理解底层逻辑。本文系统梳理了MySQL终端环境下的核心指令:从数据库的生命周期管理,到表结构的灵活变更(如字符集调整、字段增删改),再到基础CRUD数据的执行,最后通过视图操作验证数据一致性,为读者提供一份即拿即用的SQL实战手册。

准备条件与基础注意事项

在使用终端(如Windows的CMD或Mac的Terminal)直接连接MySQL时,需注意以下基础规则:

  • 大小写敏感性与自动补全:MySQL内部的SQL命令本身不区分大小写(如 SHOW 和 show 等效)。但在macOS等基于Unix的系统终端中,为了启用Tab键自动补全功能,通常需要输入大写字母开头的命令(如 SHOW DATABASES;),否则可能无法触发补全响应。
  • 中文编码支持:默认情况下创建的数据库和表可能不支持中文。若需存储中文数据,务必在建库或建表时将字符集设置为 UTF8 或 utf8mb4。

1. 数据库(Database)管理操作

数据库是表的高级容器,管理数据库主要涉及创建、切换和移除。

第1步:创建并配置数据库编码

目的:建立新的数据存储空间,并确保其支持中文显示。

操作:使用 CREATE DATABASE 建库,随后用 ALTER DATABASE 指定编码。

-- 创建名为 firstDB 的数据库
create database firstDB;

-- 修改数据库 testDB 的字符集为 UTF8
mysql> ALTER DATABASE testDB CHARACTER SET UTF8;

第2步:查看与切换当前数据库

目的:确认服务器现有的库,并进入目标库执行后续操作。

操作:使用 SHOW DATABASES 列出所有库,使用 USE 指定当前上下文,SELECT DATABASE() 检查当前所在库。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| firstDB            |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

mysql> use firstDB;
Database changed

mysql> select database();
+------------+
| database() |
+------------+
| firstdb    |
+------------+

第3步:安全删除数据库

风险提醒:DROP DATABASE 会永久清空该库及其包含的所有表和文件,操作前请务必备份重要数据。

mysql> drop database firstDB;
Query OK, 0 rows affected (0.00 sec)

2. 数据表(Table)结构管理

表结构的管理重点在于利用 ALTER TABLE 进行动态调整,包括编码转换、字段增加、类型修改及重命名。

第1步:创建初始表与查看结构

目的:定义表的基本骨架(ID、姓名、年龄、生日)。

操作:

-- 创建 PEOPLE 表
mysql> create table PEOPLE (
-> ID int AUTO_INCREMENT PRIMARY KEY,
-> NAME varchar(20) not null,
-> AGE int not null,
-> BIRTHDAY datetime);

-- 查看所有表名
mysql> show tables;
-- 查看表具体结构
mysql> desc PEOPLE;

第2步:调整表编码以支持中文

目的:解决表中中文乱码问题。

mysql> ALTER TABLE KEYCHAIN CONVERT TO CHARACTER SET UTF8;
Records: 1 Duplicates: 0 Warnings: 0

第3步:动态增、删、改字段(列)

添加字段:使用 ADD。注意MySQL会将 BOOL 类型自动转为 tinyint(1)。

mysql> alter table PEOPLE add star BOOL;

修改字段类型/长度:使用 MODIFY。例如将布尔值改为整数型。

mysql> alter table PEOPLE MODIFY star int;

删除字段:使用 DROP COLUMN。

mysql> alter table PEOPLE DROP column star;

允许/禁止空值:结合 MODIFY 设定 NULL 或 NOT NULL约束。

mysql> ALTER TABLE PEOPLE MODIFY AGE INT(3) NULL;

第4步:克隆表结构与命名变更

克隆表:根据现有表结构和数据快速生成新表。

mysql> create table newTable select * from PEOPLE;

重命名表:

mysql> RENAME TABLE PEOPLE TO NEW_PEOPLE;

3. 数据(Data)的增删改查(CRUD)

进入已准备好的表后,进行具体的记录操作。

第1步:插入数据(Insert)

说明:自增主键可填入 NULL 由系统自动分配。

mysql> insert into PEOPLE VALUES (null, 'Anny', 22, '1992-05-22');

批量插入多条数据后,可通过 SELECT * FROM table_name; 校验结果。

第2步:更新数据(Update)

注意:必须配合 WHERE 子句,防止误更新全表数据。

-- 将名为 Garvey 的用户修改为 Calvin
mysql> update PEOPLE set name='Calvin' where name = 'Garvey';

第3步:删除数据(Delete)

注意:同样必须带 WHERE 限制范围,否则将清空整表。

mysql> delete from PEOPLE where name = 'Lisa';

第4步:查询数据(Select)

全量查询:查询所有字段。

mysql> select * from PEOPLE;

定向查询:仅显示特定字段组合。

mysql> select NAME, AGE, BIRTHDAY from PEOPLE;

4. 视图(View)的创建与管理

视图是一张虚拟表,其内容由查询定义。对视图的操作会实时反映到底层实际表中。

第1步:创建或替换视图

目的:简化高频使用的复杂查询结果展示。

-- 创建视图,仅保留姓名和年龄
mysql> CREATE VIEW PEOPLE_VIEW AS SELECT NAME, AGE FROM PEOPLE;

-- 或者覆盖已有视图并重新定义列名
mysql> CREATE OR REPLACE VIEW PEOPLE_VIEW(PEOPLE_ID,PEOPLE_NAME,PEOPLE_AGE) 
-> AS SELECT ID,NAME,AGE FROM PEOPLE;

第2步:通过视图验证数据同步性

向视图中插入数据,验证底层表是否同步更新。

-- 往视图插入新记录
mysql> INSERT INTO PEOPLE_VIEW VALUES(NULL, 'Kerry', '33');

-- 查询视图确认显示
mysql> SELECT * FROM PEOPLE_VIEW;

-- 查询真实表 PEOPLE,发现 Kerry 的记录也已存在
mysql> SELECT * FROM PEOPLE;

上述操作证实了视图作为“虚拟表”,其数据流与真实表保持完全一致。

第3步:删除视图

说明:删除视图不会影响底层的基础表数据。

mysql> DROP VIEW PEOPLE_VIEW;

以上就是MySQL之终端Terminal(dos界面)管理数据库、数据表、数据的基本操作的详细内容,更多关于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 算法库。