MySql的初學習 第五章 了解約束

2021-10-16 22:40:41 字數 3133 閱讀 1239

非空約束

唯一約束

外來鍵約束

預設值部落格說明

約束的作用:

對錶中的資料進行進一步的限制,從而保證資料的正確性、有效性、完整性. 違反約束的不正確資料,將無法插入到表中

常見的約束

約束名約束關鍵字

主鍵約束

primary key

唯一約束

unique

非空約束

not null

外來鍵約束

foreign key

特點:不可重複、唯

一、不可為空

作用:用來表示資料庫中的每一條資料(類似人的身份證,因此可以通過主鍵來找到相應的資料)

-- 方法一:建立表時新增主鍵

-- 格式:欄位名稱 字段型別 primary key;

create

table test1(

id int

primary

key,

name varchar(20

));-- 方法二:建立表時新增主鍵

-- 格式:primary key(欄位名稱);

create

table test2(

id int

, name varchar(20

),primary

key(id));

-- 方法三:建立表之後,再新增主鍵 -- 通過ddl語句新增主鍵約束

#第一步,建立乙個沒有主鍵的表

create

table test3(

id int

, name varchar(20

),);

#第二步,使用ddl語句新增主鍵約束

alter

table test3 add

primary

key(id)

;-- 刪除主鍵約束 -- 通過ddl語句刪除主要約束

-- 格式:alter table 表名 drop primary key;

alter

table test3 drop

primary

key;

主鍵如果讓自己新增很有可能重複,通常希望在每次插入新記錄時,資料庫自動生成主鍵欄位的值.但主鍵的字段型別必須是整數型別

-- 建立表時新增主鍵自增

-- 格式:欄位名稱 字段型別 primary key auto_increment;

create

table test1(

id int

primary

keyauto_increment

, name varchar(20

));-- 修改自增的起始值(預設是1)

-- 重新建立自增主鍵的表,自定義自增的起始位置

-- 格式:在建表sql後加上auto_increment = 開始位置;

create

table test1(

id int

primary

keyauto_increment

, name varchar(20

))auto_increment

=100

;

方法

執行流程

delete

刪除表中資料,將表中的資料逐條刪除

truncate

將整個表刪除後,重新建立乙個結構相同的新錶

結論

方法結果

delete

對自增是沒有影響,刪除資料後自增不會恢復初始則會一直自增下去

truncate

對自增有影響,刪除資料後自增會恢復初始,從初始值開始自增

特點:不可為空

作用:用來約束資料不能為空

-- 建立表時新增非空約束

-- 格式:欄位名稱 字段型別 not null;

create

table test(

id int

notnull

, name varchar(20

));

特點:不可重複

補充:對null值不做唯一判斷

作用:用來約束資料不能重複

-- 建立表時新增唯一約束

-- 格式:欄位名稱 字段型別 unique;

create

table test(

id int

unique

, name varchar(20

));

約束

區別主鍵約束

唯一,且不能為空(null)

唯一約束

唯一,但可以為空(null)

補充乙個表中只能有乙個主鍵約束,但可以有多個唯一約束

mysql的初學習 – 第七章 – 多表、外來鍵、資料庫設計

作用:如果資料為null時,預設給予的值

-- 格式:欄位名 字段型別 default 預設值

create

table test(

id int

primary

key,

name varchar(20

),*** char(1

)default

'男')

;-- 使用預設值

insert

into test(id,name)

value(1

,"張三");

insert

into test(id,name)

value(2

,"李四");

-- 不使用預設值時,直接自定義值既可

insert

into test value(3

,"小紅"

,'女'

);

python第五章 Python學習(第五章)

記錄所有的名片字典 card list defshow menu 顯示資訊 print 50 print 歡迎使用 名片管理系統 v1.0 print print 1.新增名片 print 2.顯示全部 print 3.搜尋名片 print print 0.退出系統 print 50 defnew ...

python學習第五章

1.把某件事作為另一件事匯入 import somemodule或from somemodule import somefunction或者from somemodule import somefunction,anotherfunction,yetanotherfunction或者from som...

機器學習第五章

今天看了 機器學習 的第五章神經網路部分。本章主要講述的是 1.神經元是神經網路模型的最基本的單元 2.m p神經元模型包括輸入層 隱層和輸出層。2.1輸入訊號進行加權式的連線 2.2輸入層僅接受輸入,不進行函式處理,隱層和輸出層包含神經功能元 3.比較經典的神經網路的演算法是bp演算法 標準bp演...