列屬性

07列屬性

01列屬性——自動增長

  1. 字段從1開始每次遞增1戏锹,特點(diǎn)是字段中的數(shù)據(jù)不可能重復(fù)冠胯,適合記錄生成唯一id。

  2. 自動增長都是無符號整數(shù)锦针。

  3. 在MySQL中荠察,auto_increment必須是主鍵,但主鍵不一定自增奈搜。

  4. 如果要給自增的字段插入數(shù)據(jù)悉盆,使用null關(guān)鍵字。

  5. 自動增長列上的數(shù)據(jù)被刪除馋吗,則默認(rèn)情況下此記錄的編號就不會再使用了焕盟。

  6. 字段從1開始

02列屬性——主鍵

  1. 主鍵是唯一標(biāo)識表中記錄的一個列或一組列。
  2. 主鍵特點(diǎn):值不能重復(fù)宏粤,不能為空脚翘。
  3. 一個表只能有一個主鍵,一個主鍵可以由多個字段共同組成绍哎。
  4. 主鍵的創(chuàng)建:
    1. 創(chuàng)建表時来农,在數(shù)據(jù)類型后直接寫primary key。
    2. 創(chuàng)建表時崇堰,使用primary key(字段名) 語句創(chuàng)建一般主鍵或組合鍵沃于。
    3. 修改表時,用語句 alter table add 表名 primary key (字段名);添加主鍵海诲。
    4. 修改表時繁莹,使用modify或change關(guān)鍵字也可以添加主鍵。
  5. 主鍵的刪除: alter table 表名 drop primary key;
  6. 主鍵的作用:
    1. 保證數(shù)據(jù)完整性特幔。
    2. 加快查詢速度咨演。
  7. 選擇主鍵的原則:
    1. 最少性:盡量選擇一個字段做主鍵。
    2. 穩(wěn)定性:盡量選擇更新少的列做主鍵敬辣。
    3. 盡量選擇數(shù)字類型的列做主鍵雪标。
  8. 關(guān)于主鍵的一些思考題:
    1. 在主鍵列輸入數(shù)值零院,允許為空嗎溉跃?——不可以
    2. 一個表可以有多個主鍵嗎?——不可以
    3. 一個學(xué)校數(shù)據(jù)庫中告抄,如果一個學(xué)校內(nèi)撰茎,允許學(xué)員重名,但是在班級內(nèi)打洼,不允許學(xué)員重名龄糊,可以組合班級和姓名做主鍵嗎逆粹?——可以
    4. 標(biāo)識列(自動增長列)允許為字符數(shù)據(jù)類型嗎?——不允許
    5. 表中沒有合適的列做主鍵怎么辦炫惩?——添加自動增長列僻弹。
    6. 一個表可以有兩個自動增長列嗎?——不可以

例子(關(guān)于創(chuàng)建和刪除主鍵):

/*
    一他嚷、創(chuàng)建表時添加主鍵
*/
# 4.a 在數(shù)據(jù)類型后直接寫primary key蹋绽。
create table t1(
    id int primary key,
    name varchar(10)
);
# 4.b 使用primary key(字段名) 語句創(chuàng)建一般主鍵或組合鍵。
create table t2(
    id int ,
    name varchar(10),
    primary key(id) -- 添加一個主鍵
); 
create table t3(
    id int ,
    name varchar(10),
    primary key(id,name) -- 添加一個組合鍵
); 
/*
    二筋蓖、修改表時添加主鍵
*/
alter table t4 add primary key (id); -- 添加一個主鍵
alter table t4 add primary key (id,name) -- 添加一個組合鍵
/*
    三卸耘、刪除主鍵
*/
alter table t6 drop primary key;

03列屬性——唯一鍵

  1. 特點(diǎn):

    1. 不能重復(fù),可以為空粘咖。
    2. 一個表可以有多個唯一鍵蚣抗。
  2. 作用:

    1. 保證數(shù)據(jù)不能重復(fù),保障數(shù)據(jù)完整性瓮下。
    2. 加快數(shù)據(jù)訪問翰铡。
  3. 查看唯一鍵:

    語法: show create table 表名 \G;

  4. 添加唯一鍵:

    1. 創(chuàng)建表時,直接在數(shù)據(jù)類型后寫 unique [key]關(guān)鍵詞讽坏。
    2. 創(chuàng)建表時两蟀,寫 unique (字段名);創(chuàng)建一個唯一鍵。
    3. 創(chuàng)建表時震缭,寫 unique (字段名1),unique (字段名2),……創(chuàng)建多個唯一鍵赂毯。
    4. 創(chuàng)建表時,寫 unique (字段名1,字段名2,....)創(chuàng)建組合唯一鍵拣宰。
    5. 修改表時使用 alter table 表名 add unique (字段名);添加一個唯一鍵党涕。
    6. 修改表時使用 alter table 表名 add unique (字段名1) , add unique(字段名2),....;添加多個唯一鍵。
    7. 修改表時使用 alter table 表名 add unique (字段名1,字段名2,....);添加組合唯一鍵巡社。
    8. 使用modify或change關(guān)鍵詞也可以添加唯一鍵膛堤。
  5. 刪除唯一鍵: alter table 表名 drop index 唯一鍵的名字;

  6. 查詢唯一鍵的名字:show create table 表名 \G;,唯一鍵可以自己命名晌该,在適當(dāng)位置命名即可肥荔。

# 唯一鍵的創(chuàng)建與刪除
/*
    一、創(chuàng)建表時創(chuàng)建唯一鍵
*/
# 4.a 創(chuàng)建表時朝群,直接在數(shù)據(jù)類型后寫 unique [key]關(guān)鍵詞燕耿。
create table t1(
    id int,
    stuid char(11) unique comment '學(xué)號',
    name varchar(10) unique,
);
# 4.b 創(chuàng)建表時,寫 unique (字段名);創(chuàng)建一個唯一鍵姜胖。
create table t2(
    id int ,
    stuid char(11),
    name varchar(10),
    unique(stuid)
);
# 4.c 創(chuàng)建表時誉帅,寫 unique (字段名1),unique (字段名2),……創(chuàng)建多個唯一鍵。
create table t3(
    id int ,
    stuid char(11),
    name varchar(10),
    unique(stuid),
    unique(name)
);
# 4.d 創(chuàng)建表時,寫 unique (字段名1,字段名2,....)創(chuàng)建組合唯一鍵蚜锨。
create table t4(
    id int,
    stuid char(11),
    name varchar(10),
     unique(stuid,name)
)
/*
    二档插、修改表時創(chuàng)建唯一鍵
*/
# 4.e 修改表時使用 alter table 表名 add unique (字段名);添加唯一鍵。
alter table t5 add unique (stuid);
# 4.f 修改表時使用 alter table 表名 add unique (字段名1)  , add unique(字段名2),....;添加多個唯一鍵亚再。
alter table t6 add unique (stuid),add unique(name);
# 4.g 修改表時使用 alter table 表名 add unique (字段名1,字段名2,....);添加組合唯一鍵郭膛。
alter table t7 add unique (stuid,name);
/*
    三、刪除唯一鍵
*/
alter table 表名 drop index 唯一鍵的名字;

04列屬性——備注

為了程序員之間的交流氛悬,使用comment在創(chuàng)建表時進(jìn)行備注饲鄙。實(shí)用查詢顯示創(chuàng)建表的語句查看備注,沒啥可說的圆雁。

05注釋

# 這是一個單行注釋
-- 這是一個單行注釋
/*
    這是一個多行注釋
*/
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末忍级,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子伪朽,更是在濱河造成了極大的恐慌轴咱,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烈涮,死亡現(xiàn)場離奇詭異朴肺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坚洽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門戈稿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讶舰,你說我怎么就攤上這事鞍盗。” “怎么了跳昼?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵般甲,是天一觀的道長。 經(jīng)常有香客問我鹅颊,道長敷存,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任堪伍,我火速辦了婚禮锚烦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帝雇。我一直安慰自己涮俄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布摊求。 她就那樣靜靜地躺著禽拔,像睡著了一般刘离。 火紅的嫁衣襯著肌膚如雪室叉。 梳的紋絲不亂的頭發(fā)上睹栖,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機(jī)與錄音茧痕,去河邊找鬼野来。 笑死,一個胖子當(dāng)著我的面吹牛踪旷,可吹牛的內(nèi)容都是我干的曼氛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼令野,長吁一口氣:“原來是場噩夢啊……” “哼舀患!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起气破,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤聊浅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后现使,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體低匙,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年碳锈,在試婚紗的時候發(fā)現(xiàn)自己被綠了顽冶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡售碳,死狀恐怖强重,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贸人,我是刑警寧澤竿屹,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站灸姊,受9級特大地震影響拱燃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜力惯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一碗誉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧父晶,春花似錦哮缺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春糠溜,著一層夾襖步出監(jiān)牢的瞬間淳玩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工非竿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜕着,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓红柱,卻偏偏與公主長得像承匣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子锤悄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時韧骗,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,176評論 0 9
  • MySQL中的列屬性 真正約束字段的是數(shù)據(jù)類型零聚,但是數(shù)據(jù)類型的越是很單一袍暴,需要有一些額外的約束,更加保證數(shù)據(jù)的合法...
    金克拉拉拉拉閱讀 557評論 0 1
  • 列屬性:真正約束字段的是數(shù)據(jù)類型握牧,但是數(shù)據(jù)類型的約束很單一容诬,需要有一些額外的約束,來更加保證數(shù)據(jù)的合法性沿腰。列屬性有...
    pomelo_西閱讀 1,204評論 1 1
  • 列屬性:約束览徒,真正約束字段的是數(shù)據(jù)類型,但是數(shù)據(jù)的類型的約束很單一颂龙,需要有一些額外的約束习蓬,來更加保證數(shù)據(jù)的合法性。...
    陳智濤閱讀 478評論 0 0
  • 列屬性:真正約束字段的是數(shù)據(jù)類型措嵌,但是數(shù)據(jù)類型的約束很單一躲叼,需要一些額外的約束,來更加的保證數(shù)據(jù)的合法性企巢,這就是列...
    咸魚有夢想呀閱讀 1,911評論 0 2