要通过MySQL命令行进入数据库,首先需要确保MySQL服务已正确安装并运行,在Windows系统中,可以通过“服务”管理器找到MySQL服务并启动;在Linux或macOS中,通常可以使用sudo systemctl start mysql
(或mysqld
,具体取决于安装方式)命令启动服务,服务启动后,打开终端或命令提示符,输入mysql -u 用户名 -p
命令并按回车,系统会提示输入密码,输入正确密码后即可进入MySQL命令行界面,默认管理员用户名为root
,因此常用命令为mysql -u root -p
,如果MySQL未添加到系统环境变量,可能需要进入MySQL的bin
目录下执行命令,如C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql -u root -p
。

进入MySQL后,可以通过SHOW DATABASES;
命令查看所有数据库列表,若要连接到特定数据库,使用USE 数据库名;
命令,例如USE test;
,后续SQL操作将针对该数据库,需要注意的是,命令行操作区分大小写,关键字(如SELECT
、FROM
)通常不区分大小写,但数据库名、表名、列名等在Linux/Unix系统中默认区分大小写,在Windows中默认不区分,若需创建新数据库,可通过CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
命令,指定字符集为utf8mb4
以支持更多字符,创建后,使用USE
命令切换到新数据库。
在数据库中,可通过SHOW TABLES;
查看当前数据库的所有表,若要查看表结构,使用DESCRIBE 表名;
或SHOW COLUMNS FROM 表名;
,执行SQL查询时,需以分号结尾,例如SELECT * FROM 表名 LIMIT 10;
,若需退出MySQL命令行,输入EXIT;
或QUIT;
即可,命令行支持历史命令记录(通过上下箭头键切换)和自动补全(需在MySQL配置中启用auto-rehash
或使用--auto-rehash
参数启动)。
以下是常用MySQL命令行操作示例:
操作类型 | 命令示例 | 说明 |
---|---|---|
连接MySQL | mysql -u root -p |
以root用户连接,需输入密码 |
查看数据库 | SHOW DATABASES; |
列出所有数据库 |
创建数据库 | CREATE DATABASE mydb; |
创建名为mydb的数据库 |
使用数据库 | USE mydb; |
切换到mydb数据库 |
查看表 | SHOW TABLES; |
列出当前数据库的所有表 |
创建表 | CREATE TABLE users (id INT, name VARCHAR(50)); |
创建包含id和name列的users表 |
插入数据 | INSERT INTO users VALUES (1, 'Alice'); |
向users表插入一条数据 |
查询数据 | SELECT * FROM users; |
查询users表的所有数据 |
更新数据 | UPDATE users SET name='Bob' WHERE id=1; |
将id为1的记录name更新为Bob |
删除数据 | DELETE FROM users WHERE id=1; |
删除id为1的记录 |
删除表 | DROP TABLE users; |
删除users表 |
删除数据库 | DROP DATABASE mydb; |
删除mydb数据库 |
退出MySQL | EXIT; 或QUIT; |
退出MySQL命令行 |
在实际操作中,可能会遇到常见问题,若提示“Access denied for user 'root'@'localhost'”,可能是密码错误或用户权限不足,可通过sudo mysql -u root
(Linux)或以管理员身份运行命令行(Windows)重置密码,若提示“Unknown database 'xxx'”,需检查数据库名拼写是否正确,或使用SHOW DATABASES;
确认数据库是否存在,若连接超时,可能是MySQL服务未启动或网络配置问题,需检查服务状态及防火墙设置。

相关问答FAQs:
Q1: 忘记MySQL root密码怎么办?
A1: 可通过以下步骤重置密码:1. 停止MySQL服务(Linux: sudo systemctl stop mysql
;Windows: 通过服务管理器停止);2. 以安全模式启动MySQL,跳过权限表:Linux下执行sudo mysqld_safe --skip-grant-tables &
,Windows下在命令行进入MySQL的bin
目录,执行mysqld --skip-grant-tables
;3. 新开终端,无密码登录MySQL:mysql -u root
;4. 执行FLUSH PRIVILEGES;
刷新权限;5. 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
;6. 重启MySQL服务,使用新密码登录。
Q2: MySQL命令行中文显示乱码如何解决?
A2: 乱码通常因字符集不匹配导致,可通过以下方式解决:1. 连接MySQL时指定字符集,如mysql -u root -p --default-character-set=utf8mb4
;2. 检查数据库和表的字符集是否为utf8mb4
,通过SHOW CREATE DATABASE 数据库名;
和SHOW CREATE TABLE 表名;
查看,若不是,可通过ALTER DATABASE 数据库名 CHARACTER SET utf8mb4;
和ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4;
修改;3. 确保终端或命令行工具本身支持UTF-8编码,如Windows终端可设置为UTF-8。
