--sql check約束
--check約束屬性列內容的取值範圍。如果對單列進行check約束則只會對單列的取值有效。
--如果對錶進行check約束則對整張表的所有欄位都進行限制。
--eg: 在建立persons表示為id_p列建立check約束。此約束的約束範圍為:id_p列的取值範圍不得小於0,要是大於0的整數。
--mysql建立語法:
create
table
persons(
id_p
intnot
null
, firstname
varchar(100
), lastname
varchar(200
), address
varchar(200
), city carchar(2oo),
check (id_p>0)
);--
sql server / oracle / ms access 語法:
create
table
persons(
id_p
intnot
null
check (id_p>
0),
firstname
varchar(100
), lastname
varchar(200
), address
varchar(200
), city carchar(2oo)
);
--sql not null非空約束
--not null約束會強制列不接受有null值存在。也就是說如果不向字段中新增值,就無法新增記錄或修改記錄。
--eg:
create
table
[table_name](
[column_name
]varchar(100) not
null
)
--sql unique約束
--unique約束限制了資料表中的資料的唯一性,也就是說只能出現一次。
--unique約束 和 primary key約束都有限制表資料唯一性的能力,但是primary key每張表中只能有乙個,而unique約束可以出現多次。
--mysql建立語法:
create
table
[table_name](
[column_name]is
notnull
,
[column_name
]not
null
,
unique([
column_name
]) --
對指定的[column_name]列進行unique約束。
);--
sql server / oracle / ms access 建立語法:
create
table
[table_name](
[column_name]is
notnull
unique
--對指定的[column_name]列進行unique約束。
);--
如果同時需要對多列進行unique約束,mysql/sql server/oracle/ms access語法基本相同:
create
table
[table_name](
constraint uc_personid unique ([
column_namea
],[column_nameb
],.....) --
對指定的[column_name]列進行unique約束。
);--
如果資料表已經建立:
alter
table
[table_name
]add
unique ([
column_name]);
--當然也有多列建立的語法:
alter
table
[table_name
]add
constraint uc_personid unique ([
column_namea
],[column_nameb
],....);
--撤銷unique約束之mysql語法:
alter
table
[table_name
]drop
index
uc_personid;
--sql server/oracle/ms access語法:
alter
table
[table_name
]drop
constraint uc_personid;
--sql primary key約束
--sql primary key約束了每條資料在資料表中的唯一性(主鍵值必須唯一,主鍵列不能有null值,每張表有且只能有乙個primary key)
--建立語法之mysql:
create
table
[table_name](
[column_name
]not
null
,
[column_name]is
notnull
, ......
primary
key([
column_name])
);--
建立語法之sql server/oracle/ms access:
create
table
[table_name](
[column_name
]not
null
primary
key,
[column_name]is
notnull
, ......)--
如果需要進行多列的primary key約束基本上sql都通過用(mysql/sql server/oracle/ms access):
create
table
[table_name](
constraint pk_personid primary
key ([
column_namea
],[column_nameb
],.....) --
對指定的[column_name]列進行primary key約束。
);--
如果資料表已經建立:
alter
table
[table_name
]add
primary
key ([
column_name]);
--當然也有多列建立的語法:
alter
table
[table_name
]add
constraint pk_personid primary
key ([
column_namea
],[column_nameb
],....);
--撤銷unique約束之mysql語法:
alter
table
[table_name
]drop
primary
key;
--sql server/oracle/ms access語法:
alter
table
[table_name
]drop
constraint pk_personid;
資料庫 表約束
非空且唯一 方式一 create table userid number,constraint pk user primary key userid username varchar2 10 方式二 create table userid number primary key,username va...
資料庫表的約束
在設計資料庫時。為了確保資料庫表中資料的質量。須要考慮資料的完整性 資料的完整性是指資料的正確性和一致性 舉個樣例 當你要為學生建立乙個基本資訊表studentinfo時,這個表中學生的名字能夠同樣可是學號必須不一樣,而他的年齡也得限制在一定範圍內,像這樣類似的 限制 有非常多,假設違反了這些限制就...
資料庫 單錶約束
約束 對錶中的資料可以進行進一步的限制,來保證資料的唯一性,正確性和完整性。約束種類 primary key 主鍵約束 代表該字段的資料不能為空且不可重複 not null 非空 代表該字段的資料不能為空 unique 唯一 代表該字段的資料不能重複 乙個表中都得需要主鍵約束,用來標註一條記錄的唯一...