MySQL命令行导出数据库:
①.,进入MySQL目录下的bin文件夹:cd
MySQL中到bin文件夹的目录
如我输入的命令行:cd
C:\Program
Files\MySQL\MySQL
Server
(或者直接将windows的环境变量path中添加该目录)
-u
用户名
-p
数据库名
导出的文件名
如我输入的命令行:mysqldump
root
news
news.sql
(输入后会让你输入进入MySQL的密码)
(如果导出单张表的话在数据库名后面输入表名即可)
命令行导入数据库:
①.,将要导入的.sql文件移至bin文件下,这样的路径比较方便
如我输入的命令行:mysql
(输入同样后会让你输入MySQL的密码)
目标数据库名
如我输入的命令行:mysqluse
news;
导入的文件名;
如我输入的命令行:mysqlsource
news.sql;
以上基本上罗列了用insert插入数据的方法,当然你也可以用insert语句将几行同时插入到一个表中.如下所示:
如果你没有给出local,则服务器按如下方法对其进行定位:
①.)如果你的filename为绝对路径,则服务器从根目录开始查找该文件.
如果你给出了local,则文件将按以下方式进行定位:
①.)如果你的filename为绝对路径,则客户机从根目录开始查找该文件.
说了半天,也许你还不明白这具体的格式,看下面先:
LOAD DATA [LOCAL] INFILE 'filename' into table tablename import_options [(fieldname_list)]
import options的语法为:fieldsterminated by 'char'
enclosed by 'char'
escaped by 'char'linesterminated by 'string'
下面我们对其进行一些说明:
①.)fields terminated by char 指定分隔列的字符.缺省时假定列值由制表符分隔.
需要注意的是转义字符的使用. 如:\' 表示单引号,\" 表示双引号 等等.另外还有一些选项这里没有具体谈到,如 ignore n lines 她可以控制文件的前n行不被读入数据库.详细请看mysql中文参考.
说了上面这么多,给一行命令大家具体体会一下:
load data [local] infile "sample.txt" into table sample fields terminated by "," enclosed by "\""
mysqlimport [options] sample_db filename
同样,给条命令看一下吧:
通过导入文件的方式插入,文件可以用其他方式先生成,比如使用java,来生成data1.txt,然后使用下面的sql语句:
load
data
local
infile
'd:/data1.txt'
replace
into
table
hk_acinfo
lines
terminated
by
'\\r\\n'
使用这个方法,我插入过1千万以上的数据,如果没有网络影响的话,每秒1M+/s的速度写入,很快的