PHP实战中知识总结 / Mysql - 导入导出数据库

本文针对使用命令行来实现导入导出数据库的各个方法进行解释,这些命令可以用户数据库备份和恢复。数据库的导入导出也可以使用各种数据库管理工具可视化界面操作。

一、导出

1、进入MySQL目录下的bin文件夹,在该目录下打开命令行。

2、使用mysqldump命令进行导出。

(1)导出整个数据库

mysqldump -u [用户名] -p[密码] [数据库名] > 路径/文件名。

mysqldump -u root -proot website > d:/website.sql  // 将website数据库导出至d盘根目录

(2)导出单张表:(多张表用空格隔开)

mysqldump -u [用户名] -p[密码] [数据库名] [表名1 表名2] > 路径/导出的文件名

mysqldump -u root -proot website userInfo > d:/userInfo .sql //将website数据库的userInfo表导出至d盘
mysqldump -u root -proot website userInfo article > d:/userInfo .sql // 导出userInfo表和article表

(3)导出部分数据

mysqldump -u [用户名] -p[密码] [数据库名] [表名] --where="筛选条件" > 路径/导出的文件名

mysqldump -u root -proot website userInfo --where="sex=1" > d:/userInfo .sql //导出userInfo表中sex=1的数据

(4)导出部分字段(用select语句实现)

mysql -u[用户名] -p[密码] [数据库] -e "sql语句 INTO OUTFILE '路径/文件名' "

//导出user表的id和name字段
mysql -uroot -proot website -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:/" 后即可运行成功。

(5)导出整个数据库表结构

mysqldump -u [用户名] -p[密码] -d --add-drop-table [数据库名] > 路径/导出的文件名

①--add-drop-table 这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除。

②-d 表示不导出数据

mysqldump -u root -proot -d --add-drop-table website > d:/website.sql  // 将website数据库的表结构

(6)导出单张表的表结构:(多张表用空格隔开)

mysqldump -u [用户名] -p[密码] -d --add-drop-table [数据库名] [表名1 表名2] > 路径/导出的文件名

mysqldump -u root -proot -d --add-drop-table website userInfo article > d:/website.sql  // 导出userInfo和article表的表结构

二、导入

1、登录mysql:mysql -u root -p

2、切换数据库:use 数据库

3、使用source命令:source 路径/文件。

mysql> mysql -u root -p
Enter password: ******
mysql> use website
Database Changed
mysql>source d:/website.sql

PHP实战中知识总结