根据给定的文件信息,以下是对“mysql使用大全”中涉及的关键知识点的详细解析:
### MySQL 基础操作
1. **创建数据库**
- `createdatabase <数据库名>;`:这条命令用于创建一个新的数据库。
- 示例:`createdatabasexhkdb;` 创建一个名为 xhkdb 的新数据库。
2. **选择数据库**
- `usedatabase <数据库名>;`:用于切换当前操作的数据库。
- 示例:`usexhkdb;` 切换到 xhkdb 数据库。
3. **删除数据库**
- `dropdatabase <数据库名>;`:用于删除一个已存在的数据库。
- 示例:`dropdatabasexhkdb;` 删除 xhkdb 数据库。
4. **显示所有数据库**
- `showdatabases;`:列出当前 MySQL 服务器上所有的数据库。
5. **查看当前使用的数据库**
- `selectdatabase();`:返回当前正在操作的数据库名称。
### 表操作与数据管理
1. **创建表**
- `createtable <表名>(<字段列表>);`:创建一个新表并定义其结构。
- 示例:`createtableMyClass(idint(4)notnullprimarykeyauto_increment,namechar(20)notnull,sexint(4)notnulldefault'0',degreedouble);`
2. **显示表结构**
- `describetable <表名>;`:显示指定表的结构,包括字段名、类型等信息。
- 示例:`describemyclass;` 显示 MyClass 表的结构。
3. **数据查询**
- `select * from <表名>;`:查询表中的所有数据。
- `select distinct <列名> from <表名>;`:查询表中某列的所有不重复值。
4. **权限管理**
- `grant <权限列表> on <数据库>.<表> to '<用户>@<主机>' identified by '<密码>';`:授予用户对特定数据库和表的访问权限。
- 示例:`grant select, insert, update, delete, create, drop on fangchandb.* to [email protected] identified by 'passwd';`
- `revoke all privileges on *.* from '<用户>@<主机>';`:撤销用户的所有权限。
- 示例:`revoke all privileges on *.* from 'root'@'%';`
### 数据备份与恢复
1. **备份数据库**
- 使用 `mysqldump` 工具进行数据库的备份。
- 示例:`mysqldump -h host -u root -p dbname > dbname_backup.sql`:将 dbname 数据库备份到 dbname_backup.sql 文件中。
2. **恢复数据库**
- 使用 `mysql` 客户端导入备份的 SQL 文件。
- 示例:`mysql -h host -u root -p dbname < dbname_backup.sql`:将 dbname_backup.sql 文件中的数据恢复到 dbname 数据库中。
### 连接与用户管理
1. **连接 MySQL 服务器**
- `mysql -u <用户名> -p`:使用指定的用户名连接到 MySQL 服务器,输入密码后完成登录。
2. **修改用户密码**
- `update user set password = password('<新密码>') where user = '<用户名>';`
- 示例:`update usersetpassword=password("admin")whereuser='root';` 修改 root 用户的密码为 admin。
3. **刷新权限**
- `flush privileges;`:更新服务器上的权限信息,确保最新的权限更改生效。
通过以上知识点的学习,可以全面掌握 MySQL 数据库的基本操作、数据管理以及权限控制,为日常的数据库维护与开发工作打下坚实的基础。