SQL server 定義基本表

2021-10-10 04:12:37 字數 3199 閱讀 8959

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...