数据定义初体验
数据定义
1.新建数据库用户
在定义模式之前,我们可以建立一个新的用户,步骤如下:
建立一个新的用户名,然后设置一下登录名,一个新的用户就建立好了。
☛也可以使用SQL语句创建,后面会学到。
2.模式定义与删除
定义模式
为用户WANG定义一个学生-课程模式S-T
在SQL界面点击新建查询,就可以输入SQL语句了。
输入: CREATE SCHEMA “S-T” AUTHORIZATION WANG;
即可为用户WANG定义S-T模式了。
如果输入的语句为:
CREATE SCHEMA AUTHORIZATION WANG;
该语句没有指定<模式名>,<模式名>隐含为<用户名>
*SQL server 中,默认用户为 dbo,在没有创建模式的情况下,默认的模式名为dbo,所以表名为dbo.
????注意:如果语句没正确,但执行错误,是因为没有将可用数据库调换成当前数据库,没有用户WANG这个用户,将数据库调成你所选的就可以
定义模式实际上定义了一个命名空间
在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。
在CREATE SCHEMA中可以接受CREATE TABLE,CREATE VIEW和GRANT子句。格式如下:
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
[<表定义子句>|<视图定义子句>|<授权定义子句>]
运用SQL与据创建TEST模式,并建立TAB1,TAB2表。
删除模式
删除模式分为级联和限制。
CASCADE(级联)
删除模式的同时把该模式中所有的数据库对象全部删除
例:DROP SCHEMA WANG CASCADE;
删除模式WANG,同时该模式中定义的表TAB1也被删除
RESTRICT(限制)
如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。
仅当该模式中没有任何下属的对象时才能执行。
2.表的定义、删除与修改
创建基本表
CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ]
…
[,<表级完整性约束条件> ] );
????<表名>:所要定义的基本表的名字
????<列名>:组成该表的各个属性(列)
????<列级完整性约束条件>:涉及相应属性列的完整性约束条件
????<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,
否则既可以定义在列级也可以定义在表级。
建立一个Student学生表。
建立一个Course表。
建立一个学生选课表SC。
对表进行修改
向Student表增加“入学时间”列,其数据类型为日期型
????不管基本表中原来是否已有数据,新增加的列一律为空值
更改原有的数据类型:
ALTER TABLE <表名称> ALTER COLUMN <列名> <数据类型>;
例:将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。
ALTER TABLE Student ALTER COLUMN Sage INT;
对已有的属性增加约束条件
ALTER TABLE <表名称> ADD UNIQUE(<列名>)
增加课程名称必须取唯一值的约束条件。
ALTER TABLE Course ADD UNIQUE(Cname);
删除基本表
DROP TABLE Student CASCADE;
基本表定义被删除,数据被删除
表上建立的索引、视图、触发器等一般也将被删除
若表上建有视图,使用RESTRICT(限制)时表不能删除;
使用CASCADE(级联)时可以删除表,视图也自动删除。
❤定义模式和对表进行操作,非常的简单,只要掌握SQL语句,就可以轻易上手,在进行基本表删除时,要注意删除模式的选用,避免出现删除不了和多删的现象。