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