首页 > 代码库 > (二)创建带主键和约束的数据表
(二)创建带主键和约束的数据表
创建带主键和约束的表
创建带组合主键和外键的表
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 CourseVALUES(‘ENP09001‘, ‘理论力学‘, 56, 3, ‘研究物体机械运动的基本规律‘)SELECT * FROM Course
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 StudyVALUES(‘10001‘, ‘ENP09001‘, 90) --- snumb和cnumb必须要在Student和Course存在才可以SELECT * FROM StudentSELECT * FROM CourseSELECT * FROM Study
3.总结:
(二)创建带主键和约束的数据表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。