本节针对使用命令行来实现导入导出数据库的各个方法进行解释,这些命令可以用户数据库备份和恢复。数据库的导入导出也可以使用各种数据库管理工具可视化界面操作。
导出:
1、进入MySQL目录下的bin文件夹,在该目录下打开命令行。
2、使用mysqldump命令进行导出
**导出整个数据库:**
mysqldump -u [用户名] -p[密码] [数据库名] > 路径/文件名。
```
mysqldump -u root -proot user > d:/user.sql // 将user数据库导出至d盘根目录
```
**导出单张表:(多张表用空格隔开)**
mysqldump -u [用户名] -p[密码] [数据库名] [表名1 表名2] > 路径/导出的文件名
```
mysqldump -u root -proot user userInfo > d:/userInfo .sql //将user数据库的userInfo表导出至d盘
mysqldump -u root -proot user userInfo user > d:/userInfo .sql // 导出userInfo表和user表
```
**导出部分数据**
mysqldump -u [用户名] -p[密码] [数据库名] [表名] --where="筛选条件" > 路径/导出的文件名
```
mysqldump -u root -proot user userInfo --where="sex=1" > d:/userInfo .sql //导出userInfo表中sex=1的数据
```
**导出部分字段(用select语句实现)**
mysql -u[用户名] -p[密码] [数据库] -e "sql语句 INTO OUTFILE '路径/文件名' "
```
//导出user表的id和name字段
mysql -uroot -proot user -e " SELECT id,name from user where id>10 INTO OUTFILE'D:/user.sql'"
```
当执行此命令时,可能会发生以下错误:
`ERROR 1290 (HY000) at line 1: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement`
此错误的意思是必须导出到 secure_file_priv 指定的目录下。因此需要对配置文件就行修改。
在my.ini配置文件中,在[mysqld]下面添加:secure_file_priv = "D:/" 后即可运行成功。
**导出整个数据库表结构:**
mysqldump -u [用户名] -p[密码] -d --add-drop-table [数据库名] > 路径/导出的文件名
* --add-drop-table 这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除。
* -d 表示不导出数据
```
mysqldump -u root -proot -d --add-drop-table user > d:/user.sql // 将user数据库的表结构
```
**导出单张表的表结构:(多张表用空格隔开)**
mysqldump -u [用户名] -p[密码] -d --add-drop-table [数据库名] [表名1 表名2] > 路径/导出的文件名
```
mysqldump -u root -proot -d --add-drop-table user userInfo user > d:/user.sql // 导出userInfo和user表的表结构
```
导入:
1、登录mysql:mysql -u root -p
2、切换数据库:use 数据库
3、使用source命令:source 路径/文件。
```
mysql> mysql -u root -p
Enter password: ******
mysql> use user
Database Changed
mysql>source d:/user.sql
```