mysql常見的主鍵 常用的mysql操作

2021-10-20 23:07:59 字數 2163 閱讀 6254

方法不是唯一的,但記錄一種可行的方法就可以了。

遇到新的問題再繼續補充。

1.增加乙個列

alter table 表名 add column 欄位名 字段型別 其他;

舉例:alter table student add column *** varchar(256);

2.刪除乙個列:

alter table 表名 drop column 欄位名;

舉例:alter table student drop column ***;

3.修改列名

alter table 表名 change 舊欄位名 新欄位名 字段型別;

舉例:alter table student change stuname name varchar(128);

4.修改列型別

同修改列名是一樣的;

5.增加主鍵

alter table 表名 add primary key(主鍵字段);

舉例:alter table student add primary key(id);

6.刪除主鍵

alter table 表名 drop primary key;

舉例:alter table student drop primary key;

1 create tableclass(2 id int primary key,3 calssname varchar(256)4 );5

6 create tablestudent(7 id int,8 name varchar(256),9 class int

10 );11

12 insert into class values(2,'erban');13

14 insert into student values(1,'chxy',2);

sutdent 表中的class屬性引用class表中的id屬性

student是子表,class是父表

7.增加外來鍵

alter table 表名 add constraint constraint_name foreign key(外來鍵字段) references 父表(父表外來鍵字段);

舉例:alter table student add constraint sutdent_class_fk foreign key(class) references class(id) on delete cascade;

可能產生的錯誤有:1822 - failed to add the foreign key constraint. missing index for constraint 'sutdent_class_fk' in the referenced table 'class'

錯誤原因是:被引用的屬性在父表中不是主鍵。在父表中將該屬性設為主屬性即可。

引用:設定外來鍵的時候需要注意以下幾點:

(1)外來鍵是用於兩個表的資料之間建立連線,可以是一列或者多列,即乙個表可以有乙個或多個外來鍵。

(2)這個表裡面設定的外來鍵必須是另外乙個表的主鍵!

(3)外來鍵可以不是這個表的主鍵,但必須和另外乙個表的主鍵相對應(欄位的型別和值必須一樣)。

(4)帶有主鍵的那張表稱為父表,含外來鍵的是子表,必須先刪除外來鍵約束才能刪除父表

8.外來鍵對更新和刪除的限制:

當主表中對被引用的屬性進行刪除和更新時,規定從表中的引用屬性如何變化。

on delete 規則

on update 規則

規則有以下三種:

set null    表示在外鍵表中將相應字段設定為null

set default 表示設定為預設值

cascade 表示級聯操作,就是說,如果主鍵表中被參考字段更新,外來鍵表中也更新,主鍵表中的記錄被刪除,外來鍵表中也相應刪除。

舉例如下:

alter table student add constraint sutdent_class_fk foreign key(classid) references class(id) on delete cascade;

class表中的一條記錄刪除,也會導致student表中的一條記錄被級聯刪除。

9.刪除外來鍵

alter table 表名 drop foreign key 外鍵名;

舉例:alter table student drop foreign key student_class_fk;

常見的主鍵生成策略

系統唯一id是我們在設計乙個系統的時候常常會遇見的問題,也常常為這個問題而糾結。生成id的方法有很多,適應不同的場景 需求以及效能要求。所以有些比較複雜的系統會有多個id生成的策略。下面就介紹一些常見的id生成策略 1.資料庫自增長序列或字段 最常見的方式。利用資料庫,全資料庫唯一。優點 1 簡單,...

mysql新增主鍵 MySQL新增主鍵的三種方法

完整性約束 約束條件 說明完整性型別 primary key 主鍵,一行資料的唯一標識,非空 實體 行 完整性 foreign key 外來鍵,關聯另外一張表的主鍵 引用完整性 not null 非空約束,欄位不允許為空 域完整性 unique 唯一約束,設定欄位的值是唯一的允許為空,但只能有乙個空...

Mysql的聯合主鍵

摘要 mysql的聯合主鍵 用2個字段 或者多個字段,後面具體都是用2個字段組合 來確定一條記錄,說明,這2個字段都不是唯一的,2個字段可以分別重複,這麼設定的好處,可以很直觀的看到某個重複欄位的記錄條數。mysql的聯合主鍵 用2個字段 或者多個字段,後面具體都是用2個字段組合 來確定一條記錄,說...