mysql 主鍵引用外來鍵 mysql 主鍵與外來鍵

2021-10-18 20:55:31 字數 2315 閱讀 8790

一、主鍵詳解,引用自:

1、要設定主鍵自增的話字段必須是整形數字。

二、外來鍵詳解:引用自

三、mysql列屬性。(主鍵,唯一鍵,自增等)引用自:

1、列屬性有很多,大致如下:

null / not null

default

primary key

unique key

auto_increment

comment

2、空屬性

3、列描述

comment:描述,沒有實際含義,為列增加文字說明,會隨著表建立一起儲存起來。

4、預設值

create table my_default(name varchar(20) not null unique key,gender varchar(4) default '男')charset utf8;

當不對gender列進行插入的時候,gender將會使用預設值。

5、主鍵,給表增加主鍵,大體分為三種

a、建立表的時候在字段後面使用primary key關鍵字

create table my_default(id int primary key,name varchar(20) not null unique key,gender varchar(4) default '男')charset utf8;

b、在建立表的時候,在所有的字段之後使用primary key(主鍵的字段 列表)來建立主鍵(如果有多個字段作為主鍵,稱之為復合主鍵)

create table my_pri(numbere char(10),

course char(10),

score tinyint,

primary key(number,course)

)charset utf8;

c、建立表之後,為表追加主鍵。有兩種方式,第一為修改表字段屬性,第二直接追加。

方式一:

alter table my_pri modify number char(11) primary key;

方式二:

alter table table_name add primary key(column);

--alter table my_pri add primary key(number,course);--增加復合主鍵

--alter table my_pri add constraint pk_score primary key(score)--使用關鍵字constraint 且指定主鍵名字pk_score

--alter table my_pri add constraint primary key(score)--使用關鍵字constraint 且使用預設名字

d、刪除主鍵:

alter table my_pri drop primary key;

6、自增

create table my_auto(id int primary key auto_increment,name varchar(20))charset utf8;

刪除自增:需要注意的是,如果自增長對應的字段為主鍵,那麼修改列屬性的時候,不要再加primary key;會被系統認為又定義乙個主鍵,會報錯。

alter table my_auto modify id int primary key; (錯誤)

alter table my_auto modify id int;(正確)

7、唯一鍵

a、建立表時新增唯一鍵:

方法一:

create table my_unique(name varchar(4) unique key,number varchar(20) unique key)charset utf8;

方法二、create table my_unique(name varchar(4),

number varchar(20),

unique key name(name),

unique key(number)

)charset utf8;

b、建立表後增加唯一鍵:

create table my_unique(name varchar(4),number varchar(20))charset utf8;

方法一:

alter table my_unique modify column name varchar(5) unique key;

方法二:

alter table my_unique add constraint num_uk unique key(number);

c、刪除唯一約束

alter table my_unique drop index num_uk;

mysql 主鍵 外來鍵

1 候選鍵 關係中的乙個屬性組,其值能唯一標識乙個元組,若從該屬性組中去掉任何乙個屬性,它就不具有這一性質了,這樣的屬性組稱作候選碼。比如人的自然屬性 身高,體重,年齡,指紋樣式.2 主鍵 當有多個候選碼時,可以選定乙個作為主碼,選定的候選碼稱主鍵。主鍵是能確定一條記錄的唯一標識 比如上面例子中的指...

mysql主鍵 外來鍵

主鍵是能確定一條記錄的唯一標識,主鍵字段必須唯一,必須非空,乙個表中只能有乙個主鍵,主鍵可以包含乙個或多個字段。打個比方,一條記錄包括身份正號,姓名,年齡,學校,國籍,性別等。身份證號是唯一能確定你這個人的,其他都可能有重複,所以,身份證號是主鍵。外來鍵表示了兩個關係之間的相關聯絡。以另乙個關係的外...

mysql的主鍵 外來鍵約束 MySQL 主鍵外來鍵

笛卡兒積 多表查詢 多個表變成乙個表 完整性約束條件 primary key 標識該屬性為該錶的主鍵,可以唯一的標識對應的元組 foreign key 標識該屬性為該錶的外來鍵,是與之聯絡的某錶的主鍵 not null 標識該屬性不能為空 unique 標識該屬性的值是唯一的 auto increm...