linux怎么换行下mysql如何导入换行的数据

mysql数据记录导出后无法换行,请问如何处理_百度知道
mysql数据记录导出后无法换行,请问如何处理
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
华灯初上的晚夜知道合伙人
来自电脑网络类芝麻团
华灯初上的晚夜
采纳数:238
获赞数:29
擅长:暂未定制
参与团队:
根本不用考虑\t和\n 1)MySQL的select导出时,会自动把\t和\n转义成\\t和\\n; 2)在shell、Python的代码中,按行读取,程序遇到\\n,会自动略过的; 3)在shell、Python的代码中,按\t分割,程序遇到\\t,会自动略过的; 4)load data导入数据...
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。文本数据(如:TXT文件)导入mysql数据库 - 简书
文本数据(如:TXT文件)导入mysql数据库
方法1:文本文件利用navicat直接导入MySQL中方法2:直接转入,方法如下2.1建表CREATE TABLE `water` (`device_id` char(255) NOT NULL,`location_time` datetime NOT NULL,`longitude` varchar(15) NOT NULL,`latitude` varchar(15) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;----------------------2.2导入数据load data local infile "e:/data.txt"into table waterfields terminated by ',' lines terminated by '\r\n';2.3补充water表的字段四个:name,age,city,salary要导入的数据为data.txt:张三,31,北京,3000李四,25,杭州,4000王五,45,杭州,4500参考:补充:(来自网络)\r是回车符,\n是换行符计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。Unix 系统里,每行结尾只有“&换行&”,即“\n”;Windows系统里面,每行结尾是“&回车&&换行&”,即“ \r\n”;Mac系统里,每行结尾是“&回车&”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
但行好事,莫问前程
无事不难,有恒则成
卡拉肖克·潘
-- 简书作者 谢恩铭 转载请注明出处 第二部分第七课:文件读写 上一课C语言探索之旅 | 第二部分第六课:创建你自己的变量类型之后,我们来学习很常用的文件读写。 我们学过了这么多变量的知识,已经知道变量实在是很强大的,可以帮助我们实现很多事情。 变量固然强大,还是有缺陷的...
Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:)大多数的美国人读 ubuntu 时,将 u 作为元音发音,类似单词 who 或者 boo ,重音在第二...
linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大家期待吧 命令区 系统管理与维护命令 date date(选项)(参数)|
说明 || :-------- | --------:||...
转自:小天 代码: 1:strings1 =&已经习惯了回车和换行一次搞定\n,敲一个回车键,即是回&; 2: 3:Console.WriteLine(s1); 4:s1 =&已经习惯了回车和换行一次搞定\r,敲一个回车键,即是回&; 5:Console.WriteLine...
百战程序员_ Java1573题 QQ群:034603 掌握80%年薪20万掌握50%年薪10万 全程项目穿插, 从易到难,含17个项目视频和资料持续更新,请关注www.itbaizhan.com 国内最牛七星级团队马士兵、高淇等11位十年开发经验专...
春尽江南雪亦寒, 杨柳依依黄鹂啭。 孤雁南飞必北还, 落花满地香满园。
有多少人跟我一样、太阳升起出发、星星点灯回家、日复一日、重蹈覆辙的匆匆赶回租的小房间、回到那个租的房子被我称为家、走到家只有那一刻自己内心才是充实和安详、那一刻是结束了工作、结束了所有的烦恼、因为工作有太多的抱怨了、没有时间没有赚钱、一整天都是碌碌无为、不是像咸鱼一样没...
1.感觉时间过的如此之慢,想快点到月底好辞职。 虽然还会好好上班,但激情没那么大了。 2.满脑子的想法,但有点累,不是很想说。 3.准备在电脑里安装虚拟机,希望可以成功。
评“当代曹雪芹”唐国明先生(转载) 荒蛮奇侠 于
9:33:49 发布 ● 呜呼,普阅周天之事实难矣哉,如今在湖南,隐居着一位作家叫做唐国明,他十几年来,在乡间隐居,清苦度日,为的就是坚守文学战线。他不但从程高本中考古出来曹雪芹原笔石头记,更是卖力创作,据...
(一) 你远去的身影 倒影在我的心湖 你留下的传说 幻影在我的梦中 我希望你来到 我的黑夜里 能带来光明 下一刻心跳 是幸福的密语 (二) 梦见肩上有蝶 才想起那天那条街 无心之下,与你作别 (三) 一许天荒地老 二许白头偕老如何使用mysql导入txt数据附上mysql命令版
如何使用mysql导入txt数据有以下步骤:
1.新建一张表,在text文件第一行加入一行模板数据,不然导入会出错,缺失
2.右键import ward导入txt
3.设置分割字段,以空格或者/分割据情况而定
4.设置对应属性对应值
5.最后就完成了,检查你的的数据是否正确,数据量是否缺失
select count(*) from zhucexinxi5
附上mySql命令导入txt文件数据
没试过,不过原理应该差不多,嘻嘻
1、在MySQL数据库中创建一个用户表user,包含三个最基础字段:主键id,姓名name和年龄age。
CREATE TABLE USER(id INT UNSIGNED NOT NULL AUTO_INCREMENT,name VARCHAR(32) NOT NULL,age tinyint UNSIGNED,PRIMARY KEY (id))ENGINE=InnoDB CHARSET=utf8;
2、制作一个user.txt文件,每一条内容用Tab键进行分隔不同的属性,多条换行。如果该字段为NULL,则用/N表示。 里面包含内容如下:
raykaeso 25leixuesong 45barbie /N
字段之间的分隔和记录(行)之间的分隔默认是/t(即Tab)和/n。但可以改变,如:
FIELDS TERMINATED BY ‘,’ –字段用,进行分隔
LINES TERMINATED BY ‘;’ –记录用; 进行分隔
3、使用MySQL命令导入txt文本,指定本地路径和对应表中的字段。
LOAD DATA LOCAL INFILE “H:/user.txt” INTO TABLE USER(name,age);
一个简单的从txt文件中读取数据插入数据库
mysql数据导入的三种方法
mysql导入数据load data infile用法(将txt文件中的数据导入表中)
mysql中导入txt文件数据的操作指令
mysql怎么导入txt文本文档
txt文件导入mysql
mysql 导入txt文件
MySQL使用mysqlimport命令导入文本文件
linux上导入txt文件数据到mysql自己写的例子
mysql在linux命令行下导入txt文件
没有更多推荐了,o(╥﹏╥)o
页面找不到了
推荐阅读:LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
&&& INTO TABLE tbl_name&&& [FIELDS&&&&&&& [TERMINATED BY '\t']&&&&&&& [OPTIONALLY] ENCLOSED BY '']&&&&&&& [ESCAPED BY '\\' ]]&&& [LINES TERMINATED BY '\n']&&& [IGNORE number LINES]&&& [(col_name,...)]
LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。如果指定LOCAL关键词,从客户主机读文件。如果LOCAL没指定,文件必须位于服务器上。(LOCAL在MySQL3.22.6或以后版本中可用。)
为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用LOAD DATA INFILE,在服务器主机上你必须有file的权限。见6.5 由MySQL提供的权限。
如果你指定关键词LOW_PRIORITY,LOAD DATA语句的执行被推迟到没有其他客户读取表后。
使用LOCAL将比让服务器直接存取文件慢些,因为文件的内容必须从客户主机传送到服务器主机。在另一方面,你不需要file权限装载本地文件。
你也可以使用mysqlimport实用程序装载数据文件;它由发送一个LOAD DATA INFILE命令到服务器来运作。 --local选项使得mysqlimport从客户主机上读取数据。如果客户和服务器支持压缩协议,你能指定--compress在较慢的网络上获得更好的性能。
当在服务器主机上寻找文件时,服务器使用下列规则:
如果给出一个绝对路径名,服务器使用该路径名。&如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。&如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。&注意这些规则意味着一个像&./myfile.txt&给出的文件是从服务器的数据目录读取,而作为&myfile.txt&给出的一个文件是从当前数据库的数据库目录下读取。也要注意,对于下列哪些语句,对db1文件从数据库目录读取,而不是db2:
mysql& USE db1;mysql& LOAD DATA INFILE "./data.txt" INTO TABLE db2.my_
REPLACE和IGNORE关键词控制对现有的唯一键记录的重复的处理。如果你指定REPLACE,新行将代替有相同的唯一键值的现有行。如果你指定IGNORE,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键键时,出现一个错误,并且文本文件的余下部分被忽略时。
如果你使用LOCAL关键词从一个本地文件装载数据,服务器没有办法在操作的当中停止文件的传输,因此缺省的行为好像IGNORE被指定一样。
LOAD DATA INFILE是SELECT ... INTO OUTFILE的逆操作,SELECT句法。为了将一个数据库的数据写入一个文件,使用SELECT ... INTO OUTFILE,为了将文件读回数据库,使用LOAD DATA INFILE。两个命令的FIELDS和LINES子句的语法是相同的。两个子句是可选的,但是如果指定两个,FIELDS必须在LINES之前。
如果你指定一个FIELDS子句,它的每一个子句(TERMINATED BY, [OPTIONALLY] ENCLOSED BY和ESCAPED BY)也是可选的,除了你必须至少指定他们之一。
如果你不指定一个FIELDS子句,缺省值与如果你这样写的相同:
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
如果你不指定一个LINES子句,缺省值与如果你这样写的相同:
LINES TERMINATED BY '\n'&换句话说,缺省值导致读取输入时,LOAD DATA INFILE表现如下:
在换行符处寻找行边界&在定位符处将行分进字段&不要期望字段由任何引号字符封装&将由&\&开头的定位符、换行符或&\&解释是字段值的部分字面字符&相反,缺省值导致在写入输出时,SELECT ... INTO OUTFILE表现如下:
在字段之间写定位符&不用任何引号字符封装字段&使用&\&转义出现在字段中的定位符、换行符或&\&字符&在行尾处写换行符&注意,为了写入FIELDS ESCAPED BY '\\',对作为一条单个的反斜线被读取的值,你必须指定2条反斜线值。
IGNORE number LINES选项可被用来忽略在文件开始的一个列名字的头:
mysql& LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;
当你与LOAD DATA INFILE一起使用SELECT ... INTO OUTFILE将一个数据库的数据写进一个文件并且随后马上将文件读回数据库时,两个命令的字段和处理选项必须匹配,否则,LOAD DATA INFILE将不能正确解释文件的内容。假定你使用SELECT ... INTO OUTFILE将由逗号分隔的字段写入一个文件:
mysql& SELECT * FROM table1 INTO OUTFILE 'data.txt'&&&&&&&&&& FIELDS TERMINATED BY ','&&&&&&&&&& FROM ...
为了将由逗号分隔的文件读回来,正确的语句将是:
mysql& LOAD DATA INFILE 'data.txt' INTO TABLE table2&&&&&&&&&& FIELDS TERMINATED BY ',';
相反,如果你试图用下面显示的语句读取文件,它不会工作,因为它命令LOAD DATA INFILE在字段之间寻找定位符:
mysql& LOAD DATA INFILE 'data.txt' INTO TABLE table2&&&&&&&&&& FIELDS TERMINATED BY '\t';
可能的结果是每个输入行将被解释为单个的字段。
LOAD DATA INFILE能被用来读取从外部来源获得的文件。例如,以dBASE格式的文件将有由逗号分隔并用双引号包围的字段。如果文件中的行由换行符终止,下面显示的命令说明你将用来装载文件的字段和行处理选项:
mysql& LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name&&&&&&&&&& FIELDS TERMINATED BY ',' ENCLOSED BY '"'&&&&&&&&&& LINES TERMINATED BY '\n';
任何字段或行处理选项可以指定一个空字符串('')。如果不是空,FIELDS [OPTIONALLY] ENCLOSED BY和FIELDS ESCAPED BY值必须是一个单个字符。FIELDS TERMINATED BY和LINES TERMINATED BY值可以是超过一个字符。例如,写入由回车换行符对(CR+LF)终止的行,或读取包含这样行的一个文件,指定一个LINES TERMINATED BY '\r\n'子句。
FIELDS [OPTIONALLY] ENCLOSED BY控制字段的包围字符。对于输出(SELECT ... INTO OUTFILE),如果你省略OPTIONALLY,所有的字段由ENCLOSED BY字符包围。对于这样的输出的一个例子(使用一个逗号作为字段分隔符)显示在下面:
"1","a string","100.20""2","a string containing a , comma","102.20""3","a string containing a \" quote","102.20""4","a string containing a \", quote and comma","102.20"
如果你指定OPTIONALLY,ENCLOSED BY字符仅被用于包围CHAR和VARCHAR字段:
1,"a string",100.202,"a string containing a , comma",102.203,"a string containing a \" quote",102.204,"a string containing a \", quote and comma",102.20
注意,一个字段值中的ENCLOSED BY字符的出现通过用ESCAPED BY字符作为其前缀来转义。也要注意,如果你指定一个空ESCAPED BY值,可能产生不能被LOAD DATA INFILE正确读出的输出。例如,如果转义字符为空,上面显示的输出显示如下。注意到在第四行的第二个字段包含跟随引号的一个逗号,它(错误地)好象要终止字段:
1,"a string",100.202,"a string containing a , comma",102.203,"a string containing a " quote",102.204,"a string containing a ", quote and comma",102.20
对于输入,ENCLOSED BY字符如果存在,它从字段值的尾部被剥去。(不管是否指定OPTIONALLY都是这样;OPTIONALLY对于输入解释不起作用)由ENCLOSED BY字符领先的ESCAPED BY字符出现被解释为当前字段值的一部分。另外,出现在字段中重复的ENCLOSED BY被解释为单个ENCLOSED BY字符,如果字段本身以该字符开始。例如,如果ENCLOSED BY '"'被指定,引号如下处理:
"The ""BIG"" boss" -& The "BIG" bossThe "BIG" boss&&&&& -& The "BIG" bossThe ""BIG"" boss&&& -& The ""BIG"" boss
FIELDS ESCAPED BY控制如何写入或读出特殊字符。如果FIELDS ESCAPED BY字符不是空的,它被用于前缀在输出上的下列字符:
FIELDS ESCAPED BY字符&FIELDS [OPTIONALLY] ENCLOSED BY字符&FIELDS TERMINATED BY和LINES TERMINATED BY值的第一个字符&ASCII 0(实际上将后续转义字符写成 ASCII'0',而不是一个零值字节)&如果FIELDS ESCAPED BY字符是空的,没有字符被转义。指定一个空转义字符可能不是一个好主意,特别是如果在你数据中的字段值包含刚才给出的表中的任何字符。
对于输入,如果FIELDS ESCAPED BY字符不是空的,该字符的出现被剥去并且后续字符在字面上作为字段值的一个部分。例外是一个转义的&0&或&N&(即,\0或\N,如果转义字符是&\&)。这些序列被解释为ASCII 0(一个零值字节)和NULL。见下面关于NULL处理的规则。
对于更多关于&\&- 转义句法的信息,在某些情况下,字段和行处理选项相互作用:
如果LINES TERMINATED BY是一个空字符串并且FIELDS TERMINATED BY是非空的,行也用FIELDS TERMINATED BY终止。如果FIELDS TERMINATED BY和FIELDS ENCLOSED BY值都是空的(''),一个固定行(非限定的)格式被使用。用固定行格式,在字段之间不使用分隔符。相反,列值只用列的&显示&宽度被写入和读出。例如,如果列被声明为INT(7),列的值使用7个字符的字段被写入。对于输入,列值通过读取7个字符获得。固定行格式也影响NULL值的处理;见下面。注意如果你正在使用一个多字节字符集,固定长度格式将不工作。NULL值的处理有多种,取决于你使用的FIELDS和LINES选项:
对于缺省FIELDS和LINES值,对输出,NULL被写成\N,对输入,\N被作为NULL读入(假定ESCAPED BY字符是&\&)。如果FIELDS ENCLOSED BY不是空的,包含以文字词的NULL作为它的值的字段作为一个NULL值被读入(这不同于包围在FIELDS ENCLOSED BY字符中的字NULL,它作为字符串'NULL'读入)。如果FIELDS ESCAPED BY是空的,NULL作为字NULL被写入。&用固定行格式(它发生在FIELDS TERMINATED BY和FIELDS ENCLOSED BY都是空的时候),NULL作为一个空字符串被写入。注意,在写入文件时,这导致NULL和空字符串在表中不能区分,因为他们都作为空字符串被写入。如果在读回文件时需要能区分这两者,你应该不使用固定行格式。一些不被LOAD DATA INFILE支持的情况:
固定长度的行(FIELDS TERMINATED BY和FIELDS ENCLOSED BY都为空)和BLOB或TEXT列。如果你指定一个分隔符与另一个相同,或是另一个的前缀,LOAD DATA INFILE不能正确地解释输入。例如,下列FIELDS子句将导致问题:&FIELDS TERMINATED BY '"' ENCLOSED BY '"'
如果FIELDS ESCAPED BY是空的,一个包含跟随FIELDS TERMINATED BY值之后的FIELDS ENCLOSED BY或LINES TERMINATED BY的字段值将使得LOAD DATA INFILE过早地终止读取一个字段或行。这是因为LOAD DATA INFILE不能正确地决定字段或行值在哪儿结束。下列例子装载所有persondata表的行:
mysql& LOAD DATA INFILE 'persondata.txt' INTO TABLE
没有指定字段表,所以LOAD DATA INFILE期望输入行对每个表列包含一个字段。使用缺省FIELDS和LINES值。
如果你希望仅仅装载一张表的某些列,指定一个字段表:
mysql& LOAD DATA INFILE 'persondata.txt'&&&&&&&&&& INTO TABLE persondata (col1,col2,...);
如果在输入文件中的字段顺序不同于表中列的顺序,你也必须指定一个字段表。否则,MySQL不能知道如何匹配输入字段和表中的列。
如果一个行有很少的字段,对于不存在输入字段的列被设置为缺省值。
如果字段值缺省,空字段值有不同的解释:
对于字符串类型,列被设置为空字符串。&对于数字类型,列被设置为0。&对于日期和时间类型,列被设置为该类型的适当&零&值。&如果列有一个NULL,或(只对第一个TIMESTAMP列)在指定一个字段表时,如果TIMESTAMP列从字段表省掉,TIMESTAMP列只被设置为当前的日期和时间。
如果输入行有太多的字段,多余的字段被忽略并且警告数字加1。
LOAD DATA INFILE认为所有的输入是字符串,因此你不能像你能用INSERT语句的ENUM或SET列的方式使用数字值。所有的ENUM和SET值必须作为字符串被指定!
如果你正在使用C API,当LOAD DATA INFILE查询完成时,你可通过调用API函数mysql_info()得到有关查询的信息。信息字符串的格式显示在下面:
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0当值通过INSERT语句插入时,在某些情况下出现警告,除了在输入行中有太少或太多的字段时,LOAD DATA INFILE也产生警告。警告没被存储在任何地方;警告数字仅能用于表明一切是否顺利。如果你得到警告并且想要确切知道你为什么得到他们,一个方法是使用SELECT ... INTO OUTFILE到另外一个文件并且把它与你的原版输入文件比较。
阅读(...) 评论()

我要回帖

更多关于 linux常用命令全集 的文章

 

随机推荐