导入示例:
load data infile 'C:\\seay.csv' into table 表名
CHARACTER SET utf8
fields terminated by ';'
optionally enclosed by '"'
lines terminated by '\r\n' (列1,列2)
导出方式一:
select * from test_info
into outfile 'C:/seay.csv'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
导出方式二:
D:\MySQL5\bin>mysqldump -h你的ip -u用户名 -p密码 --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE --default-character-set="gbk" --where="id<4287152 and id>0" 数据库名 表名 --skip-lock-tables>d:\sql.sql
--no-create-db=TRUE 表示不生成创建数据库的语句
--add-drop-table=FALSE 表示不生成drop表的语句
--default-character-set="gbk" 导出数据的编码为"GBK",很重要,如果是中文数据,尤其重要
--where="id<4287152 and id>0" 指定导出数据的条件
--skip-lock-tables 这个不是很清楚,按字面理解“跳过锁定的表”
导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql
导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dump.sql
导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
只导出数据(不包含表结构)
mysqldump -t database -h localhost -uroot -p123456 > dump.sql
存储过程导出和导入,具体用法为:
导出
[root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql
参数说明:
-n: --no-create-db
-d: --no-data
-t: --no-create-info
-R: --routines Dump stored routines (functions and procedures)
------------------------------数据导入导致的问题处理-----------------------------------
先将数据库按 -d 和 -t 导成建表语句,以及数据插入语句.
一般表导入没问题,但是数据导入一般存在问题.
数据的问题一般两个问题,一个是字段关键字的问题,另一个就是字符编码的问题.
关键字的问题,可以用mysql-front 他导出的字段都是带有·filename·
load data infile 'C:\\seay.csv' into table 表名
CHARACTER SET utf8
fields terminated by ';'
optionally enclosed by '"'
lines terminated by '\r\n' (列1,列2)
导出方式一:
select * from test_info
into outfile 'C:/seay.csv'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
导出方式二:
D:\MySQL5\bin>mysqldump -h你的ip -u用户名 -p密码 --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE --default-character-set="gbk" --where="id<4287152 and id>0" 数据库名 表名 --skip-lock-tables>d:\sql.sql
--no-create-db=TRUE 表示不生成创建数据库的语句
--add-drop-table=FALSE 表示不生成drop表的语句
--default-character-set="gbk" 导出数据的编码为"GBK",很重要,如果是中文数据,尤其重要
--where="id<4287152 and id>0" 指定导出数据的条件
--skip-lock-tables 这个不是很清楚,按字面理解“跳过锁定的表”
导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql
导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dump.sql
导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
只导出数据(不包含表结构)
mysqldump -t database -h localhost -uroot -p123456 > dump.sql
存储过程导出和导入,具体用法为:
导出
[root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql
参数说明:
-n: --no-create-db
-d: --no-data
-t: --no-create-info
-R: --routines Dump stored routines (functions and procedures)
------------------------------数据导入导致的问题处理-----------------------------------
先将数据库按 -d 和 -t 导成建表语句,以及数据插入语句.
一般表导入没问题,但是数据导入一般存在问题.
数据的问题一般两个问题,一个是字段关键字的问题,另一个就是字符编码的问题.
关键字的问题,可以用mysql-front 他导出的字段都是带有·filename·