### MySQL命令大全详解 #### 一、数据库管理命令 ##### 1. 创建数据库 - **命令格式**: `CREATE DATABASE 数据库名;` - **功能**: 用于创建一个新的数据库。 - **示例**: `CREATE DATABASE mydb;` ##### 2. 选择数据库 - **命令格式**: `USE 数据库名;` - **功能**: 用于指定接下来的操作将在哪个数据库上进行。 - **示例**: `USE mydb;` ##### 3. 删除数据库 - **命令格式**: `DROP DATABASE 数据库名;` - **功能**: 直接删除指定的数据库。 - **注意事项**: 此操作无法撤销,请谨慎使用。 - **示例**: `DROP DATABASE mydb;` ##### 4. 显示所有数据库 - **命令格式**: `SHOW DATABASES;` - **功能**: 列出系统中所有的数据库名称。 - **示例**: `SHOW DATABASES;` #### 二、表管理命令 ##### 1. 删除表 - **命令格式**: `DROP TABLE 表名;` - **功能**: 删除指定的表。 - **注意事项**: 同样需要注意此操作不可逆。 - **示例**: `DROP TABLE users;` ##### 2. 创建表 - **命令格式**: `CREATE TABLE 表名 (列定义);` - **功能**: 创建一个新的表,并定义其结构。 - **示例**: ```sql CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL ); ``` ##### 3. 显示表结构 - **命令格式**: `DESCRIBE 表名;` 或 `DESC 表名;` - **功能**: 显示指定表的所有列及其属性。 - **示例**: `DESCRIBE users;` ##### 4. 显示数据库中的表 - **命令格式**: `SHOW TABLES;` - **功能**: 列出当前数据库中的所有表。 - **示例**: `SHOW TABLES;` #### 三、数据查询与操作命令 ##### 1. 查询版本和日期 - **命令格式**: `SELECT VERSION(), CURRENT_DATE();` - **功能**: 查询MySQL服务器的版本号和当前日期。 - **示例**: `SELECT VERSION(), CURRENT_DATE();` ##### 2. 清空表数据 - **命令格式**: `TRUNCATE TABLE 表名;` 或 `DELETE FROM 表名;` - **功能**: 清空指定表中的所有数据。 - **区别**: `TRUNCATE` 是DDL(数据定义语言)命令,速度快,占用资源少;而 `DELETE` 是DML(数据操纵语言)命令,速度慢且占用资源多。 - **示例**: - `TRUNCATE TABLE users;` - `DELETE FROM users;` ##### 3. 显示表中的记录 - **命令格式**: `SELECT * FROM 表名;` - **功能**: 显示指定表中的所有记录。 - **示例**: `SELECT * FROM users;` #### 四、权限与账户管理 ##### 1. 修改用户密码 - **方法一**: - **命令格式**: ```sql UPDATE mysql.user SET Password = PASSWORD('新密码') WHERE User = '用户名'; FLUSH PRIVILEGES; ``` - **示例**: ```sql UPDATE mysql.user SET Password = PASSWORD('newpass') WHERE User = 'root'; FLUSH PRIVILEGES; ``` - **方法二**: - **命令格式**: ```bash mysqladmin -u 用户名 password 新密码 ``` - **示例**: ```bash mysqladmin -u root password newpass ``` - **方法三**: - **命令格式**: ```sql SET PASSWORD FOR 用户名 = PASSWORD('新密码'); ``` - **示例**: ```sql SET PASSWORD FOR root = PASSWORD('newpass'); ``` - **注意**: 方法三可能不适用于所有MySQL版本。 ##### 2. 创建新账户 - **命令格式**: `GRANT 权限 ON 数据库.表 TO '用户名'@'主机地址' IDENTIFIED BY '密码';` - **功能**: 创建新的用户并赋予指定权限。 - **示例**: ```sql GRANT ALL ON *.* TO 'newuser'@'localhost' IDENTIFIED BY 'mypassword'; ``` #### 五、数据备份与恢复 ##### 1. 备份数据库 - **导出整个数据库**: - **命令格式**: `mysqldump -u 用户名 -p 数据库名 > 文件路径` - **示例**: `mysqldump -u root -p asb > d:\asb.sql` - **导出单个表**: - **命令格式**: `mysqldump -u 用户名 -p 数据库名 表名 > 文件路径` - **示例**: `mysqldump -u root -p asbyg > d:\yg.sql` - **导出数据库结构**: - **命令格式**: `mysqldump -u 用户名 -p -d --add-drop-table 数据库名 > 文件路径` - **示例**: `mysqldump -u wcnc -p -d --add-drop-table mgp_apps_wcnc > d:\wcnc_db.sql` ##### 2. 恢复数据库 - **导入数据库**: - **命令格式**: `mysql -u 用户名 -p 数据库名 < 文件路径` - **示例**: 1. 进入MySQL控制台: `mysql -u root -p` 2. 创建或选择数据库: `CREATE DATABASE mydb;`, `USE mydb;` 3. 导入数据: `SOURCE 文件路径` 4. 示例: `SOURCE d:\mydb.sql` - **导入单个表**: - **命令格式**: `mysql -u 用户名 -p 数据库名 < 文件路径` - **示例**: `mysql -u root -p mydb < d:\users.sql` #### 六、示例 假设我们要建立一个名为“school”的数据库,并创建一个名为“teacher”的表,然后向该表中插入一些数据。 ```sql DROP DATABASE IF EXISTS school; // 如果存在SCHOOL则删除 CREATE DATABASE school; // 建立库SCHOOL USE school; // 打开库SCHOOL CREATE TABLE teacher // 建立表TEACHER ( id INT(3) AUTO_INCREMENT NOT NULL PRIMARY KEY, name CHAR(10) NOT NULL, address VARCHAR(50) DEFAULT '深圳', year DATE ); // 插入数据 INSERT INTO teacher (name, address, year) VALUES ('glchen', '深圳', '1990-01-01'); ``` 以上命令首先检查是否存在名为“school”的数据库,如果存在则删除,接着创建新的数据库“school”,并在这个数据库中创建一个名为“teacher”的表,最后向这个表中插入一条记录。这些步骤完整地展示了如何在MySQL中创建数据库、表以及插入数据的基本流程。
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- sensors-18-03721.pdf
- Facebook.apk
- 推荐一款JTools的call-this-method插件
- json的合法基色来自红包东i请各位
- 项目采用YOLO V4算法模型进行目标检测,使用Deep SORT目标跟踪算法 .zip
- 针对实时视频流和静态图像实现的对象检测和跟踪算法 .zip
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip
- 基于Python和HTML的tb商品列表查询分析设计源码