首页 > 其他 > 详细

(二)创建带主键和约束的数据表

时间:2017-02-18 18:09:50      阅读:217      评论:0      收藏:0      [点我收藏+]

内容摘要

创建带主键和约束的表

创建带组合主键和外键的表

1. 创建带主键和约束的表

  • Student (学生表) 

  • CREATE TABLE Student
    (
    sclass varchar(10) NOT NULL,      ---  限制非空
    snumb varchar(10) PRIMARY KEY,    ---  设置为主键
    sname varchar(40) NOT NULL,       ---  (下)设置默认值男,约束选项为男女
    sgender varchar(4) DEFAULT   CONSTRAINT consgender CHECK (sgender IN(, )),
    sbirthday date,
    sage int CONSTRAINT consage CHECK (sage >= 0 and sage <= 150)
    )
    CONSTRAINT 约束名 CHECK (条件)
  • SELECT INTO Student VALUES(电气51, 10002, 王涛, , 1993-2-1, 18)
    INSERT INTO Student(sclass, snumb, sname)
    VALUES(电气51, 10004, 王涛)          --->   产生默认性别男
    SELECT * FROM Student
    INSERT INTO Student(sclass, snumb)
    VALUES(电气51, 10005)          ----  出现错误: 不能将值 NULL 插入列 ‘sname‘

    以上为,加了约束之后的效果

  • Course (课程)

技术分享

CREATE TABLE Course
(
cnumb varchar(10) PRIMARY KEY,              ---  设为主键
cname varchar(40) NOT NULL,                 ---  非空
chours int CONSTRAINT conshour CHECK(chours >= 0 and chours <= 300),
credit decimal(5,2) CONSTRAINT conscredit CHECK(credit >= 0 and credit < 20),
intro text                                  --- text字段存放一段文字
)
INSERT INTO Course
VALUES(ENP09001, 理论力学, 56, 3, 研究物体机械运动的基本规律)

SELECT * FROM Course

2. 创建带组合约束和外键的表

  • study (选课表)

 技术分享

CREATE TABLE Study
(
snumb varchar(10),
cnumb varchar(10),
score decimal(5,2),
PRIMARY KEY (snumb, cnumb),                      ----   设为组合主键
FOREIGN KEY (snumb) REFERENCES Student(snumb),   ----   声明是什么表中的外键(即:插入数据时,必须要在Student和Course存在才可以)
FOREIGN KEY (cnumb) REFERENCES Course (cnumb)
)
INSERT INTO Study
VALUES(10001, ENP09001, 90)         --- snumb和cnumb必须要在Student和Course存在才可以

SELECT * FROM Student
SELECT * FROM Course
SELECT * FROM Study

3.总结:

技术分享

 

(二)创建带主键和约束的数据表

原文:http://www.cnblogs.com/douzujun/p/6413535.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!