【韦德国际1946官网】MYSQL导入导出命令详解,m

2019-05-24 23:06 来源:未知

/usr/local/mysql/bin/mysql -uroot -proot test -e "LOAD DATA INFILE '/usr/1.txt' replace INTO TABLE test FIELDS TERMINATED BY 't' (name,address)"

mysql导入数据方式mysqlimport

info:
1.txt
zhangsan wuhan
lishi wuhan
把一.txt文本插入到mysql数据库中

 

英特网看了部分计算出来的资料,不知底对大家有未有用的,有用的话也就不枉费小编1按按键的一片苦心了;P

壹).mysqlimport的语法介绍:

1.mysql -u root -p 数据库名 </文件路线(在bin下就平素加文件名)
二.mysqlimport的语法介绍:
mysqlimport位于mysql/bin目录中,是mysql的三个载入(或然说导入)数据的叁个百般有效的工具。那是二个命令行工具。有三个参数以及多量的选项可供选拔。那些工具把三个文书文件(text file)导入到你内定的数据库和表中。比如说大家要从文件Customers.txt中把数量导入到数据库Meet_A_Geek中的表 Custermers中:
mysqlimport Meet_A_Geek Customers.txt
专注:这里Customers.txt是我们要导入数据的公文文件,而Meet_A_Geek是大家要操作的数据库,数据库中的表名是Customers,这里文本文件的数目格式必须与Customers表中的记录格式壹致,不然mysqlimport命令将会出错。
内部表的名字是导入文本的第多个句号(.)前边文件字符串,此外2个事例:
mysqlimport Meet_A_Geek Cus.to.mers.txt
那么我们将把公文中的内容导入到数据库Meet_A_Geek 中的Cus表中。上边的例子中,都只用到五个参数,并从未利用更加多的选项,下边介绍mysqlimport的选项:
选项 功能
-d or --delete 新数据导入数据表中在此之前删除数据数据表中的持有音讯
-f or --force 不管是或不是碰到错误,mysqlimport将挟持继续插入数据
-i or --ignore mysqlimport跳过照旧忽视那么些有壹致唯一主要字的行, 导入文件中的数据将被忽略。
-l or -lock-tables 数据被插入此前锁住表,那样就幸免了,你在立异数据库时,用户的询问和更新受到震慑。
-r or -replace 这些选项与-i选项的功力反倒;此选项将代替表中有一样唯1首要字的笔录。
--田野同志s-enclosed- by= char 钦命文本文件中数据的笔录时以什么样括起的, 许多动静下多少以双引号括起。 暗中认可的场合下数据是绝非被字符括起的。
--田野同志s-terminated- by=char 内定种种数据的值时期的分隔符,在句号分隔的文书中,分隔符是句号。您能够用此选项钦命数量里面包车型客车分隔符。暗中同意的相间符是跳格符(Tab)
--lines-terminated- by=str 此选项钦赐文本文件中央银行与行之间数据的相间字符串大概字符。 默许的情景下mysqlimport以newline为行分隔符。您能够挑选取二个字符串来替代一个单个的字符:八个新行可能三个回车。
mysqlimport命令常用的选料还应该有-v 彰显版本(version), -p 提醒输入密码(password)等。
事例:导入一个以逗号为分隔符的公文文件中央银行的记录格式是那般的:
"1", "ORD89876", "1 Dozen Roses", "19991226"
我们的天职是要把这么些文件之中的数码导入到数据库Meet_A_Geek中的表格Orders中,我们利用这么些命令:
bin/mysqlimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt
三.mysql数据库常用导出导入命令的多少个用例
================================
多少个常用用例:
1.导出总体数据库
mysqldump -u 用户名 -p 数据库名 > 导出的公文名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
二.导出七个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出三个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 未有数据 --add-drop-table 在各种create语句在此以前增添二个drop table
4.导入数据库
常用source 命令
进入mysql数据库调整台,
如mysql -u root -p
mysql>use 数据库
下一场使用source命令,后边参数为脚本文件(如这里运用的.sql)
mysql>source d:wcnc_db.sql
四.可参看 MySQL数据的导出和导入工具:mysqldump
====================================
批管理是壹种非交互式运转mysql程序的格局,就像你在mysql中利用的一声令下一样,你还是将使用这么些命令。为了贯彻批管理,您重定向三个文书到 mysql程序中,首先大家需求二个文本文件,那几个文件文件包涵有与大家在mysql中输入的授命同样的公文。比方大家要插入一些数码,使用带有上边文本的文书(文件名称为New_Data.sql,当然大家也得以取名叫New_Data.txt及任何别的的合法名字,并不一定要事后缀sql结尾):
USE Meet_A_Geek;
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block");
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton");
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Simmons");
小心上边的那几个句子的语法都必须是科学的,并且每一个句子以根据地结束。上边的USE命令采取数据库,INSERT命令插入数据。
上面我们要把下边包车型客车文本导入到数据库中,导入在此以前要承认数据库已经在运维,正是mysqld进程(恐怕说服务,Windows NT下边称为”服务“,unix下边为”进度“)已经在运行。然后运转上边包车型客车一声令下:
bin/mysql –p < /home/mark/New_Data.sql
进而按提醒输入密码,要是上面的文本中的语句未有不当,那么这一个数据就被导入到了数据库中。
一声令下行中使用LOAD DATA INFILE 从文件中程导弹入数据到数据库:
当今您大概会问本人,"毕竟为何自个儿要输入全体的那些SQL语句到文件中,然后经进度序运转它们啊?”那样看起来好像供给多量的办事。很好,你那样想很或许就对了。可是假如你有从全数这么些命令中发生的log记录呢?以往如此就很棒,嗯,大诸多数据库都会活动发出数据库中的事件记录的log。而大大多log 都包含有用过的原始的SQL命令。由此,若是您不能够从你将来的数据库中程导弹出多少到新的mysql数据库中采纳,那么您可以运用log和mysql的批管理本性,来快捷且便于地导入您地数量。当然,那样就省去了打字的麻烦。
LOAD DATA INFILE
那是我们要介绍的最后三个导入数据到MySQL数据库中的方法。这几个命令与mysqlimport特别相像,但以此格局能够在mysql命令行中使用。相当于说您能够在具备应用API的次第中应用这些命令。使用这种艺术,您就可以在应用程序中程导弹入您想要导入的数码。
动用那个命令此前,mysqld进程(服务)必须已经在运作。运维mysql命令行:
bin/mysql –p
按提醒输入密码,成功跻身mysql命令行之后,输入上面包车型大巴授命:
USE Meet_A_Geek;
LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders;
简短的讲,那样将会把文件data.sql中的内容导入到表Orders中,如mysqlimport工具同样,那些命令也会有一点点足以挑选的参数。举个例子你必要把本身的计算机上的多少导入到远程的数据库服务器中,您能够运用上面的一声令下:
LOAD DATA LOCAL INFILE "C:MyDocsSQL.txt" INTO TABLE Orders;
地点的LOCAL参数表示文件是本土的文书,服务器是你所登录的服务器。这样就节省了动用ftp来上传文件到服务器,MySQL替你完结了.
您也得以设置插入语句的优先级,倘令你要把它标识为低优先级(LOW_POdysseyIO宝马X3ITY),那么MySQL将会等到未有其余人读那几个表的时候,才把插入数据。能够行使如下的命令:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders;
你也足以钦定是不是在插入数据的时候,代替也许忽视文件与数据表中重复的键值。替代重复的键值的语法:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" REPLACE INTO TABLE Orders;
上边的句子看起来有一点愚笨,但却把关键字放在了让您的分析器能够精通的地方。
上边包车型地铁壹对选用描述了文本的记录格式,这一个选用也是在mysqlimport工具中能够用的。他们在这里看起来有些不一样。首先,要用到FIELDS关键字,假若用到那么些主要字,MySQL解析器希望观望至少有上面包车型客车三个精选:
TERMINATED BY character
ENCLOSED BY character
ESCAPED BY character
那个首要字与它们的参数跟mysqlimport中的用法是同一的. The
TEPRADOMINATED BY 描述字段的分隔符,私下认可情况下是tab字符(t)
ENCLOSED BY描述的是字段的括起字符。比方以引号括起每三个字段。
ESCAPED BY 描述的转义字符。默许的是反些杠(backslash: ).
上边依然选择后面包车型大巴mysqlimport命令的例证,用LOAD DATA INFILE语句把同样的公文导入到数据库中:
LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ','
ENCLOSED BY '"';
LOAD DATA INFILE语句中有1个mysqlimport工具中从不特色:LOAD DATA INFILE 能够按钦定的列把文件导入到数据库中。
当大家要把数量的一局地内容导入的时候,这几个特点就很首要。举个例子说,我们要从Access数据库晋级到MySQL数据库的时候,须要进入一些栏目(列/字段 /田野先生)到MySQL数据库中,以适应一些额外的急需。这年,大家的Access数据库中的数据如故是可用的,不过因为这一个数量的栏目 (田野先生)与MySQL中的不再相配,因此而一筹莫展再接纳mysqlimport工具。就算如此,大家照样能够使用LOAD DATA INFILE,下边包车型客车事例显示了哪些向钦命的栏目(田野(field))中程导弹入数据:
LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);
如你所见,我们可以钦命须求的栏目(田野(field)s)。那个钦定的字段依旧是以括号括起,由逗号分隔的,借让你遗漏了内部任何三个,MySQL将会提醒您^_^ 。

  www.2cto.com  

你也许感兴趣的稿子:

  • Mysql 导入导出csv 汉语乱码难题的缓慢解决办法
  • Python之csv文件从MySQL数据库导入导出的不2法门
  • MYSQL 数据库导入导出命令
  • MySQL 文本文件的导入导出数据的点子
  • MySQL数据库导出与导入及大面积错误消除
  • MySQL导入导出.sql文件及常用命令小结
  • Mysql导入导出工具Mysqldump和Source命令用法详解
  • mysql 导入导出数据库以及函数、存款和储蓄进度的牵线
  • mysqldump命令导入导出数据库方法与实例汇总
  • MySQL数据库怎样导入导出(备份还原)
  • mysql达成查询结果导出csv文件及导入csv文件到数据库操作

  mysqlimport位居mysql/bin目录中,是mysql的一个载入(也许说导入)数据的叁个极其管用的工具。那是1个命令行工具。有四个参数 以及大批量的选项可供选择。那个工具把2个文件文件(text file)导入到你内定的数据库和表中。比方说我们要从文件Customers.txt中把多少导入到数据库Meet_A_Geek中的表 Custermers中:

 

  mysqlimport Meet_A_Geek Customers.txt

 

  注意:这里Customers.txt是大家要导入数据的文书文件,而Meet_A_Geek是我们要操作的数据库,数据库中的表名是Customers,这里文本文件的数额格式必须与Customers表中的记录格式一致,不然mysqlimport命令将会出错。

  www.2cto.com  

  个中表的名字是导入文本的率先个句号(.)前边文件字符串,其余一个例证:

 

  mysqlimport Meet_A_Geek Cus.to.mers.txt

 

  那么我们将把公文中的内容导入到数据库Meet_A_Geek 中的Cus表中。

上边包车型地铁例证中,都只用到多个参数,并未接纳愈来愈多的选项,下边介绍mysqlimport的精选

  2).mysqlimport的常用选项介绍:

 

       选项                    功能

  -d or --delete      新数据导入数据表中从前删除数据数据表中的装有音讯

  -f or --force       不管是还是不是遭遇错误,mysqlimport将勒迫继续插入数据

  -i or --ignore       mysqlimport跳过照旧忽视那多少个有雷同唯壹

              关键字的行, 导入文件中的数据将被忽略。

  -l or -lock-tables  数据被插入在此以前锁住表,那样就避免了,

                你在更新数据库时,用户的询问和翻新受到震慑。

  -r or -replace        那个选项与-i选项的功能反倒;此选项将顶替

                           表中有同样唯1首要字的笔录。

 --fields-enclosed- by= char

                 钦定文本文件中多少的记录时以什么样括起的, 繁多情形下

                 数据以双引号括起。 私下认可的场馆下数据是尚未被字符括起的。

  --fields-terminated- by=char

                 钦定各类数据的值时期的分隔符,在句号分隔的文本中,

                 分隔符是句号。您可以用此选项钦赐数量里面包车型地铁分隔符。

                 默许的相间符是跳格符(Tab)

  --lines-terminated- by=str

                此选项钦赐文本文件中央银行与行之间数据的相间字符串

                恐怕字符。 暗许的情形下mysqlimport以newline为行分隔符。

                您能够选用用3个字符串来代替二个单个的字符:

                 3个新行恐怕一个回车。

  mysqlimport命令常用的选料还恐怕有-v 展现版本(version), -p 提醒输入密码(password)等。

 

 

  3).例子:导入1个以逗号为分隔符的文本

 

  文件中央银行的记录格式是这样的:

  "1", "ORD89876", "1 Dozen Roses", "19991226"

  大家的职分是要把这一个文件之中的数据导入到数据库Meet_A_Geek中的表格Orders中,

 

  大家运用这几个命令:

 

  bin/mysqlimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt

  那么些命令或许看起来很不爽,可是当你熟知了未来,这是非常轻易的。

 

  第三片段,bin/mysqlimport ,告诉操作系统你要运转的指令是mysql/bin目录下的mysqlimport,选项p是供给输入密码,那样将须要您在转移数据库此前输入密码,操作 起来会更安全。我们用了r选项是因为大家想要把表中的独占鳌头首要字与公事记录中有再次唯1首要字的笔录替换到文件中的数据。大家表单中的数据不是流行的,供给用文件中的数据去立异,因此就用r这一个选项,替代数据库中一度有的记录。l选项的法力是在我们插入数据的时候锁住表,那样就拦截了用户在大家更新表的时 候对表举行查询可能转移的操作。

 

mysql导入数据命令之(二):使用批管理和LOAD

 

批管理导入文本,从sql文件导入数据到数据库中 ,批管理是一种非交互式运营mysql程序的方法,如同你在mysql中动用的一声令下同样,你照旧将使用那一个命令。 

 

为了实现批管理,您重定向一个文件到mysql程序中,首先我们须要叁个文书文件,那些文件文件蕴含有与大家在mysql中输入的下令同样的公文。 

 

比方大家要插入一些数量,使用含有下边文本的公文(文件名称为New_Data.sql,当然大家也得以取名称叫New_Data.txt及其余别的的法定名字,并不一定要事后缀sql结尾): 

USE Meet_A_Geek; 

INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block"); 

INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton"); 

INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Simmons"); 

 

留神上边的这么些句子的语法都不可能不是科学的,并且每一种句子以分行截至。 上边的USE命令接纳数据库,INSERT命令插入数据。 

 

下边我们要把地点的文件导入到数据库中,导入此前要认同数据库已经在运营,就是mysqld进度(可能说服务,Windows NT下边称为”服务“,unix上面为”进程“)已经在运维。 

 

下一场运维下边包车型大巴下令: 

bin/mysql –p < /home/mark/New_Data.sql 

 

随之按提醒输入密码,要是地方的文本中的语句没错误,那么这个数据就被导入到了数据库中。 

 

指令行中使用LOAD DATA INFILE 从文件中程导弹入数据到数据库: 

 

目前你或者会问自己,"终归怎么小编要输入全部的那些SQL语句到文件中,然后经进度序运营它们啊?” 那样看起来好像须要大批量的行事。很好,你如此想很大概就对了。然而若是你有从持有这一个命令中发生的log记录呢?未来这么就很棒,嗯,大多数数据库都会自 动发生数据库中的事件记录的log。而诸多log都包罗有用过的固有的SQL命令。因而,固然你无法从你未来的数据库中程导弹出多少到新的mysql数据库 中使用,那么你能够动用log和mysql的批管理个性,来极快且有利于地导入您地数量。当然,那样就节省了打字的麻烦。 

 

LOAD DATA INFILE 

 

那是大家要介绍的尾声一个导入数据到MySQL数据库中的方法。那几个命令与mysqlimport极其相似,但那个艺术能够在mysql命令行中使用。也 正是说您可以在有着应用API的先后中使用那么些命令。使用这种艺术,您就足以在应用程序中程导弹入您想要导入的数据。使用那一个命令以前,mysqld进度(服 务)必须已经在运作。 

 

启动mysql命令行: 

bin/mysql –p 

 

按提醒输入密码,成功进入mysql命令行之后,输入上边包车型地铁一声令下: 

USE Meet_A_Geek; 

LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders; 

 

回顾的讲,那样将会把公文data.sql中的内容导入到表Orders中,如mysqlimport工具同样,这么些命令也会有一部分方可采用的参数。譬如您要求把温馨的微管理器上的数据导入到远程的数据库服务器中,您能够应用上边包车型地铁命令: 

LOAD DATA LOCAL INFILE "C:/MyDocs/SQL.txt" INTO TABLE Orders; 

 

地点的LOCAL参数表示文件是本地的文件,服务器是你所登入的服务器。 这样就省去了应用ftp来上传文件到服务器,MySQL替你成功了. 您也得以设置插入语句的优先级,借使您要把它标记为低优先级(LOW_PEvoqueIOLANDITY),那么MySQL将会等到未有别的人读那一个表的时候,才把插入数 据。能够应用如下的指令: 

LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders; 

 

你也足以钦命是还是不是在插入数据的时候,取代大概忽视文件与数据表中再一次的键值。取代重复的键值的语法: 

LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" REPLACE INTO TABLE Orders; 

下面的句子看起来有点愚笨,但却把关键字放在了让您的剖析器能够知晓的地点。 

 

下面包车型大巴一对采纳描述了文本的记录格式,这一个选用也是在mysqlimport工具中能够用的。他们在此地看起来某些分化。首先,要用到FIELDS关键字,借使用到那一个重大字,MySQL剖析器希望看到至少有上边包车型大巴三个取舍: 

TERMINATED BY character 

ENCLOSED BY character 

ESCAPED BY character 

 

那些主要字与它们的参数跟mysqlimport中的用法是同一的. The TE逍客MINATED BY 描述字段的分隔符,私下认可情状下是tab字符(/t) 

ENCLOSED BY描述的是字段的括起字符。举个例子以引号括起每1个字段。 

ESCAPED BY 描述的转义字符。暗许的是反些杠(backslash:/ ). 

 

上边如故使用后面包车型客车mysqlimport命令的例子,用LOAD DATA INFILE语句把同样的文本导入到数据库中: 

LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ',' ENCLOSED BY '"'; 

 

LOAD DATA INFILE语句中有三个mysqlimport工具中未有特色: 

 

LOAD DATA INFILE 能够按钦赐的列把文件导入到数据库中。当我们要把数据的一有个别剧情导入的时候,那些特点就很重大。比如说,大家要从Access数据库晋级到MySQL数 据库的时候,要求进入一些栏目(列/字段/田野同志)到MySQL数据库中,以适应一些特别的须求。 

 

这一年,大家的Access数据库中的数据依旧是可用的,不过因为那么些多少的栏目(田野同志)与MySQL中的不再相称,由此而望尘莫及再采取mysqlimport工具。纵然如此,我们如故能够运用LOAD DATA INFILE,上边包车型地铁例子展现了什么样向内定的栏目(田野先生)中程导弹入数据: 

LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID); 

 

如你所见,大家得以钦点要求的栏目(田野先生s)。那一个钦赐的字段如故是以括号括起,由逗号分隔的,如若您遗漏了中间任何3个,MySQL将会提示您^_^

 

一).mysqlimport的语法介绍: www.二cto.com mysqlimport位于mysql/bin目录中,是mysql的一个载入(只怕说导入)数据的多少个非...

TAG标签: 韦德娱乐1946
版权声明:本文由韦德娱乐1946_韦德娱乐1946网页版|韦德国际1946官网发布于韦德国际1946官网,转载请注明出处:【韦德国际1946官网】MYSQL导入导出命令详解,m