预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共101页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据库语言SQL教学要求重点难点概述概述交互式SQL 一般DBMS都提供联机交互工具 用户可直接键入SQL命令对数据库进行操作 由DBMS来进行解释嵌入式SQL 能将SQL语句嵌入到高级语言(宿主语言) 使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力 一般需要预编译,将嵌入的SQL语句转化为宿主语言编译器能处理的语句SQL语言主要组成部分创建用户使用 Createuser用户名identifiedby密码 [defaulttablespace缺省表空间] [temporarytablespace临时表空间]; 给用户赋连接权 Grantconnectto用户名;具有CONNECT角色的用户可以登录数据库,执行数据查询和操纵。即可以执行ALTERTABLE,CREATEVIEW,CREATEINDEX,DROPTABLE,DROPVIEW,DROPINDEX,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等操作如果只是给用户赋予建表权,如: grantcreatetabletouser1 这样用户还是不能成功建表,提示错误是对表空间没有操作权。 grantcreatetabletou1是指u1拥有了建表的权限,oracle也知道了他有默认的表空间,但默认的表空间没有给他分配使用权利(使用空间),所以出错.因此要先使用quota(配额)给用户赋予表空间使用权 alteruseru1quota200Mon表空间1;--给他200M空间 alteruseru1quotaunlimitedon表空间1;--让他随意使用表空间1; 收回权限: Revokecreatetablefromu1;RESOURCE角色可以创建表,即执行CREATETABLE操作。创建表的用户将拥有对该表的所有权限。 Createtable权限和createanytable权限是有区别的,后者可以建立其他用户下的表格。如用U1登录,可以这样建表 Createtablesystem.t(t1int);建立其他用户(如U1)的表格,表格的所有权应归属于表格的拥有者(U1),而不是创建者。即他不能对该表格进行权限外操作。 若想将权限赋予所有用户,可以使用Public角色。如: Grantselectonsctopublic; 执行后,所有用户将拥有SC表的查询权。1.定义基本表 (1)定义基本表的语句格式: CREATETABLE<表名>(<列定义>[{,<列定义>,<表约束>}]) 表名: 列定义:列名、列数据类型、长度、是否允许空值等。 定义完整性约束:列约束和表约束 [CONSTRAINT<约束名>]<约束定义> CreateTableStudent( snochar(10)primarykey, snamevarchar2(20)notnull, sagesmallint, ssexchar(2), sdeptvarchar2(20)) CreateTableCourse( cnochar(10)primarykey, cnamevarchar(20), creditsmallint, snumbersmallint)--最大选课人数 CreateTableSC( snochar(10)notnull, cnochar(10)notnull, gradesmallint, primarykey(sno,cno))Oracle中复制表 Createtabletasselect*fromstudent; 只复制表结构: Createtablet1asselect*fromstudentwhere1=2; SQLServer中复制表 Select*intotfromstudent;Oracle中查看表达式的值 Oracle中可以通过Dual表查看常量或表达式的值: SelectsysdatefromDual; Selectdbms_random.value(1,10)fromdual;--产生1到10的随机数 SQLServer中查看表达式的值 Selectgetdate();用SQL删除关系(表) 将整个关系模式(表结构)彻底删除 表中的数据也将被删除 DropTabler DropTablestudent; 一旦一个表被删除,数据将不能被恢复!用SQL删除关系(表) 将整个关系模式(表结构)彻底删除 表中的数据也将被删除 与表格相关的外码约束也一起删除 DropTablerCascadeConstraints; DropTablestudentCascadeConstraints; 一旦一个表被删除,数据将不能被恢复!并且