无论是初学者还是经验丰富的数据库管理员,熟练掌握MySQL的常用命令都是提升工作效率、保障数据安全的关键
本文将全面总结MySQL的常用命令,从基础操作到高级管理,助您成为MySQL高手
一、连接与退出MySQL 1. 连接MySQL 连接MySQL数据库是进行数据操作的第一步
基本的连接命令格式为: bash mysql -h主机地址 -u用户名 -p -连接到本机MySQL:在命令行中输入`mysql -uroot -p`,回车后输入密码即可登录
如果root用户未设置密码,直接回车即可
-连接到远程主机MySQL:假设远程主机的IP为192.168.1.1,用户名为root,密码为abc123,则输入`mysql -h192.168.1.1 -uroot -pabc123`(注意,出于安全考虑,通常不建议在命令中直接输入密码,而是回车后提示输入)
为了提高安全性,可以将用户名和密码配置在`~/.my.cnf`文件中,避免明文泄露
同时,使用域名代替IP地址进行连接,可以简化IP变更时的管理
2.退出MySQL 在MySQL提示符下,输入`exit`或`quit`即可退出数据库连接
二、数据库管理命令 1. 创建数据库 使用`CREATE DATABASE`命令可以创建一个新的数据库
例如,创建一个名为`testdb`的数据库: sql CREATE DATABASE testdb; 还可以指定字符集和排序规则,以防止乱码问题: sql CREATE DATABASE testdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 2. 查看数据库 使用`SHOW DATABASES`命令可以查看当前MySQL服务器中的所有数据库: sql SHOW DATABASES; 3. 使用数据库 在进行数据表操作之前,需要使用`USE`命令选择目标数据库: sql USE testdb; 4. 删除数据库 使用`DROP DATABASE`命令可以删除一个数据库
这是一个危险的操作,因为删除后数据库中的所有数据都将丢失
因此,在生产环境中使用前务必备份: sql DROP DATABASE testdb; 三、数据表管理命令 1. 创建数据表 使用`CREATE TABLE`命令可以创建一个新的数据表
例如,在`testdb`数据库中创建一个名为`users`的表: sql CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 在创建表时,可以指定字段的数据类型、是否允许为空、默认值、是否自增、主键、唯一约束等选项
2. 查看数据表 使用`SHOW TABLES`命令可以查看当前数据库中的所有表: sql SHOW TABLES; 使用`DESCRIBE`或`DESC`命令可以查看指定表的字段结构: sql DESCRIBE users; 3. 修改数据表 -添加字段:使用`ALTER TABLE ... ADD COLUMN`命令可以向表中添加新字段
例如,向`users`表中添加一个名为`age`的字段: sql ALTER TABLE users ADD COLUMN age INT; -修改字段:使用`ALTER TABLE ... MODIFY COLUMN`命令可以修改表中现有字段的数据类型或属性
例如,将`age`字段的数据类型修改为`VARCHAR`: sql ALTER TABLE users MODIFY COLUMN age VARCHAR(3); -删除字段:使用`ALTER TABLE ... DROP COLUMN`命令可以删除表中的字段
例如,删除`users`表中的`email`字段: sql ALTER TABLE users DROP COLUMN email; -重命名表:使用`ALTER TABLE ... RENAME TO`命令可以重命名表
例如,将`users`表重命名为`customers`: sql ALTER TABLE users RENAME TO customers; 4. 删除数据表 使用`DROP TABLE`命令可以删除一个表及其所有数据
同样,这是一个危险的操作,使用前务必确认: sql DROP TABLE customers; 四、数据操作命令 1.插入数据 使用`INSERT INTO`命令可以向表中插入新数据
例如,向`customers`表中插入一条记录: sql INSERT INTO customers(id, username, age) VALUES(1, john_doe, 25); 如果省略字段列表,则需要提供所有字段的值,且顺序必须与表结构一致
2. 查询数据 使用`SELECT`命令可以从表中查询数据
例如,查询`customers`表中的所有记录: sql SELECTFROM customers; 使用`WHERE`子句可以添加查询条件
例如,查询年龄为25岁的用户: sql SELECT - FROM customers WHERE age = 25; 3. 更新数据 使用`UPDATE`命令可以更新表中的现有数据
例如,将`customers`表中ID为1的用户的年龄更新为26岁: sql UPDATE customers SET age = 26 WHERE id =1; 务必小心使用`UPDATE`命令,特别是没有`WHERE`子句时,将更新表中的所有记录
4. 删除数据 使用`DELETE FROM`命令可以删除表中的记录
例如,删除`customers`表中ID为1的记录: sql DELETE FROM customers WHERE id =1; 同样,务必小心使用`DELETE`命令,特别是没有`WHERE`子句时,将删除表中的所有记录
五、用户与权限管理命令 1. 创建用户 使用`CREATE USER`命令可以创建一个新用户
例如,创建一个名为`newuser`的用户: sql CREATE USER newuser@localhost IDENTIFIED BY password; 2.授予权限 使用`GRANT`命令可以授予用户特定的权限
例如,授予`newuser`用户对`testdb`数据库的所有权限: sql GRANT ALL PRIVILEGES ON testdb. TO newuser@localhost; 为了使权限生效,需要执行`FLUSH PRIVILEGES`命令: sql FLUSH PRIVILEGES; 3.撤销权限 使用`REVOKE`命令可以撤销用户的权限
例如,撤销`newuser`用户对`testdb`数据库的所有权限: sql REVOKE ALL PRIVILEGES ON testdb- . FROM newuser@localhost; 同样,需要执行`FLUSH PRIVILEGES`命令使撤销生效
4. 修改用户密码 使用`SET PASSWORD`或`ALTER USER`命令可以修改用户的密码
例如,将`newuser`用户的密码修改为`newpassword`: sql SET PASSWORD FOR newuser@localhost = PASSWORD(newpassword); 或者: sql ALTER USER newuser@localhost IDENTIFIED BY