MySQL命令行终端管理数据库、数据表及数据的完整指南
在开发过程中,熟练运用命令行操作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命令行数据库管理的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









