"这篇文档是关于MySQL常用命令的总结,涵盖了数据库管理、表操作、用户权限及密码修改等方面。"
在MySQL中,管理和操作数据库涉及一系列的命令行指令。以下是一些基本且重要的命令:
1. **显示数据库**: `show databases;` 这个命令用于列出服务器上所有的数据库,帮助你查看已存在的数据存储空间。
2. **创建数据库**: `create database database_name;` 用于创建新的数据库,你需要提供一个唯一的数据库名称。
3. **选择数据库**: `use database_name;` 用于切换到指定的数据库,以便在该数据库中进行后续的操作。
4. **删除数据库**: `drop database database_name;` 直接删除数据库,如果不想被询问是否确认,可以使用`mysqladmin drop database_name`,但请注意这将永久性地丢失数据。
5. **显示表**: `show tables;` 在当前选中的数据库中显示所有表,这对于了解数据库结构非常有用。
6. **显示表结构**: `describe table_name;` 提供了关于表的详细信息,如字段名、数据类型、键信息等。
7. **查询操作**: `select distinct column_name from table_name;` 使用`DISTINCT`关键字可以去除查询结果中的重复值。
8. **密码修改**: 要修改MySQL的root用户密码,首先通过命令行登录,然后执行以下命令:
```
mysql> update user set password=password("new_password") where user='root';
mysql> flush privileges; // 刷新权限,使更改生效
```
9. **用户权限管理**:
- `grant` 命令用于分配用户权限。例如,创建名为`firstdb`的用户并给予对`firstdb`数据库的全部权限:
```
mysql> create database firstdb;
mysql> grant all on firstdb.* to 'firstdb'@'localhost' identified by 'firstdb';
```
- 若要允许用户从其他主机访问,需要使用特定的IP地址或通配符(%)进行授权:
```
mysql> grant all on *.* to 'root'@'202.116.39.2' identified by '123456';
```
10. **权限范围**:
- `grant`命令中的权限可以是`INSERT`, `SELECT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`, `ALTER`等,它们分别对应着插入、查询、更新、删除、创建、删除和修改表结构的权限。
- `ON`后面的`database_name.table_name`定义了权限的范围,`*.*`表示所有数据库的所有表。
理解并熟练掌握这些基本的MySQL命令,对于日常的数据管理、备份、恢复以及权限控制都至关重要。记得在操作数据库时谨慎行事,因为许多操作都是不可逆的。在生产环境中,总是建议先备份数据,然后再进行修改或删除操作,以防止数据丢失。