MySQL导入csv数据

在工作中经常遇到需要往MySQL数据库中导入开发人员提供的数据,其中一种是csv格式的,导入方式如下:

创建相应的表格

mysql> use kevin;
Database changed
mysql> CREATE TABLE GeoPC_Places (
    -> ISO varchar(2) NOT NULL,
    -> Country varchar(50) NOT NULL,
    -> Language varchar(2) NOT NULL,
    -> ID bigint(20) NOT NULL,
    -> Region1 varchar(80),
    -> Region2 varchar(80),
    -> Region3 varchar(80),
    -> Region4 varchar(80),
    -> Locality varchar(80),
    -> Postcode varchar(15),
    -> Suburb varchar(80),
    -> Latitude double,
    -> Longitude double,
    -> Elevation integer,
    -> ISO2 varchar(10),
    -> FIPS varchar(10),
    -> NUTS varchar(12),
    -> HASC varchar(12),
    -> STAT varchar(20),
    -> Timezone varchar(30),
    -> UTC varchar(10),
    -> DST varchar(10),
    -> PRIMARY KEY (Language, ID)
    -> ) ENGINE=Innodb DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.08 sec)

通过load data命令导入csv数据,load data语法如下:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE ‘file_name.csv‘
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY ‘string‘]
        [[OPTIONALLY] ENCLOSED BY ‘char‘]
        [ESCAPED BY ‘char‘ ]
    ]
    [LINES
        [STARTING BY ‘string‘]
        [TERMINATED BY ‘string‘]
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...)]

导入数据:

mysql> load data local infile ‘/dump/GeoPC_AU_Places.csv‘ into table GeoPC_Places
    ->      fields terminated by ‘;‘
    ->      lines terminated by ‘\n‘
    ->      ignore 1 lines;
Query OK, 15828 rows affected (1.18 sec)
Records: 15828  Deleted: 0  Skipped: 0  Warnings: 0
mysql> select count(*) from GeoPC_Places;
+----------+
| count(*) |
+----------+
|    15828 |
+----------+
1 row in set (0.10 sec)

导入成功

相对应的有导入,肯定有导出,这里不再详细说明,附上select导出文件语法共参阅:

SELECT语法

 SELECT 
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr, ...
    [INTO OUTFILE ‘file_name‘ export_options
      | INTO DUMPFILE ‘file_name‘]
    [FROM table_references
    [WHERE where_definition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_definition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC] , ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [FOR UPDATE | LOCK IN SHARE MODE]]
时间: 2024-12-28 01:20:36

MySQL导入csv数据的相关文章

mysql 导入CSV数据 [转]

转自: http://blog.chinaunix.net/uid-23284114-id-3196638.html MYSQL   LOAD DATA INFILE命令可以把csv平面文件中的数据导入到数据库中. linux下: LOAD DATA INFILE '/home/test/dump/ip_location.csv' INTO TABLE ip_location CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"';

Mysql 导入CSV数据 语句

1. 登陆mysql 2. use testdb 3. 执行导入语句 LOAD DATA LOCAL INFILE 'd://exportedtest2.csv' INTO TABLE usertable fields terminated by ",";

mysql SQLyog导入csv数据失败怎么办?

分享下mysql使用SQLyog导入csv数据失败的解决方法 给mysql导入数据,选中某个表选择导入--导入使用本地csv数据即可,单有的时候不知道什么问题导入不成功!!! 给mysql导入数据,使用的软件是SQLyog,相信直接导大家也都会,选中某个表选择导入--导入使用本地csv数据即可,单有的时候不知道什么问题导入不成功,可以使用命令,以此记录,以后用到便于查: (我的是windows系统)LOAD DATA LOCAL INFILE 'C:\\Users\\zl\\Desktop\\z

mysql导入文件数据时错误: ERROR 29 (HY000): File 'xxx.txt' not found (Errcode: 13)

突然遇到mysql错误:ERROR 29 (HY000): File '/var/www/xiaoyou/static/upload/import/20130427105733.csv.txt' not found (Errcode: 13) 感觉特奇怪,因为程序在本地很ok,生气了语句如下: LOAD DATA INFILE '/var/www/upload/abc.csv.txt' INTO TABLE alumni_import FIELDS TERMINATED BY ',' OPTIO

mysql导入导出数据中文乱码解决方法小结

inux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用--

解决mysql导入导出数据乱码问题

最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server host和Can't connect to the server的错误.解决mysql导入导出数据乱码问题就是统一导入导出的编码,linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--def

Import CSV data to Sqlite. 导入CSV数据到SQLite.

Import CSV data to Sqlite. 导入CSV数据到SQLite. 在做数据导入的时候,只需要理清楚两点就可以了. 1, 提取 Title 作为field name. 2, 数据写入数据池. 这里SQLite很好的为我们解决了这类问题. fieldsnames 属性很高的解决了 提取title的问题, 而数据池, sqlite insert接受 包涵元组的list 数据集.这里一个元组,就是一行数据. 最后, 其实我们要实现的就是段 SQL: DROP TABLE IF EXI

MySQL导入txt数据及导出整个数据库或者数据库某个表的方法

MySQL导入txt数据 例: create schema foursquare_nyc; use foursquare_nyc; create table checkins(    userid int not null auto_increment,    originid varchar(30),    locationid varchar(40),    x double,    y double,    primary key(userid) ); load data local in

[转]mysql导入导出数据中文乱码解决方法小结

本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 代码如下: mys