**:
create
table student --
建**式
:create table
自定義的表名 (
--欄位名一般為有一定意義的英文
studentname nvarchar
(15),
-- 格式:欄位名型別
()括號裡面的是允許輸入的長度
studentage int
,--int
型的後面不需要接長度
student*** nvarchar
(2)--
最後乙個字段後面不要逗號 )
--在建立表時就可以對欄位加上約束:
create
table student (
studentno int
primary
keyidentity
(1,1),
--加主鍵約束
,還有標識列屬性(兩者構成實體完整性)
studentname nvarchar
(15)
notnull,
--加非空約束,不加
"not null"
預設為:可以為空
studentschool text
(20)
foreign
keyreferences schooltable(schoolname),
--加外來鍵約束,格式
:foreign key references
關聯的表名
(欄位名)
studentage int
default
((0)),
--加預設值約束
student*** nvarchar
(2)check
(student***=n'男'
or student***=n'女'
)--加檢查約束,格式
:check (
條件表示式)
) --如果在表建立好了以後再加約束,則格式分別為:
-- 主鍵:
alter
table表名
addconstraint pk_
欄位名--"pk"
為主鍵的縮寫,欄位名為要在其上建立主鍵的欄位名
,'pk_
欄位名'
就為約束名
primary
key(
欄位名)
--欄位名同上 --
唯一約束:
alter
table表名
addconstraint uq_
欄位名
unique
(欄位名)
--外來鍵約束:
alter
table表名
addconstraint fk_
欄位名--"fk"
為外來鍵的縮寫
foreign
key(
欄位名)
references
關聯的表名
(關聯的欄位名)--
注意'關聯的表名'和
'關聯的欄位名'
alter
table
表a add
constraint fk_b foreign
key(ticket_no)
references
表b(ticket_no)
alter
table
表a add
constraint fk_c foreign
key(person_no)
references
表c(person_no)
alter
table
成績表add
constraint fk_studentno foreign
key(studentno)
references student (studentno) on
update
cascade
ondelete
cascade
級聯更新,級聯刪除,這樣在刪除主表
student
時,成績表中該學生的所有成績都會刪除。 --
檢查約束:
alter
table表名
addconstraint ck_
欄位名
check
(條件表示式)--
條件表示式中的條件用關係運算子連線 --
預設值約束:
alter
table表名
addconstraint df_
欄位名
default
'預設值
'for
欄位名--
其中的'
預設值'
為你想要預設的值,注意
'for' --
刪除建立的約束:
alter
table表名
drop
constraint
約束名--
約束名為你前面建立的如:
pk_欄位這樣的約束名 --
注意:如果約束是在建立表的時候建立的,則不能用命令刪除 --
只能在'
企業管理器
'裡面刪除
-- 獲取sqlserver
中表結構
select
syscolumns.
name
,systypes.
name
,syscolumns.isnullable,
syscolumns.length
from
syscolumns,systypes
where
syscolumns.xusertype = systypes.xusertype
andsyscolumns.id =
object_id
('student'
)--
單獨查詢表遞增字段
select
[name] from syscolumns where
id =
object_id
(n'student'
)and
columnproperty
(id,
name
,'isidentity'
)=1
-- 獲取錶主外來鍵約束
exec
sp_helpconstraint
'sturesults'
-- 查詢表主鍵外來鍵資訊
select
sysobjects.id objectid,
object_name
(sysobjects.parent_obj) tablename,
sysobjects.
name constraintname, sysobjects.xtype as constrainttype,
syscolumns.
name
as columnname
from
sysobjects inner
join sysconstraints on
sysobjects.xtype in(
'c',
'f',
'pk'
,'uq'
,'d'
)and
sysobjects.id = sysconstraints.constid
left
outer
join syscolumns on sysconstraints.id = syscolumns.id
where
object_name
(sysobjects.parent_obj)=
'sturesults'
刪除SQL約束的方法
在sql資料庫中,如果需要刪除表約束,應該如何操作呢?下面就將為您介紹刪除sql表約束的方法,供您參考,希望對您有所幫助。1 禁止所有表約束的sql select alter table name nocheck constraint all from sysobjects where type u...
建立與刪除SQL約束或字段約束
建立與刪除sql約束或字段約束 sql約束控制 1 禁止所有表約束的sql select alter table name nocheck constraint all fromwhere type u 2 刪除所有表資料的sql select truncate table name from sy...
使用SQL建立庫 表 約束
create database studb onprimary 預設就屬於primary檔案組,可省略 資料檔案的具體描述 name studb data 主資料檔案的邏輯名稱 filename d studb data.mdf 主資料檔案的物理名稱 size 5mb,主資料檔案的初始大小 maxs...