shell> mysql [-h host] -u user -p [-D database]
Enter password: ********
-h:指定遠端主機(本機可省略)-D:連線後預設使用的資料庫mysql>,每條指令以分號 ; 結束,未輸入完換行會出現 -> 提示符。mysql> exit
mysql> quit
兩者皆可不加分號。
CREATE DATABASE database_name;DROP DATABASE database_name;USE database_name;(每次操作前必須先選擇)| 類型 | 說明 | 有號範圍 | 無號範圍 |
|---|---|---|---|
| TINYINT | 極小整數 | -128 ~ 127 | 0 ~ 255 |
| SMALLINT | 小整數 | -32768 ~ 32767 | 0 ~ 65535 |
| MEDIUMINT | 中整數 | -8388608 ~ 8388607 | 0 ~ 16777215 |
| INT | 標準整數 | -2147483648 ~ 2147483647 | 0 ~ 4294967295 |
| BIGINT | 大整數 | -9223372036854775808 ~ 9223372036854775807 | 0 ~ 18446744073709551615 |
| FLOAT(m,d) | 單精度浮點數 | m 總位數,d 小數位(預設 10,2) | |
| DOUBLE(m,d) | 雙精度浮點數 | m 總位數,d 小數位(預設 16,4) | |
| DECIMAL(m,d) | 精確定點數 | 每位小數佔 1 byte,需明確指定 m,d | |
NUMERIC 為 DECIMAL 同義詞。
| 類型 | 格式 | 範圍 |
|---|---|---|
| DATE | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 |
| DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
| TIMESTAMP | YYYYMMDDHHMMSS | 1970-01-01 00:00:00 ~ 2037 年某時間 |
| TIME | HH:MM:SS | -838:59:59 ~ 838:59:59 |
| YEAR(m) | 2 或 4 位年份 | 2 位:1970-2069;4 位:1901-2155(預設) |
| 類型 | 最大長度 | 特性 |
|---|---|---|
| CHAR(m) | 255 | 固定長度,右側空白填充 |
| VARCHAR(m) | 65535 (5.0.3+) | 變長,長度≤255 用 1 byte 記錄長度,>255 用 2 bytes |
| TINYBLOB/TEXT | 255 | 二進位/文字 |
| BLOB/TEXT | 65535 | 二進位/文字 |
| MEDIUMBLOB/TEXT | 16777215 | 二進位/文字 |
| LONGBLOB/TEXT | 4294967295 | 二進位/文字 |
| ENUM | 65535 元素 | 列舉,非列舉值存入會變空字串 |
| 值 | CHAR(4) | 儲存 | VARCHAR(4) | 儲存 |
|---|---|---|---|---|
| '' | ' ' | 4 bytes | '' | 1 byte |
| 'ab' | 'ab ' | 4 bytes | 'ab' | 3 bytes |
| 'abcd' | 'abcd' | 4 bytes | 'abcd' | 5 bytes |
| 'abcdefg' | 'abcd' | 4 bytes | 'abcd' | 5 bytes |
CREATE TABLE table_name (
column_name column_type,
column_name column_type, ...
);
CREATE TABLE hotel (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`default_test` INT DEFAULT 0,
`num` CHAR(4) NOT NULL,
`price` VARCHAR(5) NOT NULL,
`position` VARCHAR(30) NOT NULL,
`describe` TEXT,
`available` ENUM('y', 'n'),
PRIMARY KEY (`id`)
);
重點:
`(Esc 下方鍵)用於包裹與關鍵字衝突或含空白的識別名稱。TEXT 類型不可設定預設值。PRIMARY KEY (col1, col2)。DROP TABLE table_name;
DROP TABLE IF EXISTS table_name; -- 避免不存在報錯
掌握以上基礎操作與類型選擇,即可高效進行 MySQL 資料庫設計與日常管理。