练习主要内容:
数据库系统概论(第五版)例3.1-例3.12
在进行练习之前先【新建查询】
【新建查询】以后输入命令【CREATE DATABASE SCHOOL】再点击【分析】(工具栏的对勾)【执行】,刷新以后可以看见创建的数据库 SCHOOL
接着【创建对象】WANG
按照上面的图片所示,即可创建用户
接着需要修改【可执行数据库】,将数据库改成刚刚创建的SCHOOL
然后我们就可以开始进行练习:
模式的定义和删除
在SQL中,模式定义句:
CREATE SCHEMA<模式名>AUTHORIZATION <用户名>
如果没有指定<模式名>,那么<模式名>隐含为<用户名>
【例3.1】
为用户WANG定义一个学生-课程模式S-T
CREATE SCHEMA"S-T" AUTHORIZATION WANG;
【例3.2】
CREATE SCHEMA AUTHORIZATION WANG;
SQL server中。默认的用户dbo,在没有创建模式的情况下,默认的模式名为dbo,所以表名为dbo.*。
【例3.3】
为用户WANG 创建TEST,并且在其中定义TAB1.
CREATE SCHEMA TEST AUTHORIZATION WANG
CREATE TABLE TAB1(
COL1 SMALLINT,
COL2 INT,
COL3 CHAR(20),
COL4 NUMERIC(10,3),
COL5 DECIMAL(5,2)
);
其中应该注意,如果未说明名字,那么系统就默认名字为dbo
【例3.4】
删除模式WANG,同时,删除该模式中已经定义的表也被删除
删除语法:DROP SCHEMA<模式名><CASCADE|RESTRICT>
基本表的定义,删除和修改
【例3.5】
定义基本表:
CREATE TABLE<表名>(<列名><数据类型>[列级完整约束条件],
<列名><数据类型>[列级完整约束条件]);
建立一个“学生”表Student
【例3.6】
建立一个“课程”表Course
【例3.7】建立学生选课表SC
【例3.8】
向Student表增加“入学时间”列,其数据类型为日期型
【例3.9】
将年龄的数据类型由字符型(假设原来的数据类型师字符型)改为整数
【例3.10】
增加课程名称必须唯一的约束条件
【例3.11】
删除Student表
如果此时按照课本输入语句,那么会进行保错,这是因为SQL Server不支持在删除表(TABLE)的过程中使用CASCADE关键字。
【例3.12】
这里报错原因是因为SQL Server不能用RESRICT关键字进行表的删除
如果在SQL Server中要对表进行删除,那么就可以直接使用DROP<表名>
SQL与T-SQL之间的不同:
SQL是结构化查询语言,是关系数据库的标准语言,是一个通用的关系数据库语言,目前没有一个数据库系统可以支持标准SQL的全部概念和特性
T-SQL是SQL的扩展语言,只能在SQL Server使用,在SQL的基础上还加入了某些程序语言语法,例如if,while
来源:CSDN
作者:咸鱼4号
链接:https://blog.csdn.net/weixin_44652687/article/details/104675744