標籤:set es2017 推薦 包括 app logs alt 現在時間 數值
1. 數字:
整型:tinyinit int bigint
這裡面的tinyinit int bigint,分別指不同的數字寬度,依次從最小到最大
還有int(5)後面括弧裡的數字,對於存是沒有任何差別,而對於取,如果存的數字沒有5個寬,
那麼前面會加上0以湊齊5個,如:輸入123,則輸出為00123.但是一般不顯示出來
這時候加上zerofill 的話就可以顯示出來
create table n3(x int(3) zerofill)
只要數字不足三位,那麼就會前面加上0.
小數: float :在位元比較短的情況下不精準 double :在位元比較長的情況下不精準 0.000001230123123123 存成:0.000001230000 decimal:(如果用小數,則用推薦使用decimal) 精準 內部原理是以字串形式去存
其中decimal,還有小數其他形式是以decimal(10,5),表示總共10位元,小數點後面只能跟5位,超過的會以四捨五入運算.
並且前面不能數字不能超過5位,超過5位就報錯.如果小數點不足,那麼就會用0加到後面湊齊5位.
2. 字元:
char(10)
存取速度快,佔用空間大,簡單粗暴.
char(10)==>char(name)==>char(name000000),當位元不夠則用0補.
存也存10位,取也是取10位,所以速度快.
varchar(10)
存取速度慢,空間小,省空間.精準
varchar在傳給別人資料之前,為了精準的取到,會在前面增加一個前序,後期取用的時候,會先取前序,運算過後,在取相應的數量的資訊,就像socket的前序一樣.
char_length 查看字元的長度,length查看位元組的長度,也就是bytes類型..
select char_length(x) from name..
bit類型:
也就是bytes類型,查看byte類型長度,要用到函數,bin()
select bin(x) from n3.
select hex(x) from n3.
三 日期類型
DATE TIME DATETIME TIMESTAMP YEAR
作用:儲存使用者註冊時間,文章發布時間,員工入職時間,出生時間,到期時間等
出生時間:顯示-年-月-日-時分秒datetime年:year時間:time 年月日date格式:insert into n3 values(出生時間 datetime,年 year, 時間 time, 年月日 date);如果你要顯示的現在時間那麼:可以用now()
如果要手動添加:如果你有特殊符號的話(2017-09-10)那麼就要添加‘‘(引號)格式:insert into n3 values(出生時間 now(),年 now(), 時間 now(), 年月日 now());就是顯示現在時間
5:枚舉類型和集合類型
枚舉--enum:
enum:create table n1(name enum(‘sdf‘,‘fd‘));insert into n1 values(‘sdf‘);枚舉類型是指:在一個列表裡選擇其中的一個元素,當做自己的值.如果要改變枚舉類型,那麼你就要刪除你用枚舉類型創造的值.1)truncate n1 刪除所有枚舉創出來的值2)alter ........... 改變枚舉類型
集合-set類型
集合set:集合是指在一個元組裡面取一個或多個值.create table n1 (name set(‘12‘,‘123‘,‘456‘);insert into n1 values(‘12,123‘);如果要改變改set類型,也要和enum類型一樣,把有集合元素內容的東西都刪除調,才能改1)truncate n1;2)alter ,......注意:集合裡面,如果你要取裡面的2個元素,那麼你不能寫成(‘S‘,‘b‘), 要寫成(‘S,b‘)也就是一個冒號包括2個元素,裡面的元素用逗號分開.
6:constraint host_port unique(host,port) 整體意思:約束host_port是唯一的,也就是後面括弧裡的內容可以
其中一個相同,但是不能2個相等.
create table department3(id int,name varchar(20),comment varchar(100),constraint pk_name primary key(id); 這裡的pk_name只是一個擺設,沒什麼用,最後一句話的意思就是把id設成了主鍵,
7:auto_increment 的用法
create table t1(id int primary key auto_increment, name char(2),age int)auto_increment=3;表示預設的初始自增值數值為3,如果不指定id數值,那麼預設會從3開始遞增.Ps:這是從開始就設定了2)create table t1(id int primary key auto_increment, name char(2),age int)如果程式已經開始運行,現在想修改自增值的話,就在後面修改alter table n1 auto_increment=3;從現在開始就是從3開始增長.
8;foreign key:被關聯的表裡面的元素,必須是主鍵,也就是唯一的.
references t1(id) 以t1表的id為參考
on delete cascade 把delete串聯
on update cascade 把update串聯.
資料類型--mysql