mysql基础(4)-数据导入

如何把数据导入(出)mysql
导出
  • sql语句
        select * from 表名 into outfile "详细路径" fields terminated by "," enclosed by "";
  • 命令行
        mysqldump
  • 客户端
导入
  • sql语句
        load data infile "详细路径" into table 表名 fields terminated by "," enclosed by "";
  • 命令行
        mysqlimport
  • 客户端
如何把数据导入pandas
导入
data=pd.read.csv(imputfile) #读取数据
df=DataFrame(data) #把数据转换为DataFrame格式
验证
 

 

实验数据-在/tmp目录下有文件stud_info.csv

统计文件行数:cat stud_info.csv|wc -w

查看文件前5行内容:head -5 stud_info.csv

 

导入数据
将/tmp/目录下的stud_info.csv导入表stud_info中,忽略第一行
mysql> load data infile '/tmp/stud_info.csv' into table stud_info fields terminated by "," ignore 1 lines; 
注释:terminated by ","表示这个文件的列是按逗号来分隔的; ignore 1 lines表示导入表中的时候忽略第一行表头

导出数据

mysql> select * from stud_info into outfile '/tmp/stud_info_wu1.txt' fields terminated by "," enclosed by "";

注释:terminated by ","表示导出来的文件列与列之间用逗号分隔;enclosed by ""表示导出来的每一列不加任何东西

 


将数据导入pandas
In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: from pandas import DataFrame

In [4]: inputfile1='/tmp/stud_info.csv'

In [5]: data = pd.read_csv(inputfile1)

In [6]: df = DataFrame(data)
In [7]: df.count()

In [8]: df.columns
In [9]: df.head(2)
In [10]: df.tail(2)

 

 wc命令

格式:wc -【参数】file

wc -l file # 显示文件行数

wc -w file #打印单词数

 

练习:

编写一个shell脚本把stud_info.csv导入表(表各自定义);把stud_info.csv导入pandas;验证导入数据的正确性。

 

 1 #!/bin/bash
 2 #文件名称:import_mysql
 3 #文件功能:将stud_info.csv导入stud_info表中
 4 #创建作者:邬家栋
 5 #创建时间:2016-07-29
 6 
 7 rows_file=`cat /tmp/stud_info.csv|wc -l` #注意这里是反引号
 8 echo "stud_info.csv一共有${rows_file}行"
 9 
10 #要先连接数据库
11 mysql -u feigu_mysql -p testdb << EOF  
12 drop table if exists wu_stud_info;
13 create table wu_stud_info(
14 stud_code varchar(20) not null,
15 stud_name varchar(100) not null,
16 stud_gend varchar(10) not null default "M",
17 birthday date null,
18 log_date date null,
19 orig_addr varchar(60) null,
20 lev_date date null,
21 colledge_code varchar(10) null,
22 colledge_name varchar(300) null,
23 state varchar(20) null,
24 primary key(stud_code)
25 ); 
26 
27 load data infile '/tmp/stud_info.csv' into table wu_stud_info fields terminated by ',' ignore 1 lines;
28 
29 EOF
30 
31 if [ $? -eq 0 ] ; then
32 echo "操作成功"
33 else
34 echo "操作失败"
35 
36 fi


注释:在写默认值的时候,默认值需要用引号引起来。
注意:if语句一定不要忘记写fi结尾。if后面中括号需留空格

 

 1 #!/bin/bash
 2 #文件名称:pandas_import.sh
 3 #文件功能:将stud_info.csv 导入到padans中
 4 #创建时间:2016-07-29
 5 #创建者:邬家栋
 6 
 7 ipython  << EOF
 8 
 9 import numpy as np
10 import pandas as pd
11 from pandas import DataFrame
12 inputfile1 = '/tmp/stud_info.csv'
13 data= pd.read_csv(inputfile1)
14 df=DataFrame(data)
15 
16 EOF
17 
18 if [ $? -eq 0 ] ;then
19 echo "操作成功"
20 else
21 echo "操作失败"
22 fi              

 

 

 

 

 

posted @ 2016-07-29 11:08  邬家栋  阅读(399)  评论(0编辑  收藏  举报