SQL语句模板及例题

仅作个人学习使用,资料来源B站

一、创建表

1. 模板

CREATE TABLE 表名(

        列名1 数据类型 列级完整性约束条件,

        列名2 数据类型 列级完整性约束条件,

        表级完整性约束条件1,

        表级完整性约束条件2

);

1.1 数据类型

CHAR(n) 长度为n的字符型

VERCHAR(n) 最大长度为n的变长字符串

NUMBER(n) 长度为n的数字型

INT 长整型(4B)

SMALLINT 短整型(2B)

BIGINT 大整型(8B)

FLOAT(n) 精度至少为n位数字的浮点数

DATE 日期,格式为:YYYY-MM-DD

TIME 时间,格式为:HH:MM:SS

1.2 列级完整性约束

主码:PRIMAY KEY

非空:NOT NULL

唯一:UNIQUE

条件:CHECK

1.3 表级完整性约束

多个主码:PRIMAY KEY(列名1,列名2)

参照完整性:POREIGN KEY(列名1) REFERENCE 被参照表(列名1)

2 例题

2.1 定义院系表

其中编号为主关键字,名称应该唯一、并且不允许为空值

编号
名称
负责人
办公地点
CREATE TABLE Department(
    编号 CAHR(8) PRIMARY KEY,
    名称 CHAR(40) UNIQUE NOT NULL,
    负责人 CHAR(20),
    办公地点 CHAR(20)
);

2.2 定义学生表

其中规定

  • 学号列是主关键字;
  • 院系列为计算列(取学号列的第3和第4个字符),并且院系值参照院系表的编号值(院系表是被参照表,主关键字是编号;参照表是学生表,外部关键字是院系),此约束说明一名学生一定属于某个院系; 
  • 姓名列不允许为空值; 
  • 性别必须取值 
  • 学生的学籍状态为正常、留级、休学或退学。 
    CREATE TABLE Student(
        学号 CHAR(10) PRIMARY KEY,
        院系 as convert(char(8),substring(学号,3,2))
            persisted not null
            FOREIGN KEY(院系) REFERENCES Department(编号),
        姓名 char(20) NOT NULL,
        性别 char(2) constrain c1 check (性别 in ('男','女')),
        状态 char(4) constrain c2 check (状态 in ('正常','留级','退学','休学'))
    );
        

    2.3 定义教师表

  • 其中规定:

  • 教师编号是主关键字; 
  • 院系列为计算列(取教师编号的第1和第2个字符),并且院系值参照院系表的编号值,此约束说明一名教师一定属于某个院系; 
  • 姓名列不允许为空值; 
  • 性别必须取值 
  • 职称的取值为教授、副教授、讲师或助教
     

    CREATE TABLE Teacher(
        教师编号 CHAR(10) PRIMARY KEY,
        院系 as convert(char(8),substring(教师编号,1,2))
            persisted not null
            FOREIGN KEY(院系) REFERENCES Department(编号),
        姓名 char(20) NOT NULL,
        性别 char(2) constrain c3 check (性别 in ('男','女')),
        状态 char(6) constrain c4 check (状态 in ('教授','副教授','讲师','助教'))
    );
        

    2.4 定义课程表

  • 其中规定:

  • 课程编号是主关键字; 
  • 课程名称不允许为空值; 
  • 责任教师参照教师表的教师编号值,此约束说明责任教师一定是已经在编的教师; 
  • 学时不允许为空值; 
  • 课程性质分为公共基础、专业基础、专业选修和任意选修。 
    CREATE TABLE Course(
        课程编号 CHAR(10) PRIMARY KEY,
        课程名称 CHAR(8) NOT NULL,
        责任教师 CHAR(10) constrain Duty_teacher foreign key(责任教师) references Teacher(教师编号),
        学时 SMALLINT NOT NULL,
        课程性质 constrain c5 check (课程性质 in ('公共基础','专业基础','专业选修','任意选修'))
        
    );

    2.5 定义选课表

  • 学号和课程编号两列构成主关键字(需要表级完整性约束); 
  • 学号参照学生表的学号(约束选课的学生必须存在); 
  • 课程编号参照课程表的课程编号(约束被选的课程必须存在); 
  • 考试成绩取值在0~100之间,并且默认为空值。 
    CREATE TABLE SC(
        学号 CAHR(10),
        课程编号 CAHR(10),
        考试成绩 INT constrain c6 check(考试成绩 between 0 and 100) default null,
        primary key(学号,课程编号),
        foreign key(学号) references Student(学号),
        foreign key(课程编号) references Course(课程编号)
    );

    二、修改表

1 模板

1.1 增加新的属性列

ALTER TABLE 表名 ADD 新列名 数据类型 完整性约束条件;

例1 向SC表中增加时间列,数据类型为日期型

ALTER TABLE SC ADD COLUMN Time DATE;

1.2 增加列级完整性约束条件

ALTER TABLE 表名 ADD 列级完整性约束条件;

例2 向SC表中增加Cname列必须取唯一值的约束条件

ALTER TABLE SC ADD UNIQUE(Cname);

1.3 增加表级完整性约束条件

ALTER TABLE 表名 ADD 表级完整性约束条件;

例3 向SC表中增加Cno为外码,参照表是Student表

ALTER TABLE SC ADD FOREIGN KEY(Cno) REFERENCES Student(Cno);

1.4 删除列

级联:引用了该列的其他对象(例如视图)一起删除

ALTER TABLE 表名 DROP 列名 CASCADE;

限制:若该列被其他对象引用,则拒绝删除

ALTER TABLE 表名 DROP 列名 RESTRICT;

1.5 删除指定的完整性约束条件

ALTER TABLE 表名 DROP CONSTRAINT 完整性约束名 CASCADE;

ALTER TABLE 表名 DROP CONSTRAINT 完整性约束名 RESTRICT;

1.6 修改列

ALTER TABLE 表名 ALTER COLUMN 列名 数据类型;

例4 将SC表中原有的Sage(假设是字符型)修改为整型

ALTER TABLE SC ALTER COLUMN Sage INT;

1.7 删除表

DROP TABLE 表名 CASCADE;

DROP TABLE 表名 RESTRICT;

2 例题

2.1 规定学生表的性别字段不允许为空值

ALTER TABLE Student ADD NOT NULL(性别);

2.2 删除课程表中的责任教师列

alter table Course drop constraint Duty_Teacher
alter table Course drop column 责任教师;

2.3 为课程表增加责任教师列,列描述如下:

  • 字符类型,长度为6
  • 允许空值;
    alter table Course add 责任教师 char(6) null
    constraint newdt foreign key references Teacher(教师编号);

三、INSERT/UPDATE/DELETE语句

1 插入数据

1.1 插入元组

INSERT

INTO 表名

VALUES(常量1,常量2);

1.2 插入子查询结果

INSERT

INTO 表名

子查询;

3.2 更新数据

3.3 删除数据

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
博客模块使用说明书 附加SQL Server 2000数据库 (1)将App_Data文件夹中的两个文件拷贝到SQL Server 2000安装路径下的Data文件夹中。 (2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框中单击“ ”按钮,选择所要附加数据库的.mdf文件,单击“确定”按钮,即可完成数据库的附加操作。 配置IIS (1)依次选择“开始”/“设置”/“控制面板”/“管理工具”/“Internet信息服务(IIS)管理器”选项,弹出“Internet信息服务(IIS)管理器”窗口,如图1.1所示。 图1.1 “Internet信息服务(IIS)管理器”窗口 (2)选中“默认网站”节点,单击右键,选择“属性”,如图1.2所示。 图1.2 选择“属性”菜单项 (3)弹出“默认网站 属性”对话框,如图1.3所示,单击“网站”选项卡,在“IP地址”下拉列表中选择本机IP地址。 图1.3 默认网站 属性 (4)单击“主目录”选项卡,如图1.4所示。单击“浏览”按钮,弹出“浏览文件夹”对话框,选择您的网站路径,单击【确定】按钮。 图1.4 “主目录”选项页 (5)选中首页文件,单击鼠标右键,在弹出的菜单中选择“浏览”菜单项。 使用说明 使用该程序,读者需要下载:FreeTexBox..dll和URLRewrite.dll(这两个.dll文件可在微软官方网站上下载)。粘贴到Bin文件夹下。 运行“BlogIndex.aspx”文件,进入主页面,如图1.5所示。在本博客世界中,用户可注册自己的博客帐户,然后添加文章,并将其显示在博客首页中。 图1.5 程序主页面 单击用户登录处的“注册”按钮,注册博客帐户,然后进行登录,进入个人博客管理页面,如图1.6所示。在这里可用户可添加文章及管理文章,还可添加个人通讯录。 图1.6 个人博客管理页面 单击用户登录处的“管理员登录”超链接,进入管理员登录页面,如图1.7所示。输入管理员密码mrsoft,及验证码,单击“确定”按钮,进入后台主页面,如图1.8所示。在后台,管理员可管理注册的博客用户信息、评论信息、留言信息、文章类型等。 图1.7 管理员登录页面 图1.8 后台管理主页面
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值