亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買(mǎi)流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷(xiāo)推廣
客服中心
業(yè)務(wù)咨詢(xún)
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線(xiàn)客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

用批處理對(duì)MySQL進(jìn)行數(shù)據(jù)操作

添加時(shí)間:2013-1-14 21:09:09  添加: 思海網(wǎng)絡(luò) 

批處理是一種非交互式運(yùn)行mysql程序的方法,如同您在mysql中使用的命令一樣,你仍然將使用這些命令。
  
  為了實(shí)現(xiàn)批處理,您重定向一個(gè)文件到mysql程序中,首先我們需要一個(gè)文本文件,這個(gè)文本文件包含有與我們?cè)趍ysql中輸入的命令相同的文本。
  比如我們要插入一些數(shù)據(jù),使用包含下面文本的文件(文件名為New_Data.sql,當(dāng)然我們也可以取名為New_Data.txt及任何其他的合法名字,并不一定要以后綴sql結(jié)尾):
  USE Meet_A_Geek;
  INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block");
  INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton");
  INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Simmons");
  注意上面的這些句子的語(yǔ)法都必須是正確的,并且每個(gè)句子以分號(hào)結(jié)束。
  上面的USE命令選擇數(shù)據(jù)庫(kù),INSERT命令插入數(shù)據(jù)。
  
  下面我們要把上面的文件導(dǎo)入到數(shù)據(jù)庫(kù)中,導(dǎo)入之前要確認(rèn)數(shù)據(jù)庫(kù)已經(jīng)在運(yùn)行,即是mysqld進(jìn)程(或者說(shuō)服務(wù),Windows NT下面稱(chēng)為”服務(wù)“,unix下面為”進(jìn)程“)已經(jīng)在運(yùn)行。
然后運(yùn)行下面的命令:
  bin/mysql ?Cp < /home/mark/New_Data.sql
接著按提示輸入密碼,如果上面的文件中的語(yǔ)句沒(méi)有錯(cuò)誤,那么這些數(shù)據(jù)就被導(dǎo)入到了數(shù)據(jù)庫(kù)中。
  
命令行中使用LOAD DATA INFILE 從文件中導(dǎo)入數(shù)據(jù)到數(shù)據(jù)庫(kù):
現(xiàn)在您可能會(huì)問(wèn)自己,"究竟為什么我要輸入所有的這些SQL語(yǔ)句到文件中,然后通過(guò)程序運(yùn)行它們呢?”
這樣看起來(lái)好像需要大量的工作。很好,你這樣想很可能就對(duì)了。但是假如你有從所有這些命令中產(chǎn)生的log記錄呢?現(xiàn)在這樣就很棒,嗯,大多數(shù)數(shù)據(jù)庫(kù)都會(huì)自動(dòng)產(chǎn)生數(shù)據(jù)庫(kù)中的事件記錄的log。而大部分log都包含有用過(guò)的原始的SQL命令。因此,如果您不能從您現(xiàn)在的數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù)到新的mysql數(shù)據(jù)庫(kù)中使用,那么您可以使用log和mysql的批處理特性,來(lái)快速且方便地導(dǎo)入您地?cái)?shù)據(jù)。當(dāng)然,這樣就省去了打字的麻煩。
  
  LOAD DATA INFILE
  這是我們要介紹的最后一個(gè)導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)中的方法。這個(gè)命令與mysqlimport非常相似,但這個(gè)方法可以在mysql命令行中使用。也就是說(shuō)您可以在所有使用API的程序中使用這個(gè)命令。使用這種方法,您就可以在應(yīng)用程序中導(dǎo)入您想要導(dǎo)入的數(shù)據(jù)。
使用這個(gè)命令之前,mysqld進(jìn)程(服務(wù))必須已經(jīng)在運(yùn)行。
  啟動(dòng)mysql命令行:
  bin/mysql ?Cp
按提示輸入密碼,成功進(jìn)入mysql命令行之后,輸入下面的命令:
  USE Meet_A_Geek;
  LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders;
  簡(jiǎn)單的講,這樣將會(huì)把文件data.sql中的內(nèi)容導(dǎo)入到表Orders中,如mysqlimport工具一樣,這個(gè)命令也有一些可以選擇的參數(shù)。比如您需要把自己的電腦上的數(shù)據(jù)導(dǎo)入到遠(yuǎn)程的數(shù)據(jù)庫(kù)服務(wù)器中,您可以使用下面的命令:
  LOAD DATA LOCAL INFILE "C:\MyDocs\SQL.txt" INTO TABLE Orders;
  
上面的LOCAL參數(shù)表示文件是本地的文件,服務(wù)器是您所登陸的服務(wù)器。
這樣就省去了使用ftp來(lái)上傳文件到服務(wù)器,MySQL替你完成了.
您也可以設(shè)置插入語(yǔ)句的優(yōu)先級(jí),如果您要把它標(biāo)記為低優(yōu)先級(jí)(LOW_PRIORITY),那么MySQL將會(huì)等到?jīng)]有其他人讀這個(gè)表的時(shí)候,才把插入數(shù)據(jù)?梢允褂萌缦碌拿睿
  LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders;
  
您也可以指定是否在插入數(shù)據(jù)的時(shí)候,取代或者忽略文件與數(shù)據(jù)表中重復(fù)的鍵值。替代重復(fù)的鍵值的語(yǔ)法:
  LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" REPLACE INTO TABLE Orders;
上面的句子看起來(lái)有點(diǎn)笨拙,但卻把關(guān)鍵字放在了讓您的剖析器可以理解的地方。
  
  下面的一對(duì)選項(xiàng)描述了文件的記錄格式,這些選項(xiàng)也是在mysqlimport工具中可以用的。他們?cè)谶@里看起來(lái)有點(diǎn)不同。首先,要用到FIELDS關(guān)鍵字,如果用到這個(gè)關(guān)鍵字,MySQL剖析器希望看到至少有下面的一個(gè)選項(xiàng):
  TERMINATED BY character
  ENCLOSED BY character
  ESCAPED BY character
這些關(guān)鍵字與它們的參數(shù)跟mysqlimport中的用法是一樣的. The
  TERMINATED BY 描述字段的分隔符,默認(rèn)情況下是tab字符(\t)
  ENCLOSED BY描述的是字段的括起字符。比方以引號(hào)括起每一個(gè)字段。
  ESCAPED BY 描述的轉(zhuǎn)義字符。默認(rèn)的是反些杠(backslash:\ ).
  下面仍然使用前面的mysqlimport命令的例子,用LOAD DATA INFILE語(yǔ)句把同樣的文件導(dǎo)入到數(shù)據(jù)庫(kù)中:
  LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ',' ENCLOSED BY '"';
  
  LOAD DATA INFILE語(yǔ)句中有一個(gè)mysqlimport工具中沒(méi)有特點(diǎn):
  LOAD DATA INFILE 可以按指定的列把文件導(dǎo)入到數(shù)據(jù)庫(kù)中。
當(dāng)我們要把數(shù)據(jù)的一部分內(nèi)容導(dǎo)入的時(shí)候,這個(gè)特點(diǎn)就很重要。比方說(shuō),我們要從Access數(shù)據(jù)庫(kù)升級(jí)到MySQL數(shù)據(jù)庫(kù)的時(shí)候,需要加入一些欄目(列/字段/field)到MySQL數(shù)據(jù)庫(kù)中,以適應(yīng)一些額外的需要。
  這個(gè)時(shí)候,我們的Access數(shù)據(jù)庫(kù)中的數(shù)據(jù)仍然是可用的,但是因?yàn)檫@些數(shù)據(jù)的欄目(field)與MySQL中的不再匹配,因此而無(wú)法再使用mysqlimport工具。盡管如此,我們?nèi)匀豢梢允褂肔OAD DATA INFILE,下面的例子顯示了如何向指定的欄目(field)中導(dǎo)入數(shù)據(jù):
  LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);
  
  如您所見(jiàn),我們可以指定需要的欄目(fields)。這些指定的字段依然是以括號(hào)括起,由逗號(hào)分隔的,如果您遺漏了其中任何一個(gè),MySQL將會(huì)提醒您

關(guān)鍵字:批處理、數(shù)據(jù)庫(kù)、mysql

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話(huà):(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專(zhuān)項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開(kāi)網(wǎng)站