MySQL 教材:批次作業

如果所有的資料庫指令,包括宣告表格、輸入資料、修改資料, 都要在 MySQL 的文字介面內完成,則使用者要打好多的字。但是

如果能夠利用編輯器,一次把所有指令都寫在一個檔案裡面, 則這個檔案就成了 MySQL 的腳本程式 (script program)。 MySQL 腳本程式可以指揮 MySQL 批次作業:整批指令一次做。 習慣上,MySQL 腳本程式的副檔名叫做 sql, 假設讀者按照 個人設定檔案 做好了 .my.cnf 檔案, 則可以用以下 UNIX 指令來執行 MySQL 批次作業。
mysql db < script.sql
其中 db 是您自己的資料庫名字。

以下我們以課本中的 ZIP 表格為例,用腳本程式來建立這張表格。 首先要宣告。請自己寫一個純文字檔案,命名為 create_zip.sql,內容是以下七列。

drop table if exists ZIP;
create table ZIP (
id smallint unsigned not null auto_increment primary key,
zip int unsigned,
zone char(10),
area char(10)
);
注意,我們使用了 smallint unsigned 型態。 它相當於 C 語言的 unsigned short 型態, 可表達 0 到 65535 = 216-1 之間的整數。

然後在 UNIX 文字介面中,下指令

mysql db < create_zip.sql
就在 db 內宣告了這張表格。您可以進入 MySQL 去檢查一下是否正確了。

然後,我們該輸入 ZIP 的資料了。臺灣目前共有 364 個郵遞區號, 為了節省讀者的力氣,我們已經準備好了輸入郵遞區號的腳本程式。 下載 insert_zip.sql 並儲存檔案,然後說

mysql db < insert_zip.sql
就整批輸入了這 364 筆資料。
如果要將一份網頁文件存檔,較為直接的方法,是將指標放在錨上, 然後按滑鼠右鍵,在跳出的浮動選單上,選擇 [另存新檔] 或類似選項, 然後按照電腦的指示,換資料夾或者更換檔名。
然後,進入 MySQL 去看看 ZIP 的表格內容。

習題

  1. 打開 insert_zip.sql 看看它是怎麼寫的。為什麼第一個指令要寫 delete from ZIP;
[BCC16-A]
單維彰 (01/05/30) ---
[Prev] [Next] [Up]