MySql
打開你的 mysql
mysql -u root
在 MySql 中的指令
# 看你的 databases 有什麼
show databases;
# 離開
exit;
資料類型
Numeric Data Types
數值類型中的「有符號」是指數字可以表示正數或負數。相對的,「無符號」只允許表示非負數(即零和正數)。具體來說:
- 有符號 (Signed):這類型的數據範圍可以涵蓋負數和正數。例如,
TINYINT有符號的範圍是-128到127,其中負數和正數 各佔一部分。 - 無符號 (Unsigned):這類型的數據範圍只包含非負數,範圍通常會比有符號類型大一倍。舉例來說,
TINYINT無符號的範圍是0到255,因為無需考慮負數,因此所有位元都可以用來表示正數。
在資料庫設計中,使用「有符號」或「無符號」會影響數字的表示範圍。無符號適合用於不會有負數的情況,例如物品數量、價格等;而有符號適合用於可能會有負值的情況,例如損益、溫度等。
| 類型 | 用途 | 範圍 (有符號) | 範圍 (無符號) | 大小 |
|---|---|---|---|---|
| TINYINT | 非常小的整數值 | -128 ~ 127 | 0 ~ 255 | 1 byte |
| SMALLINT | 小整數值 | -32768 ~ 32767 | 0 ~ 65535 | 2 bytes |
| MEDIUMINT | 中等整數值 | -8388608 ~ 8388607 | 0 ~ 16777215 | 3 bytes |
| INT | 中等整數值 | -2147483648 ~ 2147483647 | 0 ~ 4294967295 | 4 bytes |
| INTEGER | 中等整數值 (等於 INT) | -2147483648 ~ 2147483647 | 0 ~ 4294967295 | 4 bytes |
| BIGINT | 大整數值 | -9223372036854775808 ~ 9223372036854775807 | 0 ~ 18446744073709551615 | 8 bytes |
| FLOAT | 單精度浮點數 |
String Data Types
| 類型 | 用途 | 長度 |
|---|---|---|
| CHAR | 固定長度字串 | 0 ~ 255 characters |
| VARCHAR | 變動長度字串 | 0 ~ 65535 characters |
| TINYBLOB | 二進制字串 | 0 ~ 255 bytes |
| TINYTEXT | 字符串 | 0 ~ 255 characters |
| BLOB | 二進制字串 | 0 ~ 65535 bytes |
| TEXT | 字符串 | 0 ~ 65535 bytes |
| MEDIUMBLOB | 二進制字串 | 0 ~ 16777215 bytes |
| MEDIUMTEXT | 字符串 | 0 ~ 16777215 characters |
| LONGBLOB | 二進制字串 | 0 ~ 4294967295 bytes |
| LONGTEXT | 字符串 | 0 ~ 4294967295 characters |
Date and Time Data Types
| 類型 | 用途 | 格式 | 範圍 | 大小 |
|---|---|---|---|---|
| DATE | 日期值 | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 | 3 |
| TIME | 時間值 | HH:MM:SS | -838:59:59 ~ 838:59:59 | 3 |
| YEAR | 四位數格式的年份值 | YYYY | 1901 ~ 2155 | 1 |
| DATETIME | 日期與時間的組合 | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8 |
| TIMESTAMP | 時間戳 | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:00 ~ 2038-01-09 03:14:07 | 4 |