MySql cmd下的學習筆記 —— 有關建立表的操作(有關與數據類型)
(01)建表的過程實際上是 聲明字段 的過程
一. 列類型(字段):
存儲同樣的數據時,不同的列類型,所占據的空間和效率是不一樣的,這就是建表時要考慮的意義。
二.MySQL三大列類型
數值型
整型
tinyint
占據空間:1個字節
存儲範圍:0 - 255, -128 - 127
smallint
占據空間:2個字節
儲存範圍:-32768 - 32768, 0 - 65535
int
占據空間:4個字節
儲存範圍:-2147483648 - 2147483647
0 - 4294967295
(02)先建立一張表
添加一條記錄
age的範圍在(-128 - 127)
增加一列
可以看出加入unsigned後, 表示為無符號類型, 範圍在(0 - 255)之間
二. 小數型:
float(小數的總位數,小數點右邊的位數)(浮點型)
例:float(6,2)表示:9999.99
定點型:decimal()
把整數部分和小數部分分開存儲,比float精確
但float有時會有損精度
https://blog.csdn.net/lingmao555/article/details/48391763
中有具體講解:
字符型
char型
char(6) 定長字符串
char 和 varchar 分別為定長型和變長型
char 優點:查詢速度快
缺點:耗費內存
varchar 優點:耗費內存少
缺點:查詢速度相對慢
char 與 varchar 的區別
可以看出varchar右側有一個空格
說明了char類型,如果不夠M個字符,內部用空格補齊。取出時把右側空格刪除,如果右側有空格會自動刪除
Text型: 文本類型,可以儲存大的文本段,但搜索速度慢
(不需加默認值)
blob 為二進制類型,用來儲存圖像,音頻等二進制信息
意義:二進制 0-255都有可能出現
比如一張圖片有0xFF字節,在ascII表中認為非法,在入庫時,被過濾了
時間類型
MySql cmd下的學習筆記 —— 有關建立表的操作(有關與數據類型)