MySQL學習 主鍵約束 非空約束 唯一約束

2021-10-03 05:29:12 字數 1549 閱讀 7961

約束的概念:對錶中的資料進行限定,保證資料的正確性、有效性和完整性

1、主鍵約束:primary key

1.1注意:

1、含義:非空且唯一

2、一張表只能有乙個字段為主鍵

3、主鍵就是表中記錄的唯一標識

1.2、在建立表時新增主鍵約束

create table stu(

id int primary key,-- 給id新增主鍵約束

name varchar(20)

1.3、刪除主鍵

alter table stu modify id int;-- 執行不出錯但是不生效

alter table stu drop primary key;-- 成功生效(因為只有乙個主鍵,所以不指定字段)

1.4、建立完錶後新增主鍵

alter table stu modify id int primary key;

1.5、自動增長

1、概念:如果某一列是數值型別的,使用auto_increment 可以來完成值的自動增長。

2、在建立表時,新增主鍵約束,並且完成主鍵自增長。

create table stu(

id int primary key auto_increment,-- 給id新增主鍵約束

name varchar(20)

insert into stu values(null,「lll」);-- 原本不可以為null,自動增長在上乙個id基礎上加一)

3、刪除自動增長

alter table stu modify id int;

4、新增自動增長

alter table stu modify id int auto_increment;

2、非空約束:not null

1、建立表事新增約束

create table stu(

id int,

name varchar(20) not null – name為非空

2、刪除name的非空約束

alter table stu modify name varchar(20);

3、建立表完後,新增非空約束

alter table stu modify name varchar(20) not null;

3、唯一約束:unique:值不能重複

– 建立表時新增唯一約束

create table stu(

id int,

phone_number varchar(20) unique – 新增了唯一約束

– 注意mysql中,唯一約束限定的值可以有多個null;

– 刪除唯一約束

alter table stu modify phone_number varchar(20);-- 不報錯但是沒刪除成功

alter table stu drop index phone_number;-- 刪除唯一約束成功

– 建立表後新增唯一約束

alter table stu modify phone_number varchar(20) unique;

主鍵約束 唯一約束 非空約束 預設約束

1 主鍵約束 每個表中最多有乙個主鍵約束,定義為主鍵的字段不能重複,不能為null值。欄位名 資料型別 primary key primary key 欄位1,欄位2.2 非空約束 字段值不為空 欄位名 資料型別 not null 3 唯一約束 字段值不重複出現 欄位名 資料型別 unique 4 ...

Oracle非空約束

一 約束的作用 1 定義規則 2 確保完整性 二 非空約束 1 在建立表時設定非空約束 create table table name column name datatype not null,sql create table userinf 1 2 id number 6 0 3 usernam...

MySQL 主鍵約束

主鍵,又稱住碼,是表中一列或多列的組合。主鍵要求主鍵列的資料唯一,並且不允許為空,主鍵能夠唯一地表識表中的一條記錄,可以結合外來鍵定義不同資料表之間的關係,並且可以加快資料庫查詢的速度。主鍵和 記錄一一對應的。主鍵分為兩種型別 單字段主鍵和多字段聯合主鍵。一.單字段主鍵 單字段主鍵有乙個字斷組成,字...