use db
create table [所有者.]《表名》(
《列名》《資料型別》 [列完整性約束][
,《列名》《資料型別》 [列完整性約束]
...][ ,《表完整性約束》
])[on ]
create
table person
( id char(16
)not
null
primary
key,
/*新增主鍵*/
name char(5
)not
null
, *** nchar(1
)not
null
check
(*** in
('男'
,'女'))
/*nchar乙個字元佔兩個位元組*/
)/*在預設檔案組中(未指定預設檔案組則主檔案組即預設檔案組)*/
create
table personinf
( id char(16
)not
null
primary
key,
/*新增主鍵*/
perid char(18
),dateofbirth date
null
, wechat char(20
)null
, tel char(12
)not
null
unique
,/*唯一索引*/
email varchar(64
)null
, college nvarchar(20)
null
, com nvarchar(20)
null
, addr nvarchar(64)
null
, nation nchar(5
)null
, intro nchar
(300
)null
, atta char(64
)null
,foreign
key(id)
references person(id)
/*外來鍵*/
)on group1
create
table usergroup
( id bigint
identity(0
,1)not
null
primary
key,
/*自增從0開始遞增1*/
name char(20
)not
null
, annotation char
(1024
)null
)on group1
create
table per_group
( gid bigint
notnull
, pid char(16
)not
null
,primary
key(pid, gid)
,foreign
key(pid)
references person(id)
,foreign
key(gid)
references usergroup(id)
)on group1
create
table article
( id bigint
identity(0
,1)not
null
primary
key,
atype nchar(2
)not
null
, author char(16
)null
, title nchar
(100
)not
null
, createtime datetime
notnull
, modifytime datetime
notnull
, intro nchar
(256
)null
,foreign
key(id)
references article(id)
)on group1
create
table articleinf
( id bigint
notnull
primary
key,
val text
notnull
,foreign
key(id)
references article(id)
)
create
unique
index courseidunique on usergroup(name)
/*新增索引*/
drop
index usergroup.courseidunique/*移除索引*/
alter
table usergroup add intro text
null
, managerid char(16
)not
null
/*新增列*/
alter
table usergroup drop
column intro,managerid/*刪除列*/
alter
table usergroup alter
column name char(40
)/*修改列*/
create assertion 《名稱》create assertion max_usergroup_size/*但是似乎不能支援*/
check
300>=
all(
select
count(*
)from per_group group
by gid)
/*當gid與將要插入的值的gid相等的行達到300時,check子句返回false(即條件為真時check返回假),斷言生效使得資料無法再插入*/
/* ?sql server似乎不支援斷言,那該怎麼辦呢?點我 */ SQL SERVER臨時表定義
資料庫 sql server2008 情況 建立臨時表 方式1 用create方式,跟正常建立表一樣,表名用 開頭,建立完重新整理庫,不顯示 begin 建立臨時表 create table temp name varchar 20 id int 操作臨時表資料,看情況需要 select from ...
sqlserver 使用者定義表型別
有時需要將記憶體中的表與資料庫中的表比較,比如datatable中有100行資料,需要判斷在資料庫中是否存在,這個時候我們就可以使用sqlserver中的 使用者 定義表型別 這裡最最最重要的思路是把 使用者 定義表型別 當作一張虛擬的正常表去處理 需求 現在記憶體中有個datatable,資料庫中...
基本表的定義
create table 表名 列名 資料型別 列級完整性約束條件 列名 資料型別 列級完整性約束條件 表級完整性約束條件 sql中約束分為以下6種 主碼約束 primary key pk course 外碼約束 foreign key fk c 非空約束 not null n k 唯一約束 uni...