博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysqldump 导入/导出 结构&数据&存储过程&函数&事件&触发器
阅读量:1832 次
发布时间:2019-04-25

本文共 2818 字,大约阅读时间需要 9 分钟。

MySQL mysqldump 导入/导出 结构&数据&存储过程&函数&事件&触发器

一、使用mysqldump导出/导入sql数据文件

二、使用infile/outfile导入/导出txt/csv数据文件

———————————————-库操作———————————————-

1.①导出一个库结构

mysqldump -d dbname -u root -p > xxx.sql

②导出多个库结构

mysqldump -d -B dbname1 dbname2 -u root -p > xxx.sql

2.①导出一个库数据

mysqldump -t dbname -u root -p > xxx.sql

②导出多个库数据

mysqldump -t -B dbname1 dbname2 -u root -p > xxx.sql

3.①导出一个库结构以及数据

mysqldump dbname1 -u root -p > xxx.sql

②导出多个库结构以及数据

mysqldump -B dbname1 dbname2 -u root -p > xxx.sql

———————————————-表操作———————————————-

4.①导出一个表结构

mysqldump -d dbname1 tablename1 -u root -p > xxx.sql

②导出多个表结构

mysqldump -d -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql

5.①导出一个表数据

mysqldump -t dbname1 tablename1 -u root -p > xxx.sql

②导出多个表数据

mysqldump -d -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql

6.①导出一个表结构以及数据

mysqldump dbname1 tablename1 -u root -p > xxx.sql

②导出多个表结构以及数据

mysqldump -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql

————————————–存储过程&函数操作————————————-

7.只导出存储过程和函数(不导出结构和数据,要同时导出结构的话,需要同时使用-d)

mysqldump -R -ndt dbname1 -u root -p > xxx.sql

———————————————-事件操作———————————————-

8.只导出事件

mysqldump -E -ndt dbname1 -u root -p > xxx.sql

—————————————–触发器操作——————————————–

9.不导出触发器(触发器是默认导出的–triggers,使用–skip-triggers屏蔽导出触发器)

mysqldump --skip-triggers dbname1 -u root -p > xxx.sql

————————————————————————————————

10.导入

source xxx.sql

————————————————————————————————

总结一下:

-d 结构(–no-data:不导出任何数据,只导出数据库表结构)

-t 数据(–no-create-info:只导出数据,而不添加CREATE TABLE 语句)

-n (–no-create-db:只导出数据,而不添加CREATE DATABASE 语句)

-R (–routines:导出存储过程以及自定义函数)

-E (–events:导出事件)

–triggers (默认导出触发器,使用–skip-triggers屏蔽导出)

-B (–databases:导出数据库列表,单个库时可省略)

–tables 表列表(单个表时可省略)

①同时导出结构以及数据时可同时省略-d和-t
②同时 不 导出结构和数据可使用-ntd
③只导出存储过程和函数可使用-R -ntd
④导出所有(结构&数据&存储过程&函数&事件&触发器)使用-R -E(相当于①,省略了-d -t;触发器默认导出)
⑤只导出结构&函数&事件&触发器使用 -R -E -d

PS:如果可以使用相关工具,比如官方的MySQL Workbench,则导入导出都是极为方便的,如下图。(当然为了安全性,一般情况下都是屏蔽对外操作权限,所以需要使用命令的情况更多些)

————————————————————————————————

下面为使用infile/outfile导入/导出txt/csv数据文件操作

10.①首先使用语句看一下可以导入/导出的路径在哪里

show variables like ‘%secure%’;

表示导入/导出只能存放在E:/下面。

②如果不按照对应路径进行操作的话,将报如下错误:

Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

③如果还有权限问题,请修改my.ini将secure_file_priv设置到有权限的路径下

11.对csv/txt数据导入和导出

①导出csv数据

select *

into outfile ‘E:/table1_data.csv’
character set gb2312
fields terminated by ‘,’ optionally enclosed by ‘"’ escaped by ‘"’
lines terminated by ‘\r\n’
from table1;

②导入csv数据

load data infile ‘E:/table1_data.csv’

into table table1 character set gb2312
fields terminated by ‘,’ optionally enclosed by ‘"’ escaped by ‘"’
lines terminated by ‘\r\n’;

③导出txt数据

默认使用空格作为分隔符,需要其它参数请参考上面的csv操作

select *

into outfile ‘E:/table1_data.txt’
from table1;

④导入txt数据

load data infile ‘E:/table1_data.txt’

into table table1;

转载地址:http://mkrkf.baihongyu.com/

你可能感兴趣的文章
Vue基础代码学习
查看>>
vue的模板的父子组件使用,并且实现数据传递
查看>>
vue父访问子组件中的数据方法,使用$refs
查看>>
vue中子组件访问父组件中的数据方法,使用$parent或者$root
查看>>
vue中的插槽使用slot
查看>>
前端模块化工具webpack
查看>>
安装vue脚手架不成功的解决方法
查看>>
使用visual studio 2019 开发vue项目
查看>>
ES6的箭头函数使用
查看>>
android studio 新版本打开就版本代码出现的问题解决办法
查看>>
android alertdialog的自定义背景设置方法
查看>>
简单的Toast类
查看>>
android studio 新建文件自动增加文件注释说明
查看>>
让activity充满整个屏幕
查看>>
alertdialog点击确定对话框不消失的方法
查看>>
android模拟器使用虚拟串口实现和PC通讯
查看>>
Visual studio 2010 主题设置
查看>>
C# WPF DataGrid 根据某列的值设置行的背景色
查看>>
水晶报表(Crystal Report)通过Visual Studio 2010的WPF实现
查看>>
C# 实现多语言界面
查看>>