数据库导出到文件
导出sql文件:
mysqldump -h localhost -uroot -p123 test > d:\test.sql //windows
mysqldump -h localhost -uroot -p test > /tmp/test.sql //mac和linux
//win下可以直接输入密码,但是mac下不行,必须另输
将test数据库导出到d盘下面的test.sql文件中。得到的是重新建立一个一模一样的test数据库的sql语句。
mysqldump -h localhost -uroot -p123 test stu > d:\test.sql //windows
mysqldump -h localhost -uroot -p test stu > /tmp/test.sql //mac和linux
将test数据库中的stu数据表导出到外部文件中。得到是重新创建一个一模一样的stu数据表的sql语句。
导出txt文件:
mysqldump -h localhost -uroot -p -T D:\data\mysql test stu [option] //windows
mysqldump -h localhost -uroot -p -T /tmp test stu [option] //mac和linux
//关于[option]看
//
或者进入mysql里面
mysql> use test
mysql> select * from stu into outfile 'd:\\data\\stu.txt' [option]; //必须是双反斜杠
//option 介绍 转自
//
//FIELDS TERMINATED BY ‘字符串’:设置字符串为字段的分割符,默认值为 \t
//FIELDS ENCLOSED BY ‘字符’:设置字符串括上char varchar text等字符型字段,默认值为 无任何符号
//FIELDS OPTIONALLY ENCLOSED BY ‘字符’:设置字符串括上字段的值,默认值为 无任何符号
//LINES STARTING BY ‘字符串’:设置每一行开头的字符,默认值为 无任何字符
//FIELDS ESCAPED BY ‘字符’:设置转义字符,默认值为 \
//LINES TERMINATED BY ‘字符串’:设置每行结束符,默认值为 \n
上面这个语句在执行的时候可能会报错,因为d:\data\文件夹没有被设置为mysql传输文件指定的文件夹。一般刚安装时这个文件夹为NULL,我们需要自己设置。
下面设置为windows:
secure_file_priv="D:\data\" 表示d盘下的data文件夹可以接受mysql的文件传输
secure_file_priv="" 等于空时,表示文件传输不受限制
secure_file_priv= NULL 表示不能进行文件传输。
设置方法就是:
1.退出mysql,关闭mysql服务
2.打开my.ini
3.在[mysqld]后面添加一行,如图所示
4.保存,重启mysql服务。
5.再次输入上面的语句就可以了(注意语句中的文件要用"\\")
通过查看show variables like '%secure%' 就可以知道设置是否成功。
下面的设置为mac:
1.退出mysql,关闭mysql服务
2.打开my.cnf (注意,mac中的my.cnf是在etc文件下的,不是在mysql文件夹中的。linux中我步确定放在哪里)
3.在[mysqld]后面添加一行,如图所示
4.保存,重启mysql服务。
5.再次输入上面的语句就可以了
数据库从导入文件
导入sql:
必须先创建test2数据库
mysql> create database test2
mysql -h localhost -uroot -p123 test2
或者进入mysql
mysql> use test3
mysql> source D:\data\database\mysql\test.sql //windows
mysql> source /tmp/test.sql //mac
导入txt:
譬如我有这么一张表
序号,名字,成绩
1,张三,100
2,hello,234
3,张三,100
4,王五,100
6,天才,99
7,aaa,22
8,baa,22
必须先创建符合文本数据规范的数据表
create table import (id int(10),name varchar(128), study int(10));
然后导入
load data infile 'D:\\data\\database\\mysql\\text.txt'
into table import
fields terminated by '\,' //分隔符 这个就是[option]中的一种
ignore 1 lines //忽略第一行(标题行)
(id,name,study);