剛裝上mysql
.csv
檔案想直接傳到資料庫中沒想到還出現了一些小狀況,寫下來幫助以後遇到相同問題的人
首先先在某個
database
中建立table
,我建立表的語句如下
create table `china_regions` (
`id` int(11) not null auto_increment comment '縣及縣以上行政區劃**表',
`code` varchar(11) collate utf8_unicode_ci default null comment '區域**',
`parent_id` varchar(11) collate utf8_unicode_ci default null comment '父級區域**',
`name` varchar(50) collate utf8_unicode_ci default null comment '區域名稱',
`level` int(1) default null comment '行政區劃等級',
`status` int(20) default '0' comment '開通狀態,預設值0:開通,1:不開通',
primary key (`id`),
key `china_regions` (`id`,`code`,`parent_id`,`level`,`status`) using btree
) engine=innodb auto_increment=3511 default charset=utf8 collate=utf8_unicode_ci comment='中國地區表';
然後把相應檔案讀取至
table
中具體語句如下
load data infile 'c:/programdata/mysql/mysql server 5.7/uploads/areas.csv'
-> into table china_regions character set gb2312
-> fields terminated by ',' optionally enclosed by ""escaped by""
-> lines terminated by '\r\n'
-> starting by '' ignore 2 lines;
其中datatest1
是資料庫名,
china_regions
是table
名。因為資料中有中文所以加上了
characterset gb2312
第乙個問題:
the mysql server is running with the --secure-file-privoption so it cannot execute this statement
解決方法:
接著把需要匯入的csv檔案移動到顯示的secure_file_priv中,我是預設安裝路徑,如果找不到programdata的位置就開啟c盤->檢視->隱藏的專案。
第二個問題:
incorrect integer value: '' for column 'id' at row 1
解決方案:
my.ini
中查詢sql-mode
,預設為
sql-mode="strict_trans_tables,no_auto_create_user,no_engine_substitution"
,將其修改為
sql-mode="no_auto_create_user,no_engine_substitution"
,重啟mysql
後即可
csv檔案如何上傳到hive資料庫
1.將檔案設定為csv格式檔案,資料之間用逗號隔開,尤其是日期資料,要保證將日期資料轉換為文字格式。範例如下 dim budget.csv jddj,92,1,2020 6 1,17734.1471445513 17734.1471445513 2020 6 2815 25 jddj,92,10,2...
匯入 csv檔案到mysql資料庫
首先通過如下命令獲取到mysql的secure file priv的值 show variables like secure secure file priv 的值是在對mysql匯入匯出csv檔案時的路徑,mysql的檔案只能匯入匯出到此路徑,我的的mysql資料庫的 secure file pr...
CSV檔案匯入導mysql資料庫
基本語法 load data low priority local infile file name txt replace ignore into table tbl name character set gbk fields terminated by t optionally enclosed...