MySQL基本語句總結之約束

2021-10-04 13:36:09 字數 2804 閱讀 8622

not null:限制列取值非空。

default:給定列的預設值。

unique:限制列取值不重。

check:限制列的取值範圍。

primary key:指定本列為主碼。

foreign key:定義本列為引用其他表的外碼。使用形式為:

[foreign key(《外碼列名》)]

references 《外表名》(《外表列名》)

《列名》 《型別》 not null

例:sname char(10) not null

例子:select *from stu where english is null;

例子:select *from information where english is not null;

在建立表時新增非空約束

例子:create table stu(id int,name varchar(20) not null);

建立表後新增非空約束

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

刪除xx的非空約束

alter table stu modify name varchar(20);

在定義列時定義主碼(僅用於單列主碼)

列定義 primary key

例: sno char(7) primary key

在定義完列時定義主碼(用於單列或多列主碼)

primary key (《列名序列》)

例: primary key(sno)

primary key(sno,cno)

在建立表時新增主鍵約束

例子:create table stu(id int primary key,name varchar(20) not null);

在建立表後新增主鍵約束

alter table stu modify id int primary key;

刪除主鍵約束

alter table stu drop primary key;

指明本表外碼列引用的表及表中的主碼列

[ foreign key (《本表列名》)]

references 《外表名》(《外表主碼列名》)

例:foreign key (sno)

references 學生表(sno)

在建立表時添唯一約束

例子:create table stu(id int,name varchar(20) unique);

建立表後新增唯一約束

alter table stu modify name varchar(20) unique;

刪除xx的唯一約束

alter table stu drop index name;

在建立表時新增外來鍵約束

語法:create table 表名(…外來鍵列 constraint 外來鍵名稱 foreign key (外來鍵列名稱) references 主表 名稱(主表列名稱));

建立後新增外來鍵約束

alter table 表名 add constraint 外來鍵名稱 foreign key (外來鍵欄位名稱)

刪除外來鍵約束

alter table 表名 drop foreign key 外來鍵名稱;

建立學生表

create table student (

sno char ( 7 ) primary key,

sname char ( 10 ) not null,

s*** char (2),

sage tinyint ,

sdept char (20)

)建立課程表

create table course (

cno char(10) not null,

cname char(20) not null,

ccredit tinyint ,

semester tinyint,

primary key(cno)

)建立sc表

create table sc (

sno char(7) not null,

cno char(10) not null,

grade tinyint,

xklb char(4) ,

primary key ( sno, cno ),

foreign key ( sno )

references student ( sno ),

foreign key ( cno )

references course ( cno ) )

not null和default只能是列級完整性約束;

其他約束均可在表級完整性約束處定義。

注意以下幾點:

第一,如果check約束是定義多列之間的取值約束,則只能在表級完整性約束處定義;

第二,如果表的主碼由多個列組成,則也只能在表級完整性約束處定義,並將主碼列用括號括起來,即:primary key(列1{[,列2 ] …});

第三,如果在表級完整性約束處定義外碼,則「foreign key (《外碼列名》)」部分不能省。

mysql語句之約束語句

約束語句 not null 非空 default 預設約束語句 unique 唯一約束語句 primary 主鍵 唯一 非空 auto increment 自動增長 foreign key 從表id reference 主表名 id 表與表之間建立聯絡 primary key 主鍵 特點 1 不能重...

總結之約束

1 primary key 主鍵可以保證每行記錄唯一性,還可以使用主鍵連線其它表,這樣這兩張表會形成一種關係。所謂的 關係 型資料管理系統的關係就是由此來的。下面建立 乙個pkablumablumid 主鍵。alter table album add constraint pkalbumalbumi...

mySQL之約束條件

primary key pk 標識該字段為該錶的主鍵,可以唯一的標識記錄 foreign key fk 標識該字段為該錶的外來鍵 not null 標識該欄位不能為空 unique key uk 標識該字段的值是唯一的 auto increment 標識該字段的值自動增長 整數型別,而且為主鍵 de...