首页 > PHP > MySQL数据导入到infobright
2019
04-03

MySQL数据导入到infobright

1. 在mysql中建一张表:
mysql> create table sfc_product(
     ->    id int,
     ->    name char(10),
     ->    price char(10)
     -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.01 sec)
2. 插入数据:
mysql> insert into sfc_product(id,name,price) values(‘10000′,’test’,’1′);
Query OK, 1 row affected (0.00 sec)
3. 将数据导出csv文件:
  最优通用导出语句
mysql> select * from sfc_product into outfile ‘/tmp/sfc_product.csv’ fields terminated by ‘,’ optionally enclosed by ‘”‘ lines terminated by ‘\n’;               
Query OK, 1 row affected (0.00 sec)
其中optionally enclosed by ‘”‘可以给导出的值加上双引号,避免值需要转义
官方关于可选fields参数
   Use the TERMINATED BY sub clause to specify the character recognized as the separator (delimiter) between values. By default, a semicolon ‘;’ is assumed to separate values.
   Use the ENCLOSED BY sub clause to specify the character that begins and ends each string representing a text value. By default, a double quotation mark ‘”‘ is assumed to enclose each value. If the text values in the input fle do not use any enclosing characters, use the value ‘NULL’ in the ENCLOSED BY sub clause. Note that this is the same as using the empty string ” option in standard MySQL.
   Use the ESCAPED BY sub clause to support special characters that may be imbedded within text felds.
4. 在infobright中建一个表:
mysql> create table sfc_product(
     ->    id int,
     ->    name char(10),
     ->    price char(10)
     -> ) ENGINE=brighthouse DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)
5. 导入csv到infobright表中:
导入前先确认字符集是否支持中文,如果不支持,设置字符集,防止中文乱码。

mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_server = ‘utf8’;  
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_database =’utf8′;  
Query OK, 0 rows affected (0.00 sec)
mysql> load data infile ‘/tmp/sfc_product.csv’ into table sfc_product fields terminated by ‘,’ optionally enclosed by  ‘”‘ lines terminated by ‘\n’;                               
Query OK, 1 row affected (0.04 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 0
5,验证:
mysql> select * from sfc_product;
+——-+——+——+
| id    | name | price|
+——-+——+——+
| 10000 | test | 1    |
+——-+——+——+
1 row in set (0.00 sec)
这样mysql中的数据就能导入到infobright中了。

最后编辑:
作者:sunny5156
喜欢技术....

留下一个回复