1. 程式人生 > >IT修煉手冊之SQL資料型別

IT修煉手冊之SQL資料型別

Mysql入門基礎(日常開發)

資料庫基本概念理解:所謂資料庫就是資料管理的軟體。一個數據庫之中會包含多張表,資料表裡面一行就是一條資料,而每個資料又是由多個欄位進行基本的維護操作。
基本資料型別
Mysql基本資料型別解析
整型列屬性解析:
int(M)unsigned zerofilled
M:表示寬度,(0填充,在宣告zerofilled的時候才有實際意義,只是顯示相應的效果)
unsigned:表示無符號型別(非負數)
zerofill:指的是零填充,預設為無符號。
NOT NULL DEFAULT 0 不為空,設定預設值 0
如果 M 是 5,指定了 zerofill;那麼儲存在資料庫裡面的格式是:00001 00002 00003這種格式進行存貯。

浮點型與定點型
Float:浮點型
Decimal:更精確
M: 總位數,不包含點 D: 小數位 float(3,2)表示最大:9.99 最小-9.99,超過後會四捨五入。Decimal 同樣含有兩個引數,只不過更精確。比如寫 1234567.23 float 可能是
1234567.25,decimal 一定會是 1234567.23 。對於大資料值來講更精確。

字串型別基本資料:
Mysql字串型別
char(M)定長,M 代表寬度,即可容納的字元數。
char 和 varchar 的區別:
1、如果申請了 M 個字元大小的空間,對於 char 來講即使儲存的資料內容大小不夠 M 個,實際上也會佔用 M 個長度的大小空間。對於 varchar 來講,如果儲存的內容小於 M 個字元,實際佔用本身的大小。
2、速度上定長的快些選擇原則:
(1)、如果知道長度使用 char 型別比較好,空間利用率比較高
(2)、執行效率上,char 高效。

時間型別
這裡寫圖片描述
注意:在實際開發中很少用日期時間型別用來表示需要精確到秒的列。因為在操作上不太好處理,一般用時間戳來標示。時間戳:(1970-1-1 00:00:00 到此時的秒數)用 int 型來儲存。

Mysql建立表語句:
基本語法格式:
create table 表名 (
列 1 [列屬性 預設值], 列 2 [列屬性 預設值],
…..
列 n [列屬性 預設值]
)engine = 儲存引擎 charset = 字符集;

相應建立例子:
CREATE TABLE t_user (
id int(11) NOT NULL AUTO_INCREMENT,
username

varchar(255) DEFAULT NULL COMMENT ‘使用者名稱’,
psw varchar(255) DEFAULT NULL,
nickName varchar(255) CHARACTER SET utf8 DEFAULT NULL,
pic varchar(255) DEFAULT NULL,
sex varchar(255) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8;