MySQL是大型架构的核心,也是大厂的必备技能,下面我就全面来详解MySQL核心命令@mikechen
数据库相关命令
创建数据库:
sqlCREATE DATABASE testdb;
选择数据库:
sqlUSE testdb;
删除数据库:
sqlDROP DATABASE testdb;
显示数据库列表:
sqlSHOW DATABASES;
表相关命令
创建表:
sqlCREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT );
显示表结构:
sqlDESC users;
修改表结构(添加列):
sqlALTER TABLE users ADD COLUMN email VARCHAR(100);
修改表字段属性:
sqlALTER TABLE users MODIFY COLUMN age SMALLINT;
删除表字段:
sqlALTER TABLE users DROP COLUMN email;
删除表:
sqlDROP TABLE users;
数据操作相关
插入数据:
sqlINSERT INTO users (name, age) VALUES ('Alice', 25);
删除数据:
sqlDELETE FROM users WHERE name='Alice';
修改数据:
sqlUPDATE users SET age=26 WHERE name='Alice';
查询数据:
sqlSELECT * FROM users WHERE age > 20;
索引管理
创建索引:
sqlCREATE INDEX idx_name ON users(name);
查看表索引:
sqlSHOW INDEX FROM users;
用户与权限管理
创建用户:
sqlCREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
授权用户:
sqlGRANT SELECT, INSERT ON testdb.* TO 'user1'@'localhost';
查看用户权限
sqlSHOW GRANTS FOR 'user1'@'localhost';
连接与账户管理:
连接本机MySQL:(命令行执行,不是SQL语句)
textmysql -uroot -p
连接远程MySQL:
textmysql -h 192.168.0.100 -u user1 -p
修改root密码:(命令行执行)
textmysqladmin -u root password 'newpassword';
其他运维命令
查看MySQL版本:
sqlSELECT @@version;
查看当前连接线程:
sqlSHOW PROCESSLIST \\G;
查看MySQL服务器参数:
sqlSHOW VARIABLES \\G;
查看表的创建语句:
sqlSHOW CREATE TABLE users \\G;
查看主从复制状态:
sqlSHOW MASTER STATUS; SHOW SLAVE STATUS;
清理二进制日志:
sqlPURGE BINARY LOGS TO 'mysql-bin.000010';
查看警告信息:
sqlSHOW WARNINGS;
查看所有binlog日志文件:
sqlSHOW MASTER LOGS;
查询当前连接端口:
sqlSHOW VARIABLES LIKE 'port';
查看数据目录:
sqlSHOW VARIABLES LIKE 'datadir';
备份恢复相关
备份数据库:(命令行执行)
textmysqldump -u root -p testdb > backup.sql
导入数据库:(命令行执行)
textmysql -u root -p testdb < backup.sql
事务相关
开启事务:
sqlSTART TRANSACTION;
提交事务:
sqlCOMMIT;
回滚事务:
sqlROLLBACK;
实用查询命令
查看查询执行计划:
sqlEXPLAIN SELECT * FROM users WHERE age > 20;