### MySQL 命令详解 #### 一、数据库操作 **1. 显示数据库** - **命令**: `SHOW DATABASES;` - **功能**: 列出当前MySQL服务器上存在的所有数据库。 **2. 创建数据库** - **命令**: `CREATE DATABASE database_name;` - **功能**: 创建一个新的数据库。 - **示例**: `CREATE DATABASE my_database;` **3. 选择数据库** - **命令**: `USE database_name;` - **功能**: 切换到指定的数据库。 - **示例**: `USE my_database;` **4. 删除数据库** - **命令**: `DROP DATABASE database_name;` - **功能**: 直接删除指定的数据库,此操作不可逆。 - **示例**: `DROP DATABASE my_database;` - **注意**: 如果担心误删,可以使用`mysqladmin drop database_name`,它会在执行前给出警告。 **5. 显示当前MySQL版本和日期** - **命令**: `SELECT VERSION(), CURRENT_DATE();` - **功能**: 显示MySQL服务器的版本信息以及当前系统日期。 #### 二、表操作 **1. 显示表** - **命令**: `SHOW TABLES;` - **功能**: 列出当前数据库中的所有表。 **2. 显示表结构** - **命令**: `DESCRIBE table_name;` 或 `DESC table_name;` - **功能**: 显示指定表的结构信息。 - **示例**: `DESCRIBE my_table;` **3. 去除重复字段** - **命令**: `SELECT DISTINCT column_name FROM table_name;` - **功能**: 查询表中某列的所有不同值。 - **示例**: `SELECT DISTINCT email FROM users;` **4. 重命名表** - **命令**: `ALTER TABLE old_table_name RENAME TO new_table_name;` - **功能**: 将表名从旧名称更改为新名称。 - **示例**: `ALTER TABLE t1 RENAME TO t2;` #### 三、用户管理 **1. 修改密码** - **命令**: `UPDATE user SET password = PASSWORD('new_password') WHERE User = 'username';` - **功能**: 更改指定用户的密码。 - **示例**: `UPDATE user SET password = PASSWORD('new_password') WHERE User = 'root';` - **注意**: 需要刷新权限以使更改生效。 - **命令**: `FLUSH PRIVILEGES;` **2. 创建用户并赋予权限** - **命令**: `CREATE USER 'username'@'localhost';` - **命令**: `GRANT all ON database_name.* TO 'username'@'localhost' IDENTIFIED BY 'password';` - **功能**: 创建新的用户,并为该用户授予对指定数据库的所有权限。 - **示例**: - 创建用户`firstdb`,密码`firstdb`。 ```sql CREATE USER 'firstdb'@'localhost'; GRANT ALL ON firstdb.* TO 'firstdb'@'localhost' IDENTIFIED BY 'firstdb'; ``` - **注意事项**: - `@localhost`指明了用户只能从本地登录。 - `GRANT`语句中的`all`可以替换为具体权限如`SELECT`, `INSERT`, `UPDATE`等。 - `database_name.*`中的`*`指代所有表。 **3. 删除用户权限** - **命令**: `REVOKE all PRIVILEGES ON *.* FROM 'username'@'hostname';` - **命令**: `DELETE FROM mysql.user WHERE User = 'username' AND Host = 'hostname';` - **命令**: `FLUSH PRIVILEGES;` - **功能**: 撤销用户的所有权限并删除用户记录。 - **示例**: - 删除`root`用户的所有权限。 ```sql REVOKE all PRIVILEGES ON *.* FROM 'root'@'localhost'; DELETE FROM mysql.user WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES; ``` **4. 创建远程访问用户** - **命令**: `GRANT all ON *.* TO 'username'@'ip_address' IDENTIFIED BY 'password';` - **功能**: 创建一个可以从指定IP地址远程访问数据库的用户。 - **示例**: 允许用户`root`从IP地址`202.116.39.2`登录。 ```sql GRANT ALL ON *.* TO 'root'@'202.116.39.2' IDENTIFIED BY '123456'; ``` #### 四、备份与恢复 **1. 备份数据库** - **命令**: `mysqldump -h host -u username -p database_name > backup_file.sql` - **功能**: 将整个数据库导出为SQL脚本文件。 - **示例**: `mysqldump -h localhost -u root -p my_database > my_database_backup.sql` **2. 恢复数据库** - **命令**: `mysql -h host -u username -p database_name < backup_file.sql` - **功能**: 从SQL脚本文件恢复数据库。 - **示例**: `mysql -h localhost -u root -p my_database < my_database_backup.sql` **3. 导出表结构** - **命令**: `mysqldump -u username -p --no-data database_name > structure.sql` - **功能**: 只导出数据库的表结构,不包含数据。 - **示例**: `mysqldump -u root -p --no-data my_database > structure.sql` **4. 导出数据** - **命令**: `mysqldump -u username -p --data-only database_name > data.sql` - **功能**: 只导出数据库的数据,不包含表结构。 - **示例**: `mysqldump -u root -p --data-only my_database > data.sql` 以上就是MySQL常用的命令集合,无论是初学者还是有一定经验的用户都可以从中找到实用的操作指南。通过熟练掌握这些命令,可以大大提高数据库管理的效率。
剩余28页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5G建设和AI技术推动下,中证5G通信ETF的投资价值探讨
- Python项目之淘宝模拟登录.zip
- 课程设计项目:python+QT实现的小型编译器.zip
- (源码)基于AVR ATmega644的智能卡AES解密系统.zip
- (源码)基于C++插件框架的计算与打印系统.zip
- (源码)基于Spring Boot和Vue的苍穹外卖管理系统.zip
- (源码)基于wxWidgets库的QMiniIDE游戏开发环境管理系统.zip
- 通过C++实现原型模式(Prototype Pattern).rar
- 学习记录111111111111111111111111
- 通过java实现原型模式(Prototype Pattern).rar