日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Mysql列属性

發(fā)布時(shí)間:2024/10/6 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql列属性 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一.主鍵(primary key):一張表中只能有一個(gè)主鍵

??????????? 1.增加主鍵直接在字段名后加:id int(4) not null primary key

??????????? 2.復(fù)合主鍵:創(chuàng)建表之后在所有字段后使用primary key(主鍵字段列表)來(lái)創(chuàng)建主鍵(如果有多個(gè)字段做主鍵可以使用復(fù)合主鍵):????

???????????????????????? create table if not exists my_course(

??? ????????????????????????-> id int(4) comment '學(xué)號(hào)',
??????????????????????????? -> name char(8) not null comment '姓名',
??????????????????????????? -> primary key(id,name)

??? ??????????????????????? -> );

??????????? 3.當(dāng)表創(chuàng)建好后追加主鍵:alter table my_course add primary key(字段名);

??????????? 4.更新主鍵&刪除主鍵:主鍵必須刪除才能增加,alter table my_course drop primary key;

??????????? 5.主鍵分類:大部分是使用邏輯性字段(與業(yè)務(wù)關(guān)聯(lián)性很小

二.自增長(zhǎng):系統(tǒng)會(huì)在當(dāng)前字段中找到最大值然后進(jìn)行+1操作,得到一個(gè)新的不同的數(shù)據(jù)。自增長(zhǎng)通常與主鍵進(jìn)行搭配

??????????? 1.自增長(zhǎng)特點(diǎn):自增長(zhǎng)字段必須是一個(gè)索引;自增長(zhǎng)字段必須是整數(shù);每張表只能有一個(gè)字段自增長(zhǎng)。

??????????? 2.修改自增長(zhǎng):一張表只有一個(gè)字段是自增長(zhǎng),所以必須先刪除然后再重新定義。

??????????????? alter table my_course auto_increment=8; set auto_increment_increment=10;

??????????? 3.查看自增長(zhǎng)變量:show variables like "auto_increment";

??????????? 4.刪除自增長(zhǎng):alter table my_course modify id int(4);

三.唯一鍵:一張表中有很多字段具有唯一性,但一張表中只有一個(gè)主鍵,唯一鍵(unique? key)可以有效的解決這個(gè)問題。

??????????? 1.唯一鍵本質(zhì):和主鍵差不多,區(qū)別唯一鍵(單個(gè)或多個(gè))默認(rèn)為空,空字段不參與唯一性比較。

??????????? 2.聲明唯一鍵

??????????????????????? 1):創(chuàng)建表的時(shí)候直接在字段后跟unique/unique key?? name char(10) not null unique;

??????????????????????? 2):在所有字段后添加唯一鍵unique??????
????????????????????????????????mysql> create table if not exists my_unique(
??? ?????????????????????????????????????? -> id int(4) not null primary key auto_increment,
??????????????????????????????????????????? -> sex char(7) not null,
??? ????????????????????????????????????????-> password char(6),
??????????????????????????????????????????? -> unique(sex,password)
??????????????????????????????????????????? -> );

?????????????????????????? 3):在創(chuàng)建表之后添加唯一鍵:alter table my_course add unique key(name,sex);

?????????????????????????? 4):刪除&更新唯一鍵:先刪除后更新 alter table my_course drop index name; ???????????????????????

四.索引:幾乎都建立在字段上,索引能夠快速匹配數(shù)據(jù)

????????????? 1.索引的作用:提交查詢的效率,約束數(shù)據(jù)的有效性

?????????????? 2.增加索引的前提條件:建立索引會(huì)產(chǎn)生索引文件(可能索引文件會(huì)比數(shù)據(jù)文件還大),會(huì)非常消耗磁盤空間

?????????????? 3.Mysql提供的索引????1.主鍵索引:primary key? 2.唯一鍵索引:unique key? 3.fulttext index??? 4.普通索引:index

五.范式:解決數(shù)據(jù)存儲(chǔ)與優(yōu)化的問題,若要滿足下一層范式,必須滿足上一層范式。

?????????????? 1.第一范式(1NF):要求所有的字段都滿足原子性,不可以再拆分。

?????????????? 2.第二范式(2NF):如果一張表中存在復(fù)合主鍵,表中存在字段依賴主鍵部分?jǐn)?shù)據(jù),稱為部分依賴。第二范式不允許出現(xiàn)部分依賴。

??????????????? 解決方案:取消復(fù)合主鍵,使用邏輯主鍵。

?????????????? 3.第三范式(3NF):理論上講所有的字段都應(yīng)依賴主鍵(邏輯主鍵除外),第三范式解決部分傳遞依賴。


總結(jié)

以上是生活随笔為你收集整理的Mysql列属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。