将被删除 。
删除索引 :DROP INDEX <索引名>;
删除索引时,系统会从数据字典中删去有关该索引的描述。 例: 删除Student表的Stusname索引:DROP INDEX Stusname 2、数据查询:基本格式 单表查询
选择表中的若干列 (投影)
查询指定列 (相当于πA(R),A= A1,A2,…,An ) 例;查询全体学生的学号与姓名 SELECT Sno,Sname FROM Student;
查询全部列:在SELECT关键字后面列出所有列名按用户指定顺序显示。 将<目标列表达式>指定为 *按关系模式中的属性顺序显示。 例:查询全体学生的详细记录
SELECT Sno,Sname,Ssex,Sdept , Sage FROM Student;
或 SELECT * FROM Student;
: SELECT子句的<目标列表达式>可以为: 查询经过计算的值
例:查全体学生的姓名及其出生年份
SELECT Sname,2011-Sage /*假定当年的年份为2011年*/
FROM Student; 输出结果: Sname 2011-Sage 李勇 1991 刘晨 1992 字符串常量、函数
例:查询全体学生的姓名、出生年份和所有系,要求用小写字母 表示所有系名
SELECT Sname,‘Year of Birth: ',2004-Sage,ISLOWER(Sdept) FROM Student; 输出结果:
Sname 'Year of Birth:' 2004-Sage ISLOWER(Sdept) 李勇 Year of Birth: 1984 cs 刘晨 Year of Birth: 1985 is 列别名
SELECT Sname as NAME,'Year of Birth: ' as BIRTH, 2011-Sage as BIRTHDAY,LOWER(Sdept) as DEPARTMENT FROM Student; 输出结果:
NAME BIRTH BIRTHDAY DEPARTMENT
------- ---------------- ------------- ------------------ 李勇 Year of Birth: 1991 cs
刘晨 Year of Birth: 1992 is 选择表中的若干元组(选择) 消除重复性:
指定DISTINCT关键词,去掉表中重复的行 SELECT DISTINCT Sno FROM SC; 注意 DISTINCT短语的作用范围是所有目标列
错误的写法 SELECT DISTINCT Cno,DISTINCT Grade FROM SC; 正确的写法 SELECT DISTINCT Cno,Grade FROM SC; SELECT 子句缺省情况是保留重复元组(ALL),
例:查询选修了课程的学生学号。SELECT Sno FROM SC;等价于: SELECT ALL Sno FROM SC; 查询满足条件的元组
WHERE子句常用的查询条件(相当于σF)
比较大小使用比较运算符 或逻辑运算符NOT + 比较运算符 例:查询计算机科学系全体学生的名单 SELECT Sname FROM Student
WHERE Sdept=‘CS’;
例:查询所有年龄在20岁以下的学生姓名及其年龄 SELECT Sname,Sage FROM Student
WHERE Sage < 20; 主存取控制方法:定义各个用户对不同数据对象的
存取权限。当用户要访问数据库时,首先要检查其存取权限,以防止非法用户对数据库进行存取。“自主存取控制”中“自主”的含义:用户可以将自己所拥有的存取权限“自主”地授予他人,即用户具有一定的“自主”权。
4.授权与收回语句。
GRANT 语句和 REVOKE 语句实现关系数据库系统中存取控制权限: 1、GRANT(授权) GRANT语句的一般格式: GRANT <权限>[,<权限>]...
ON <对象类型> <对象名> ,[<对象类型> <对象名>] TO <用户>[,<用户>]... [WITH GRANT OPTION];
将对指定操作对象的指定操作权限授予指定的用户
发出GRANT:DBA,数据库对象创建者(即属主Owner),拥有该权限的用户 接受权限的用户 :一个或多个具体用户;PUBLIC(全体用户)。 例:把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1;
例:把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;
对属性列的授权时必须明确指出相应属性列名
相关推荐: