MySQL之資料庫約束

2021-10-25 18:04:39 字數 2335 閱讀 8542

約束是一種限制,用來限制資料庫表中的資料,來保證資料庫表中資料的準確性和完整性。

建立表時,可以指定某列不為空。

-- 建立學生表,學生id不能為空

mysql>

create

table student(

-> id int

notnull,-

> sn int,-

> name varchar(20

),-> mail varchar(20

)->

);

建立表時,指定某列的值唯一,不重複

-- 建立學生表,學生學號sn唯一;

mysql>

create

table student(

-> id int

notnull,-

> sn int

unique,-

> name varchar(20

),-> mail varchar(20

)->

);

在插入資料時,name列為空時,預設值為unknown;

-- 建立學生表,學生姓名name列為空時,預設值為unknown;

mysql>

create

table student(

-> id int

notnull,-

> sn int

unique,-

> name varchar(20

)default 『unknown』,

-> mail varchar(20

)->

);

指定id列為主鍵:

--指定id列為主鍵

mysql>

create

table student (

-> id int

notnull

primary

key,

-> sn int

unique,-

> name varchar(20

)default

'unkown',-

> qq_mail varchar(20

)->

);

對於整數型別的主鍵,常配搭自增長auto_increment來使用。插入資料對應欄位不給值時,使用最大值+1。

--主鍵是 not null 和 unique 的結合,可以不用 not null

id int

primary

keyauto_increment

,

外來鍵用於關聯其他表的主鍵或唯一鍵,語法為:

foreign

key(欄位名)

references 主表(列)

建立班級表classes,id為主鍵

-- 建立班級表,有使用mysql關鍵字作為欄位時,需要使用``來標識

create

table classes (

id int

primary

keyauto_increment

, name varchar(20

),desc

varchar

(100))

;

建立學生表student,乙個學生對應乙個班級,乙個班級對應多個學生。使用id為主鍵,

classes_id為外來鍵,關聯班級表id

create

table student (

id int

primary

keyauto_increment

, sn int

unique

, name varchar(20

)default

'unkown'

, qq_mail varchar(20

),classes_id int

,foreign

key(classes_id)

references classes(id)

);

mysql使用時不會報錯,但會忽略該約束:

create

table test_user (

id int

, name varchar(20

),*** varchar(1

),check

(*** =

'男'or ***=

'女')

);

MySQL資料庫 資料約束

對使用者操作表的資料進行約束 作用 當使用者對使用預設值的字段不插入值的時候,就使用預設值。注意 1 對預設值字段插入 null 是可以的 2 對預設值字段可以插入非 null create table student id int,name varchar 20 address varchar 2...

Mysql資料庫 約束型別

mysql資料庫的約束型別有 主鍵約束 primary key 外來鍵約束 foreign key 非空約束 not null 唯一性約束 unique 預設約束 default 一.主鍵約束 primary key 主鍵約束要求主鍵列的資料唯一,並且不能為空。主鍵分為兩種型別 單字段主鍵和多字段聯...

mysql資料庫之約束

約束是一種限制,它通過對錶的行或列的資料做出限制,來確保標的資料完整性 唯一性。1 非空約束 not null 欄位的值不能為空 1.1 建立表時新增非空約束 1.2 修改表時新增非空約束 1.3 刪除非空約束 2 唯一約束 unique 要求該列唯一,允許為空,唯一約束可以確保一列或者幾列不出現重...