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

/*++++++++++++++++|创建表格、各种约束条件|++++++++++++++++++++*/
/*
创建表格P145
CREATE TABLE <
表名
>
(
         <
列名><列类型><列说明
>…,
         [CONSTRAINT <
约束名称><约束条件
>]
)
<
列类型>
是列的数据类型。
<列说明>说明列的长度、列的默认值、主键等有关该列的约束条件。

创建主键约束 P125
        
语法:
constraint 主键约束名 primary key(被定义为主键的列名)
创建外键约束
P126
        
语法:
constratint 外键约束名 foreign key(本表中作为外键的列名) references 参照表(参照列)

主键和外键约束,其实就是创建关系

详细的内容看下面的创建表格的部分说明
                                                  
刘峰 编写 QQ:121497974
*/
--=======================================================
--=
下面是分别创建 学新基本信息表、课程表、职工表、成绩表
=
--=======================================================

use
学生信息数据库  --指定使用的数据库,这一步以后不再说明

go
create table
学生基本信息表
(
        
学号 char(4) not null constraint PK_学号 primary key,  
--
学号就是列名,char(4)是列定义的数据类型,定义该列的同时可以进行
         性别 char(8) not null default('') constraint CK_性别 check (性别=''or 性别=''), 
--
约束定义 constraint 约束名称 约束内容

         出生日期 datetime not null,
        
籍贯
char(10),
        
院系名称
char(20),
        
专业
char(20),
        
入学日期
datetime not null,
        
奖学金 money default(0) constraint CK_奖学金 check (奖学金>=0 and 奖学金
<=5000),
        
备注
text,
         constraint CK_
日期 check (出生日期<入学日期
)
)
go
create table
课程表

(
        
课程号 char(4) not null constraint PK_课程号 primary key ,
--
在之后可以单独定义主键就是 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

/*
 --==
创建用户自定义数据类型==--
exec sp_addtype type,system_data_type,'null_type'
exec 执行存储过程
sp_addtype
创建用户定义数据的语句,详细使用,可以参见SQL联机帮助文档
type
用户定义的数据类型名
system_data_type
系统的数据类型(除了int text datetime real类型外,其余类型如numeric float char varchar必须加上单引号,就如上面的例子一样,否则会出现错误)
null_type
是否允许为空
*/
exec sp_addtype 学生成绩,'numeric(5,2)','null' 
--
需要使用用户自定义数据类型-学生成绩,故在这里定义一个
create table 成绩表
(
        
学号 char(4) not null,
        
课程号
char(4) not null,
        
平时成绩 学生成绩
,
        
考试成绩 学生成绩
,
        
总成绩 学生成绩
,
        
开学日期
datetime,
        
结束日期
datetime,
         constraint PK_
成绩表 primary key(学号,课程号
),
         constraint FK_
学号 foreign key(学号) references 学生基本信息表(学号
),
         constraint FK_
课程号 foreign key(课程号) references 课程表(课程号
)
--
创建外键约束语法:constratint 外键约束名 foreign key(本表中作为外键的列名) references 参照表(参照列)

)

转载于:https://www.cnblogs.com/zhanghua518/archive/2008/12/04/1347431.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值