首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 入門實戰:建立資料庫、資料表與資料匯入完整流程

     編輯:MySQL 資料庫相關知識

環境確認

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+

建立資料庫

mysql> CREATE DATABASE abccs;
Query OK, 1 row affected (0.00 sec)

mysql> USE abccs;
Database changed

注意:Windows 不區分大小寫,Linux/Unix 預設區分 (受 lower_case_table_names 影響)。建議統一小寫命名。

建立資料表

mysql> SHOW TABLES;
Empty set (0.00 sec)

mysql> CREATE TABLE mytable (
    name VARCHAR(20),
    sex CHAR(1),
    birth DATE,
    birthaddr VARCHAR(20)
);
Query OK, 0 rows affected (0.00 sec)

mysql> DESCRIBE mytable;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| name        | varchar(20) | YES  |     | NULL    |       |
| sex         | char(1)     | YES  |     | NULL    |       |
| birth       | date        | YES  |     | NULL    |       |
| birthaddr   | varchar(20) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+

資料型態選擇指南

類型適用場景範例
VARCHAR(n)可變長度字串、長度不固定姓名、地址、Email
CHAR(n)固定長度、極短字串性別 (M/F)、狀態碼 (Y/N)
DATE日期 (無時間)生日、入職日
DATETIME日期時間訂單時間、登入紀錄
INT整數ID、數量、年齡
DECIMAL(p,s)精確小數 (金額)價格、薪資

插入單筆資料

mysql> INSERT INTO mytable VALUES ('abccs', 'f', '1977-07-07', 'china');
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mytable;
+-------+-----+------------+-----------+
| name  | sex | birth      | birthaddr |
+-------+-----+------------+-----------+
| abccs | f   | 1977-07-07 | china     |
+-------+-----+------------+-----------+

批次匯入:文字檔 + LOAD DATA

準備文字檔 mytable.txt (Tab 分隔,欄位順序同建表)

abccs	f	1977-07-07	china
mary	f	1978-12-12	usa
tom	m	1970-09-02	usa

匯入指令

mysql> LOAD DATA LOCAL INFILE 'mytable.txt' INTO TABLE mytable;
Query OK, 3 rows affected (0.01 sec)

進階參數

LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE orders
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(order_id, customer_id, order_date, total_amount);
  • LOCAL:從客戶端讀取檔案上傳至 Server (無需 Server 端檔案權限)。
  • IGNORE 1 LINES:跳過標題列。
  • 欄位清單:來源欄位少於目標表、或順序不同時指定對應。

驗證與後續

mysql> SELECT * FROM mytable;
+-------+-----+------------+-----------+
| name  | sex | birth      | birthaddr |
+-------+-----+------------+-----------+
| abccs | f   | 1977-07-07 | china     |
| mary  | f   | 1978-12-12 | usa       |
| tom   | m   | 1970-09-02 | usa       |
+-------+-----+------------+-----------+

後續可學習:UPDATE、DELETE、ALTER TABLE、索引建立、JOIN 查詢、備份與還原。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved