承接上篇,本文介紹常用欄位資料型別、查看表結構、資料的增刪改查與排序。
| 型別 | 說明 |
|---|---|
| CHAR(n) | 固定長度字串,0-255 字符,不足補空格 |
| VARCHAR(n) | 可變長度字串,0-255 字節 |
| TEXT | 長文本,最大 64KB |
| LONGTEXT | 超長文本,最大 4GB |
| ENUM | 枚舉,預定義集合單選,最多 65535 個元素 |
| SET | 集合,預定義集合多選,最多 64 個元素 |
| INT[(M)] | 4 字節整數,有符號 -2147483648~2147483647 |
| DATE | 日期,格式 YYYY-MM-DD,範圍 1000-01-01 至 9999-12-31 |
| TIME | 時間,格式 HH:MM:SS,範圍 -838:59:59 至 838:59:59(支援負值用於時間差) |
| DATETIME | 日期時間,8 字節,範圍 1000-01-01 00:00:00 至 9999-12-31 23:59:59 |
| BLOB | 二進制大對象,最大 64KB,存圖片/音視頻 |
mysql> DESC table_name;
# 或
mysql> SHOW COLUMNS FROM table_name;
顯示欄位名、型別、是否可空、預設值、鍵類型等。
# 查詢所有欄位
mysql> SELECT * FROM table_name;
# 指定欄位
mysql> SELECT col1, col2 FROM table_name;
# 分頁查詢:第 n 到 m 行
mysql> SELECT * FROM table_name ORDER BY col_name LIMIT n-1, m;
mysql> INSERT INTO table_name (col1, col2, ...) VALUES (val1, val2, ...);
mysql> DELETE FROM table_name WHERE condition;
# 例:刪除 name='Bob' 且 age=12 的行
mysql> DELETE FROM table_name WHERE name='Bob' AND age=12;
mysql> UPDATE table_name SET col1=new_val WHERE condition;
# 例:將 name='Ason' 的 age 從 15 改為 13
mysql> UPDATE table_name SET age=13 WHERE name='Ason';
# 新增欄位
mysql> ALTER TABLE table_name ADD column_name data_type [DEFAULT value];
# 刪除欄位
mysql> ALTER TABLE table_name DROP column_name;
# 新增索引
mysql> ALTER TABLE table_name ADD INDEX idx_name (col1, col2);
# 新增主鍵
mysql> ALTER TABLE table_name ADD PRIMARY KEY (col_name);
# 刪除索引
mysql> ALTER TABLE table_name DROP INDEX idx_name;
mysql> RENAME TABLE old_name TO new_name;
mysql> SELECT col1, col2 FROM table_name ORDER BY col1, col2;
第一組欄位為顯示內容,第二組為排序依據,勿混淆。
下一篇將介紹多表合併與資料庫備份還原實戰。