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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql常用的约束_MySQL常用的约束条件

發布時間:2024/6/1 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql常用的约束_MySQL常用的约束条件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

約束條件

約束條件是在表和字段上強制執行的數據檢驗規則,

它是為了防止不規范的數據進入數據庫,

在我們對數據執行插入、修改、刪除等一系列操作的時候,

數據庫管理系統會自動按照指定的約束條件對數據進行監測,

它主要是對空值和重復值的檢測,來保證數據存儲的完整性和準確性。

按照約束的不同功能,MySQL中常用的約束條件有以下六種。

1.主鍵約束

主鍵是表中非空不重復的字段,它可以唯一的標識表中的一條記錄。

作為主鍵的字段取值不能為空,也不可以重復,并且一張表中只能有一個主鍵,

但是構成主鍵的字段可以是一個也可以有多個。

也就是說主鍵只能有一個,但是一個主鍵可以由多個字段構成,

當多個字段的取值完全一樣的情況下才會違反主鍵約束。

①添加主鍵約束的方法1:

creat table (

primary key,

……

);

示例:

create table employee(

e_id int primary key,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int

);

②添加主鍵約束的方法2:

create table (

,

,

......

,

[constraint 主鍵約束名] primary key(字段名1[,字段名2,...字段名n])

);

示例:

create table employee(

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int,

primary key(e_name,e_sex)

);

③刪除主鍵約束的方法:

alter table drop primary key;

示例:

alter table employee drop primary key;

2.唯一約束

唯一約束要求指定字段的數據取值不能重復,可以是空值,但是空值也只能出現一次。

①添加唯一約束的方法1:

creat table (

unique,

,

……

);

示例:

create table employee(

e_id int,

e_name varchar(5) unique,

e_sex varchar(5),

e_age int,

d_id int

);

②添加唯一約束的方法2:

creat table (

,

,

……

,

[constraint 唯一約束名] unique (字段名1[,字段名2...字段名n])

);

示例:

create table employee(

e_id int,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int,

unique (e_name,e_sex)

);

③刪除唯一約束的方法:

alter table drop index ;

如果單個字段沒有指定唯一約束名,則默認的唯一約束名為字段名。

如果是多個字段組合為唯一約束時候,默認的唯一約束名為第一個字段的名稱。

如果指定了約束名,則刪除的時候寫約束名。

示例:

alter table employee drop index e_name;

3.自動增長約束

自動增長約束是要求指定字段的數據取值自動增長,默認是從1開始,

每增加一條記錄,這個字段的取值就會加1,

所以它只適用數值型和日期時間型字段,并且要配合主鍵一起使用。

①添加字段增長約束的方法:

creat table (

primary key auto_increment,

,

……

);

示例:

create table employee(

e_id int primary key auto_increment,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int

);

②刪除自動增長約束的方法:

alter table modify ;

示例:

alter table employee modify e_id int;

4.非空約束

非空約束是要求指定字段的取值不能為空值。

①非空約束的方法:

creat table (

not null,

,

……

);

示例:

create table employee(

e_id int,

e_name varchar(5) not null,

e_sex varchar(5),

e_age int,

d_id int

);

②刪除非空約束的方法:

alter table modify [null];

示例:

alter table employee modify e_name int;

5.默認約束

默認約束是指在插入新記錄的時候,如果沒有為指定字段賦值,

數據庫管理系統會自動為這個字段賦值為默認約束設定的值。

①添加默認約束的方法:

creat table (

default value,

,

……

);

示例:

create table employee(

e_id int,

e_name varchar(5),

e_sex varchar(5),

e_age int default 0,

d_id int

);

②刪除默認約束的方法:

alter table modify ;

示例:

alter table employee modify e_age int;

6.外鍵約束

外鍵約束是指一個表中的字段取值依賴于另一個表中字段的值。

主鍵所在的表叫主表,外鍵所在的表叫從表。

每一個外鍵值必須與主表中的主鍵值相對應。

①添加外鍵約束的方法:

creat table (

,

,

……

,

[constraint 外鍵約束名] foreign key(字段名) references (主鍵字段)

);

示例:

-- 創建一個主表

create table department(

d_id int primary key,

d_name varchar(5),

d_num int);

-- 創建從表的同時添加外鍵

create table employee(

e_id int primary key,

e_name varchar(5),

e_sex varchar(5),

e_age int,

d_id int,

foreign key(d_id) references department(d_id)

);

②刪除外鍵約束的方法:

alter table drop foreign key ;

先刪除從表再刪除主表。

先刪除外鍵約束,再刪除表。

示例:

alter table employee drop foreign key fk_d_id;

7.小結

約束條件 特點

主鍵約束(PRIMARY KEY) 非空不重復

非空約束(NOT NULL) 不能為空

唯一約束(UNIQUE) 不能重復

自增字段(AUTO_INCREMENT) 自動增長

默認約束(DEFAULT) 默認值

外鍵約束(FOREIGN KEY) 與主鍵相對應

總結

以上是生活随笔為你收集整理的mysql常用的约束_MySQL常用的约束条件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。