MySQL設置自增字段的相關語句:
alter table album change ALBUM_ID ALBUM_ID bigint not null auto_increment;
alter table album auto_increment=1;
創建:
mysql>create table cc(id int auto_increment,name varchar(20),primary key(id));
mysql>create table cc(id int auto_increment not null primary key)
修改:
mysql> alter table cc change id id int primary key auto_increment;
mysql>alter table cc add name varchar(20)
mysql>insert into table_name (name) values('huangkai1')
OPTIMIZE table tt 釋放空間
1.ceil () 向上取整???? ?例: ceil(1.2) = 2
2.floor () 向下取整???? 例: floor(1.2) = 1
3.round() 四舍五入
4.year(birthday)
5.moth((birthday))
6.day(birthday)
select name,CEIL((TO_DAYS(NOW())-TO_DAYS(name2))/365) birthday from? tt where name2 is not null
SELECTCEIL(ct/500)*500?cct?,COUNT(*)FROMuser_answercount
GROUPBYcct
SELECTfloor(ct/500)*500?cct?,COUNT(*)FROMuser_answercount
GROUPBYcct
SELECTROUND(ct/500)*500?cct?,COUNT(*)FROMuser_answercount
GROUPBYcct
注:只有int類型且為primary key 才可以使用auto_increment.
如果用hibernate作為持久層,那么主鍵ID處用identity類型.
對于一個表主鍵的選擇,從架構設計角度來說,盡量設計一個與業務無關的字段來作為主鍵會對系統更好
當然,這勢必會增加表數據量的大小,可能有些人會認為這個副作用不值得而選擇一個有業務意義的字段(或者多個字段)來作為主鍵
但是對于大多數時候,這個字段所增加的物理存儲空間實際上是很小的,并沒有很多人想象的那么可怕。而帶來邏輯上的簡單是很可觀的。
另外,是否選擇自增類型作為主鍵,這個可以說是各有好處,如果用自增,應用可以不care這個主鍵的值得設定,但是有在高并發下成為瓶頸的風險,當然如果并發并不是非常非常高的話,一般不會成為瓶頸。如果自己控制這個主鍵值的話,更需要付出一點點代價來生成這個值,并發問題可以通過擴展應用集群來解決。