MySQL 表的約束

2021-09-25 21:27:30 字數 2394 閱讀 2689

create table tt6(age tinyint not null,name varchar(5) not null,*** char(2) default '男');

建立乙個名為tt6的字段,age欄位為tinyint型,不可為空,name欄位為varchar(5),不可為空,***欄位為char(2)型別,預設值為男。

當給字段設定為not null後,向字段中新增資料時不可為空。

給字段設定預設值之後,即使不向字段賦值,那麼也會有預設值。

alter table tt6 add class varchar(5) comment '班級' first;

表tt6的最前面新增乙個class欄位,comment可以注釋此字段的含義為』班級』。

給型別後面加zerofil可以使得資料型別自動補0。

用來唯一的約束該欄位裡面的資料,不能重複,不能為空,一張表中最多只能有乙個主鍵;主鍵所在的列通常是整數型別。

建立表的時候在指定欄位上設定主鍵

在型別後面加primary key

設定復合主鍵:

primary key(id,name)

將id,name同時都設為主鍵。

追加主鍵:

alter table tt10 add primary key(id);

刪除主鍵:(刪除全部主鍵)

當對應的字段如果不給值,會自動的被系統觸發,系統會從當前欄位中已經有的最大值+1操作,得到乙個新的不同的值。通常和主鍵搭配使用,作為邏輯主鍵。

在字段型別後面加上auto_increment

自增長的特點:

檢視自增長值的方法:

select last_insert_id();

show create table ***

一張表中有往往有很多字段需要唯一性,資料不能重複,但是一張表中只能有乙個主鍵:唯一鍵就可以解決表中有多個字段需要唯一性約束的問題。

唯一鍵的本質和主鍵差不多,唯一鍵允許為空,而且可以多個為空,空字段不做唯一性比較。

在字段後面加上uniqe關鍵字

用於定義主表和從表之間的關係:外來鍵約束主要定義在從表上,主表則必須是有主鍵約束或unique約束。當定義外來鍵後,要求外來鍵列資料必須在主表的主鍵列存在或為null。

foreign key (欄位名) references 主表(列)

先建立主表:

建立從表:

首先向class中插入資料分別為編號為1的a班,編號為2的b班,之後在向student中插入編號為101的1班學生『a』,編號為102的1班學生『b』。這些都可以成功完成,當插入

編號為103的3班學生學生『c』時出錯,因為不存在3班這個編號。

此例子說明外來鍵的資料必須在主鍵的資料中。

說明外來鍵可以為空的例子:

musql表操作.

mysql庫操作.

mysql常見資料型別.

Mysql 表的約束

約束型別 說明主鍵約束 primary key 要求主鍵列資料唯一,並且不允許空。主鍵可以包含表的一列或多列,如果包含火烈,則序號在表級定義。唯一約束 unique 要求該列唯一,允許為空。檢查約束 check 某列取值範圍限制 格式等限制,如年齡的約束。非空約束 not null 某類內容不能為空...

MySQL 表的約束

為了防止錯誤資料的產生,在mysql中定義了一些維護資料庫完整性的規則即表的約束,如下表所示 表的約束 約束條件 說明primary key 主鍵約束,用於標識唯一對應的記錄 例如賬號 foreign key 外來鍵約束 not null 非空約束 unique 唯一性約束 default 預設值約...

MySQL表的約束

為了保證資料的合法性,也可以說是資料的正確性,需要在屬性上加一些約束,在表的角度下屬性就是乙個列的屬性。1.空屬性 在乙個表中,有些屬性是不能為空的,如乙個學生資訊表中,學生姓名 學號等不能為空。空屬性有兩個值 null 預設的 和not null 不為空 在前面建立表時,屬性都是預設空的,因此我們...