MySQL 命令行操作
登录和退出 bash 1 2 3 4 5 6 7 8 9 10 # 登录 (回车后输密码) mysql -u 用户名 -p # 远程登录 (示例) mysql -h 192.168.1.100 -u root -P 3306 -p # 退出 MySQL exit # 或 \q 数据库操作 mysql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -- 查看所有数据库 SHOW DATABASES; -- 创建数据库 CREATE DATABASE dbname; -- 删除数据库 DROP DATABASE dbname; -- 选择数据库 USE dbname; -- 查看当前数据库 SELECT DATABASE(); 表操作 mysql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 -- 查看所有表 SHOW TABLES; -- 创建表 CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(50) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 查看表结构 DESCRIBE users; -- 或 DESC users; -- 删除表 DROP TABLE users; -- 重命名表 RENAME TABLE old_name TO new_name; 数据操作 mysql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -- 插入数据 INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com'), ('李四', 'lisi@test.com'); -- 查询数据 SELECT * FROM users; SELECT name, email FROM users WHERE id > 10; -- 更新数据 UPDATE users SET email = 'new@mail.com' WHERE id = 1; -- 删除数据 DELETE FROM users WHERE id= 100; -- 清空表 TRUNCATE TABLE users; DELETE 与 TRUNCATE 的异同请参考文章 DELETE 与 TRUNCATE 对比 用户与权限 mysql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -- 创建用户 CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; -- 授予权限 GRANT SELECT, INSERT ON dbname.* TO 'user'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; -- 撤销权限 REVOKE DELETE ON dbname.* FROM 'user'@'localhost'; -- 刷新权限 FLUSH PRIVILEGES; -- 删除用户 DROP USER 'olduser'@'localhost'; 数据导入导出 bash 1 2 3 4 5 6 7 8 9 10 11 # 导出整个数据库 (命令行执行) mysqldump -u root -p dbname > backup.sql # 导出单个表 (以 `users` 表为例) mysqldump -u root -p dbname users > users.sql # 导入数据 (MySQL 内) SOURCE /path/to/backup.sql # 导入数据 (命令行) mysql -u root -p dbname < data.sql; 其他命令 mysql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -- 查看 MySQL 版本 SELECT VERSION(); -- 显示当前时间 SELECT NOW(); -- 查看进程列表 SHOW PROCESSLIST; -- 终止查询 KILL [进程ID]; -- 修改密码 ALTER USER 'user'@'localhost' IDENTIFIED BY 'new_password'; 注意事项 ⚠️ 重要操作确认:DROP/DELETE/TRUNCATE 前务必确认数据 WHERE 条件警告:UPDATE/DELETE 不加 WHERE 会修改整张表 权限最小化:用户权限遵循最小授权原则 生产环境备份:修改数据结构前必须备份数据 密码安全:避免在命令行明文输入密码(使用 -p 空参数提示输入)