日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

SQL Server-创建表格、各种约束条件

發(fā)布時(shí)間:2025/4/16 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server-创建表格、各种约束条件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

/*++++++++++++++++|創(chuàng)建表格、各種約束條件|++++++++++++++++++++*/
/*
創(chuàng)建表格P145
CREATE TABLE <
表名
>
(
???????? <
列名><列類型><列說(shuō)明
>…,
???????? [CONSTRAINT <
約束名稱><約束條件
>]
)
<
列類型>
是列的數(shù)據(jù)類型。
<列說(shuō)明>說(shuō)明列的長(zhǎng)度、列的默認(rèn)值、主鍵等有關(guān)該列的約束條件。

創(chuàng)建主鍵約束 P125
????????
語(yǔ)法:
constraint 主鍵約束名 primary key(被定義為主鍵的列名)
創(chuàng)建外鍵約束
P126
????????
語(yǔ)法:constratint 外鍵約束名 foreign key(本表中作為外鍵的列名) references 參照表(參照列)

主鍵和外鍵約束,其實(shí)就是創(chuàng)建關(guān)系

詳細(xì)的內(nèi)容看下面的創(chuàng)建表格的部分說(shuō)明
??????????????????????????????????????????????????
劉峰 編寫(xiě) QQ:121497974
*/
--=======================================================
--=
下面是分別創(chuàng)建 學(xué)新基本信息表、課程表、職工表、成績(jī)表
=
--=======================================================

use
學(xué)生信息數(shù)據(jù)庫(kù)? --指定使用的數(shù)據(jù)庫(kù),這一步以后不再說(shuō)明

go
create table
學(xué)生基本信息表
(
????????
學(xué)號(hào) char(4) not null constraint PK_學(xué)號(hào) primary key, ?
--
學(xué)號(hào)就是列名,char(4)是列定義的數(shù)據(jù)類型,定義該列的同時(shí)可以進(jìn)行
???????? 性別 char(8) not null default('') constraint CK_性別 check (性別=''or 性別=''),?
--
約束定義 constraint 約束名稱 約束內(nèi)容

???????? 出生日期 datetime not null,
????????
籍貫
char(10),
????????
院系名稱
char(20),
????????
專業(yè)
char(20),
????????
入學(xué)日期
datetime not null,
????????
獎(jiǎng)學(xué)金 money default(0) constraint CK_獎(jiǎng)學(xué)金 check (獎(jiǎng)學(xué)金>=0 and 獎(jiǎng)學(xué)金
<=5000),
????????
備注
text,
???????? constraint CK_
日期 check (出生日期<入學(xué)日期
)
)
go
create table
課程表

(
????????
課程號(hào) char(4) not null constraint PK_課程號(hào) primary key ,
--
在之后可以單獨(dú)定義主鍵就是 constraint 主鍵約束名 primary key(被定義為主鍵的列名)

???????? 課程名稱 char(20) not null,
????????
上課教師
char(8)
)
go
create table
職工表

(
???????? bmh char(2) not null constraint PK_bmh primary key,
???????? bmmc char(10) not null,
???????? bmszd char(6) not null default'
北京'
)
go

/*
?--==
創(chuàng)建用戶自定義數(shù)據(jù)類型==--
exec sp_addtype type,system_data_type,'null_type'
exec 執(zhí)行存儲(chǔ)過(guò)程
sp_addtype
創(chuàng)建用戶定義數(shù)據(jù)的語(yǔ)句,詳細(xì)使用,可以參見(jiàn)SQL聯(lián)機(jī)幫助文檔
type
用戶定義的數(shù)據(jù)類型名
system_data_type
系統(tǒng)的數(shù)據(jù)類型(除了int text datetime real類型外,其余類型如numeric float char varchar必須加上單引號(hào),就如上面的例子一樣,否則會(huì)出現(xiàn)錯(cuò)誤)
null_type
是否允許為空
*/
exec sp_addtype 學(xué)生成績(jī),'numeric(5,2)','null'?
--
需要使用用戶自定義數(shù)據(jù)類型-學(xué)生成績(jī),故在這里定義一個(gè)
create table 成績(jī)表
(
????????
學(xué)號(hào) char(4) not null,
????????
課程號(hào)
char(4) not null,
????????
平時(shí)成績(jī) 學(xué)生成績(jī)
,
????????
考試成績(jī) 學(xué)生成績(jī)
,
????????
總成績(jī) 學(xué)生成績(jī)
,
????????
開(kāi)學(xué)日期
datetime,
????????
結(jié)束日期
datetime,
???????? constraint PK_
成績(jī)表 primary key(學(xué)號(hào),課程號(hào)
),
???????? constraint FK_
學(xué)號(hào) foreign key(學(xué)號(hào)) references 學(xué)生基本信息表(學(xué)號(hào)
),
???????? constraint FK_
課程號(hào) foreign key(課程號(hào)) references 課程表(課程號(hào)
)
--
創(chuàng)建外鍵約束語(yǔ)法:constratint 外鍵約束名 foreign key(本表中作為外鍵的列名) references 參照表(參照列)

)

轉(zhuǎn)載于:https://www.cnblogs.com/zhanghua518/archive/2008/12/04/1347431.html

總結(jié)

以上是生活随笔為你收集整理的SQL Server-创建表格、各种约束条件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。