從零開始建立資料庫與資料表,並掌握大量資料高效匯入技巧,是 DBA 與開發者的必修課。
SHOW DATABASES;
CREATE DATABASE abccs;
注意:Windows 不區分大小寫,Linux 區分,建議統一小寫命名。
USE abccs;
先確認無表:
SHOW TABLES; -- Empty set
建立員工生日表 mytable:
CREATE TABLE mytable (
name VARCHAR(20), -- 變長字串,姓名長度不固定
sex CHAR(1), -- 固定長度,'m' 或 'f'
birth DATE, -- 日期型別
birthaddr VARCHAR(20) -- 出生城市
);
型別選擇原則:長度固定用 CHAR,不固定用 VARCHAR,日期用 DATE,整數用 INT 等。
DESCRIBE mytable; -- 或 DESC mytable;
INSERT INTO mytable VALUES ('abccs','f','1977-07-07','china');
準備文字檔 mytable.txt,欄位用 Tab 分隔,順序對應建表順序:
abccs f 1977-07-07 china
mary f 1978-12-12 usa
tom m 1970-09-02 usa
執行匯入:
LOAD DATA LOCAL INFILE 'mytable.txt' INTO TABLE mytable;
優勢:比逐筆 INSERT 快數十倍,適合初始化數萬筆以上資料。
C:/data/mytable.txt 或雙反斜線。FILE 權限,且 MySQL 啟用 local_infile=1。character_set_database 一致,避免亂碼。