txt文件导入mysql--转

MySQL写入数据通常用insert语句,如

  1. insert into person values(张三,20),(李四,21),(王五,70)…;

但有时为了更快速地插入大批量数据或交换数据,需要从文本中导入数据或导出数据到文本。 
一、 建立测试表,准备数据 
首先建立一个用于测试的表示学生信息的表,字段有id、姓名、年龄、城市、薪水。Id和姓名不 
能为空。

  1. create table person(
  2. id int not null auto_increment,
  3. name varchar(40) not null,
  4. city varchar(20),
  5. salary int,
  6. primary key(id)
  7. )engine=innodb charset=gb2312;

创建表截图如下: 

接着写一个用于导入的文本文件:c:/data.txt。 
张三 31 北京 3000 
李四 25 杭州 4000 
王五 45 /N 4500 
小明 29 天津 /N 

每一项之间用Tab键进行分隔,如果该字段为NULL,则用/N表示。 
二、 导入数据 
输入命令,进行导入。

  1. load data local infile “c:/data.txt”
  2. into table person(name,age,city,salary);

导入数据截图如下: 

其中local表示本地。执行后,可以看到NULL数据也被正确地导入。 
三、 导出数据 

现在将这个表导出为文本文件:c:/data_out.txt。

  1. select name,age,city,salary
  2. into outfile “c:/data_out.txt”
  3. lines terminated by “/r/n”
  4. from person;

导出数据截图如下: 

其中lines terminated by “/r/n”表示每一行(即每一条记录)用/r/n分隔,/r/n是window系 
统的换行符。导出的data_out.txt与data.txt的内容完全一样。 
四、 运行环境

Windows vista home basic 
MySQL 5.1.34-community 
五、 注意

字段之间的分隔和记录(行)之间的分隔默认是/t(即Tab)和/n。但可以改变,如: 
FIELDS TERMINATED BY ‘,‘ --字段用,进行分隔 
LINES TERMINATED BY ‘;‘ --记录用; 进行分隔 
另外要注意其它操作系统的换行符与windows可能不相同。

原文:http://blog.csdn.net/piaolankeke/article/details/6272214

时间: 2024-08-01 14:12:40

txt文件导入mysql--转的相关文章

txt文件导入mysql

http://blog.csdn.net/piaolankeke/article/details/6272214 MySQL写入数据通常用insert语句,如 [c-sharp] view plaincopy insert into person values(张三,20),(李四,21),(王五,70)…; 但有时为了更快速地插入大批量数据或交换数据,需要从文本中导入数据或导出数据到文本. 一. 建立测试表,准备数据 首先建立一个用于测试的表示学生信息的表,字段有id.姓名.年龄.城市.薪水.

CSV文件导入Mysql出现的乱码等问题 (转载)

将*.csv文件导入mysql可使用LOAD DATA INFILE, 概要写法: Load data in file 具体语法使用可参照:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#load-data 如果一个表中只有英文字符则导入不出现问题,写法也极其简单: LOAD DATA LOCAL INFILE 'D:\\ports.csv' INTO TABLE ports; 遇到的问题一:ports.csv文件中存在中文字符,导入

如何将frm格式MYD格式MYI格式文件导入MySQL中

frm,myd,myi是属于MySQL存储数据的文件,phpMyAdmin是无法导入的. phpMyAdmin支持的文件格式为sql文件. 其实很简单: 1.找到你的mysql的安装目录下的data文件夹,新建一个文件夹,文件夹的名称是你想设计的库的名称,把这些文件(frm,myd,myi格式的文件)放到此文件夹中. 提示:也可以使用mysql管理工具创建一个数据库(例如:create database mydb;其中mydb是数据库名称),这时在data文件夹下会对应产生一个mydb的文件夹

MySQL 笔记(三)由 txt 文件导入数据

改编自学校实验,涉及一些字符集相关的问题. 索引 建库 导入数据 最终脚本 下载数据 点击这里 建库 create.sql DROP DATABASE IF EXISTS orderdb; CREATE DATABASE orderdb; USE orderdb; CREATE TABLE employee ( employee_no VARCHAR(8), employee_name VARCHAR(10), sex CHAR(1), birthday DATE, address VARCHA

一次普通数据文件导入mysql遇到的问题

一.问题描述 数据文件 a.txt 导入mysql表中. 1.第一个问题 # mysqlimport -uabc -p'123' -h db1 -P 3306 DB a.txt ERROR 1045 (28000): Access denied for user 'root'@'db1' (using password: YES), when using table: 在排除密码和格式填写错误之后,查看mysql.user表 ,确认是否有File权限. 确认之后确实没有File权限.更新mysq

excel文件导入mysql

在数据处理的过程中,常常要把windows下的excel文件导入linux下的mysql.这其中会出现一些问题. 1.首先,要在mysql中建表.命令最好存在记事本中,可以随时修改,随时执行 create table tableName(c1 not null,...); 2.把excel中需要导入的内容截出来.然后利用excel的另存为功能存成txt,不管编码方式是utf-8还是unicode都可以. 3.但是无论是utf-8还是unicode,linux/mysql都是认不出来的,需要转换成

Java之利用openCsv将csv文件导入mysql数据库

前两天干活儿的时候有个需求,前台导入csv文件,后台要做接收处理,mysql数据库中,项目用的springboot+Vue+mybatisPlus实现,下面详细记录一下实现流程. 1.Controller层部分: /** * 读取csv文件,批量插入到数据库中 */ @RequestMapping("/importcsv") @RequiresPermissions("xxx:xxxxx:xxx") public R importCsv(@RequestParam(

BULK INSERT将CSV或TXT文件导入到SQL Server

CSV代表逗号分隔值,有时也被称为逗号分隔的值.而 如果加载txt文件,然后文件应该有逗号分隔的值.和文件应该是这样 下面是该脚本以创建表: CREATE TABLE Employee( Id int, Name VARCHAR(100), Designation VARCHAR(100) ) 我创建的位置"F一个txt和CSV文件:\ \ MyPublis \ \的txt文件名 是TestToInsert.txt 现在运行以下的脚本来从txt文件中的所有数据加载到数据库表中.如果有任何行中的任

用脚本把csv文件导入mysql

1.windows做的csv文件默认是gbk字符集,而mysql设置了默认是utf8字符集,所以要把文件转为utf8格式. iconv -f GBK -t UTF8  /tmp/文件名.csv -o /tmp/文件名2.csv 2.用sql命令导入 load data infile '/tmp/mailut2.csv' into table db1.d fields terminated by ',' lines terminated by '\n' ignore 1 lines (id,ema

SQL LOADER 的用法 TXT文件导入非常之快

前提,需要本地安装ORACLE 客户端 控制文件 cms.ctl load dataCHARACTERSET UTF8infile 'oracle.txt'APPEND INTO TABLE JR fields terminated by '|'(BUKRS,LONNO,WAERS,BLDAT,BUDAT,SHKZG,DLCOD,HKONT,FPGRP,FPNAM,LONPR,WRBTR,ECNMA,DLNAM,EVTCD,SEVTC,SEVTD,CITYC,CITY,LONTP,PAYER,R