日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

datetime插入数据_SQL项目_(一)数据源准备

發(fā)布時間:2024/10/6 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 datetime插入数据_SQL项目_(一)数据源准备 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 1 數(shù)據(jù)集查看(EmEditor Pro64_18.6.6,查看數(shù)據(jù)樣張)

打開EmEditor,拖入需要查看的csv數(shù)據(jù)文件,夠用點(diǎn)擊停止,切換成csv現(xiàn)實(shí)格式;收集分隔符信息
  • 2 導(dǎo)入
  • 2.1 Navicat導(dǎo)入

表對象,右鍵,或者上方點(diǎn)擊,可以顯示導(dǎo)入向?qū)?p>

選擇源文件,以及源文件的字符編碼集

源文件匹配的記錄分隔符,字段分隔符,文本限定符;使用默認(rèn),嘗試導(dǎo)入,如果導(dǎo)入失敗,需要返回頭來,調(diào)試;正確的分隔符,不僅適用于可視化導(dǎo)入,也對應(yīng)于腳本批量導(dǎo)入的設(shè)置;

注意:字段行設(shè)置為1,第一個數(shù)據(jù)行設(shè)置為1,暫時測試一下;

注意,默認(rèn)字段,和原始說明之間的差異,直接修改,也可以后續(xù)修改

預(yù)覽:第一行(字段行),與第二行(數(shù)據(jù)起始行),重疊了,跟數(shù)據(jù)起始行設(shè)置為1有關(guān);

當(dāng)小樣導(dǎo)入無異常時,可以刪除表格,重新運(yùn)行向?qū)?#xff0c;批量導(dǎo)入大數(shù)據(jù),性能較低,耗時較長;

  • 2.2 腳本導(dǎo)入
-- 創(chuàng)建數(shù)據(jù)庫 drop database if EXISTS UserBehavior; CREATE DATABASE IF NOT EXISTS UserBehavior CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; -- 引用數(shù)據(jù)庫 use UserBehavior;-- 創(chuàng)建表 drop table if EXISTS UserBehavior; create table UserBehavior( ID int not null AUTO_INCREMENT, 用戶ID varchar(255), 商品ID varchar(255), 商品類目ID varchar(255), 行為類型 varchar(255),-- 包含(商品詳情頁pv,buy商品購買,cart將商品加入購物車,fav收藏商品) 時間戳 varchar(255), -- 時間戳,設(shè)置成數(shù)字型,會報(bào)錯ERROR 1265 (01000): Data truncated for column '時間戳' at row 1 primary key(ID) )AUTO_INCREMENT = 1; -- 設(shè)定自增列ID從1開始自增-- 檢查mysqld導(dǎo)入導(dǎo)出功能設(shè)置 /* 報(bào)錯:[Err] 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 原因: 安裝MySQL的時候限制了導(dǎo)入與導(dǎo)出的目錄權(quán)限只能在規(guī)定的目錄下才能導(dǎo)入導(dǎo)出 修正: 1:查找my.ini文件中secure-file-priv選項(xiàng)對應(yīng)的目標(biāo)文件(導(dǎo)入導(dǎo)出)目錄,不是my-default.ini2: 修改選項(xiàng),需要重啟mysql服務(wù)器;或者將.csv文件直接拷貝到此目錄下 */ select @@basedir; -- 定位mysql安裝文件夾 C:Program FilesMySQLMySQL Server 5.7,my-default.ini select @@datadir; -- 定位mysqlProgramData目錄文件夾 C:ProgramDataMySQLMySQL Server 5.7Data,mysql.ini show variables like '%secure%'; -- 查看my.ini文件中 secure_file_priv = C:ProgramDataMySQLMySQL Server 5.7Uploads-- 批量導(dǎo)入數(shù)據(jù)(csv文件) /* CR:Carriage Return,對應(yīng)ASCII中轉(zhuǎn)義字符r,表示回車 LF:Linefeed,對應(yīng)ASCII中轉(zhuǎn)義字符n,表示換行 CRLF:Carriage Return & Linefeed,rn,表示回車并換行 眾所周知,Windows操作系統(tǒng)采用兩個字符來進(jìn)行換行,即CRLF; Unix/Linux/Mac OS X操作系統(tǒng)采用單個字符LF來進(jìn)行換行; 另外,MacIntosh操作系統(tǒng)(即早期的Mac操作系統(tǒng))采用單個字符CR來進(jìn)行換行。需要借助Navicat 客戶端的導(dǎo)入向?qū)?#xff0c;選擇10行,精準(zhǔn)的定位數(shù)據(jù)行分隔符,否則可能只能成功導(dǎo)入1行數(shù)據(jù); *//* 空值處理 字段中的空值 null 需要使用 N 表示, 如果用空字符串表示,那么根據(jù)不同的數(shù)據(jù)類型,MySQL 處理也各異數(shù)據(jù)庫字段如果是varchar/char,插入空時,load data 默認(rèn)導(dǎo)入 空字符串 數(shù)據(jù)庫字段如果是decimal,插入空時,load data 默認(rèn)導(dǎo)入 0.00000000 數(shù)據(jù)庫字段如果是datetime,插入空時,load data 默認(rèn)導(dǎo)入 0000-00-00 00:00:00 */ -- 受影響的行: 100150807 -- 時間: 954.464s 約 15分鐘 load data infile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/UserBehavior.csv' into table UserBehavior -- 設(shè)定文件,目標(biāo)表格,全路徑必須用/不是 character set utf8 -- 設(shè)定字符集 fields terminated by ',' -- 設(shè)置字段分隔符 enclosed by '"' -- 設(shè)置文本限定符 lines terminated by 'n' -- 設(shè)置數(shù)據(jù)行分隔符,需要借助Navicat 客戶端的導(dǎo)入向?qū)?#xff0c;驗(yàn)證 (用戶ID,商品ID,商品類目ID,行為類型,時間戳); -- 設(shè)置插入數(shù)值的字段,必須注意順序,類型的匹配

數(shù)據(jù)驗(yàn)證

第一列,是自增列,后續(xù)5列為數(shù)據(jù)源值,沒有亂碼,正確
  • 3 腳本導(dǎo)出
/* 空值處理 字段中的空值 null 需要使用 N 表示, 如果用空字符串表示,那么根據(jù)不同的數(shù)據(jù)類型,MySQL 處理也各異數(shù)據(jù)庫字段如果是varchar/char,插入空時,load data 默認(rèn)導(dǎo)入 空字符串 數(shù)據(jù)庫字段如果是decimal,插入空時,load data 默認(rèn)導(dǎo)入 0.00000000 數(shù)據(jù)庫字段如果是datetime,插入空時,load data 默認(rèn)導(dǎo)入 0000-00-00 00:00:00 */-- 檢查mysqld導(dǎo)入導(dǎo)出功能設(shè)置 /* 報(bào)錯:[Err] 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 原因: 安裝MySQL的時候限制了導(dǎo)入與導(dǎo)出的目錄權(quán)限只能在規(guī)定的目錄下才能導(dǎo)入導(dǎo)出 修正: 1:查找my.ini文件中secure-file-priv選項(xiàng)對應(yīng)的目標(biāo)文件(導(dǎo)入導(dǎo)出)目錄,不是my-default.ini2: 修改選項(xiàng),需要重啟mysql服務(wù)器;或者將.csv文件直接拷貝到此目錄下 */ select @@basedir; -- 定位mysql安裝文件夾 C:Program FilesMySQLMySQL Server 5.7,my-default.ini select @@datadir; -- 定位mysqlProgramData目錄文件夾 C:ProgramDataMySQLMySQL Server 5.7Data,mysql.ini show variables like '%secure%'; -- 查看my.ini文件中 secure_file_priv = C:ProgramDataMySQLMySQL Server 5.7Uploads-- 批量導(dǎo)出數(shù)據(jù)(csv文件) -- 受影響的行: 100150807 -- 時間: 189.626s ~ 3分鐘 -- 目標(biāo)文件 5.18 GB (5,564,252,503 字節(jié))select * from UserBehavior into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/UserBehavior2.csv' -- 設(shè)定文件,目標(biāo)表格,必須全路徑 character set utf8 -- 設(shè)定字符集 fields terminated by ',' -- 設(shè)置字段分隔符 optionally enclosed by '"' -- 設(shè)置文本限定符 lines terminated by 'n'; -- 設(shè)置數(shù)據(jù)行分隔符

總結(jié)

以上是生活随笔為你收集整理的datetime插入数据_SQL项目_(一)数据源准备的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。