SQL语言

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1hg411V7Bm/?p=94

1)创建表

CREATE TABLE <表名1> (

<列名><数据类型>[列级完整性约束条件]

[,<列名><数据类型>[列级完整性约束条件]]……

[,<表级完整性约束条件>]);

数据类型:

  • 字符型:char(N)
  • 整型:int
  • 浮点型:float
  • 日期型:date YYYY-MM-DD


列级完整性约束:

  • NULL(可以取空值)、NOT NULL(不能取空值)
  • UNIQUE(取值唯一)
  • PRIMARY KEY(列名)主键
  • FOREIGN KEY(列名1) REFERENCES 表名2(列名2)外键


例题1:设有学生、课程和学生选课关系模式分别用基本表S、C和SC表示,

其中:S(Sno,Sname,SD,Sage,Sex),属性表示学号、姓名、系、年龄和性别;

C(Cno,Cname,teacher),属性表示课程号、课程名和授课教师;

SC(Sno,Cno,Grade),属性表示学号、课程号和成绩。

除年龄与成绩的数据类型为整型int外,其余属性均为字符型char。

CREATE TABLE S (
      Sno char(5) PRIMARY KEY,
      Sname char(16) NOT NULL,
      SD char(10),
      Sage int,
      Sex char(2)
);


CREATE TABLE C(
     Cno char(2) PRIMARY KEY,
     Cname char(16) UNIQUE,
     teacher char(8)
);


CREATE TABLE SC (
    Sno char(5),
    Grade int,
    PRIMARY KEY(Sno, Cno),
    FOREIGN KEY(Sno) REFERENCES S(Sno),
    FOREIGN KEY(Cno) REFERENCES C(Cno)
);



考点1:创建表

某高校教学管理系统中的院系关系 Department 和学生关系 Students 的模式分别为:

Department(院系号,院系名,负责人,办公电话),学生关系 Students(学号,姓名,身份证号,院系号,联系电话,家庭住址)。

Department 中的“院系号”唯一标识一个院系,Students 中的“学号”能唯一标识一名学生,“家庭住址”可进一步分为邮编、省、市、街道。

根据以上描述可知,关系 Students 的候选键为(),

A、学号

B、身份证号和院系号

C、学号和身份证号 √

D、学号和院系号

“家庭住址”为()。

A、简单属性

B、复合属性 √

C、多值属性

D、派生属性


某高校教学管理系统中的院系关系 Department 和 学生关系 Students。

Department 中的“院系号”唯一标识一个院系,Students 中的“学号”能唯一标识一名学生。

创建 Students 的SQL语句如下,请填补其中的空缺。

CREATE TABLE Students (

学号 CHAR(8) PRIMARY KEY,

姓名 CHAR(16),

身份证号 CHAR(18),

院系号 CHAR(4),

联系电话 CHAR(13),

家庭住址 CHAR(30),

FOREIGN KEY();

A、(联系电话) REFERENCES Department(办公电话)

B、(院系号) REFERENCES Department(院系号) √

C、(院系号) REFERENCES Students(学号)

D、(负责人号) REFERENCES Students(学号)