SQL 快速查看手册.doc_第1页
SQL 快速查看手册.doc_第2页
SQL 快速查看手册.doc_第3页
SQL 快速查看手册.doc_第4页
SQL 快速查看手册.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言: 关系数据库的简单介绍 1970.Dr.E.F.codded 创建了关系数据库的模型(类似现在常用的二维表格)关系数据库由许多数据对象组成, 被关系操作SQL命令管理着, 数据之间有完整性的约束条件.RDBMS( relational database management system )ORDBMS( object relational database management system )ORACLE RDBMS常称为ORACLE SERVER它的内核是用C语言写的.ORACLE的简单介绍 ORACLE公司是一家提供综合技术产品、方案、服务的数据库公司ORACLE数据库设计成可大量存储数据,快速查询数据,保证数据的安全和一致性,跨网络的分布式管理及客户-服务器的配置等。ORACLE SQL语法符合ANSI 1986标准SQL和数据库交流的命令式语言SQL*PLUSORACLE的一种工具, 用来运行SQL和PL/SQL语句PL/SQLORACLE的过程化编程语言一、选择行1. 简单的SELECT 语句SELECT DISTINCT *,COLUMN ALIAS, FROM table_name;字段的非唯一的结果集DISTINCT 字段名1 ,字段名2 数字类型字段名之间可以进行算术运算+ - * / 等例如: (字段名1*字段名2)/3合并字段内容的连接字符 |字段名1 | 字段名2字段可以有别名SELECT 字段名1 AS 字段名1 解释 FROM table;2. 处理NULLNULL 未定义,不可操作,什么都不是NULL != 0NULL!=空格和NULL的任何运算都返回NULLORACLE里未定义的变量值都为NULLNVL函数可把NULL转换成其它类型的符号NVL(EXPR1, EXPR2)函数解释:IF EXPR1=NULL RETURN EXPR2ELSE RETURN EXPR1编程技巧: NVL函数在多条件模糊查询的时候比较有用nvl(+input_value+,0)=0 or filed_name like %+input_value+%NVL函数可返回多种数据类型:返回日期NVL(start_date,2002-02-01)返回字符串NVL(title,no title)返回数字NVL(salary,1000)3. 使用SQL*PLUS(1)登录SQL*PLUS的方法用户名,密码,数据库连接字符串数据库连接字符串可以用net8 easy configuration建立本地网络服务名配置,也可以手工编辑$ORACLE_HOME/network/admin/tnsnames.ora文件。在UNIX系统下不要用$sqlplus username/passworddbname这样别的用户用$ps命令能看出用户的密码SQL desc table;显示表结构SQL select * from tab;查看用户下所有的表SQL set pause on;可以使大量结果集在用户按“Enter”(回车)后翻页SQL set pagesize 100;设定SQL语句返回结果集一页的行数100, 默认值是14SQL set linesize 100;设定SQL语句返回结果集一行的宽度100, 默认值是803. 使用SQL*PLUS(2)SQL*PLUS里的编辑命令最近一条SQL命令语句存在ORACLE内存(sql buffer)里,但SQL*PLUS命令却不会存进去。SQL*PLUS里的编辑命令:APPEND text把text增加到当前行后面CHANGE /old/new/把当前行old符号替换成new符号,new为空,删除old符号CLEAR BUFFER从sql buffer里删除所有的行DEL n删除sql buffer里第n行INPUT text在sql buffer后面插入textLIST n显示sql buffer里第n行n使第n行为当前行n text第n行替换成text0 text在第一行前面插入一行3. 使用SQL*PLUS(3) SQL*PLUS里的文件命令:SAVE filename REPLACE | APPEND 把sql buffer里的SQL命令存到OS下一个文件filename,默认的文件名后缀为.sql.REPLACE替换filename里的SQL命令APPEND把sql buffer里的SQL命令添加到filename后GET filename从filename里把SQL命令读到sql bufferSTART filename运行上次保存到文件filename里的SQL命令filename运行上次保存到文件filename里的SQL命令EDIT打开编辑窗口,编辑sql buffer里的SQL命令EDIT filename打开编辑窗口,编辑文件filename里的SQL命令SPOOL filename OFF | OUT把SQL命令结果输出到OS下一个文件filename OFF结束输出到文件, OUT结束输出到文件并打印文件 4. SQL*PLUS里规定字段的显示格式规定数字的显示格式SQLcolumn 字段名 format 99999999999;SQLcolumn 字段名 format 999,999,999,999;规定字符串的显示宽度 SQLcolumn 字段名 format a数字 word_wrapped;说明: 一行只显示数字位的长度, 超过长度折行,加word_wrapped后, 单词不会折行规定long字符的显示宽度SQLset long 200;规定字段名的显示内容SQL column 字段名 heading 字段名显示内容;SQL set heading off;查询时不显示字段名称规定字段的对齐方向SQL column 字段名 justify left | right | center;清除字段的格式SQL column 字段名 clear;5. SQL*PLUS里规定字段的显示格式例子SQL column last_name heading Employee|Name format a15;SQL column salary justify right format $99,999.99;SQL column start_date format a10 null Not Hired;说明:如果start_date为null, 显示字符串Not Hired6. 判断题(T/F)(1). SQL command are always held in sql buffer.T(2). SQL*PLUS command assit with query data.TSQL*PLUS命令只控制SELECT结果集的显示格式及控制文件.只有SQL命令能访问数据库.二、限制选择行1. 按指定的规则排序SELECT expr FROM table ORDER BY column, expr ASC | DESC ;默认的排序是ASC升序(由小到大)还可以ORDER BY 字段名的位置1| 2 ASC| DESC;当字段名很复杂或者是算术表达式时用字段名显示的位置排序很方便.2. 用WHERE限制选择行(1)比较操作符= = = != =与NULL比较不能用上面的比较操作符ANYSOMEALLSQL操作符BETWEEN ANDINLIKEIS NULL NOT BETWEEN AND NOT INNOT LIKEIS NOT NULL逻辑操作符ANDORNOT3. 用WHERE限制选择行(2)比较顺序(可以用括号改变它们的顺序)(1). = = to_date(2001-12-12,YYYY-MM-DD) and日期字段= to_date(2002-02-01,YYYY-MM-DD); 6. 不能用到索引的比较操作符IS NULLIS NOT NULLLIKE %m%三、单行函数1. 数字函数ABS 取绝对值POWER 乘方 LN 10为底数取冪SQRT 平方根EXP e的n次乘方 LOG(m,n) m为底数n取冪 数学运算函数:ACOS ATAN ATAN2 COS COSH SIGN SIN SINH TAN TANH CEIL 大于或等于取整数FLOOR 小于或等于取整数MOD 取余数ROUND(n,m) 按m的位数取四舍五入值如果round(日期): 中午12以后将是明天的日期. round(sysdate,Y)是年的第一天TRUNC(n,m) 按m的位数取前面的数值如果trunc(日期), 确省的是去掉时间2. 字符函数CHR 按数据库的字符集由数字返回字符 CONCAT(c1,c2) 把两个字符c1,c2组合成一个字符, 和 | 相同REPLACE(c,s,r) 把字符c里出现s的字符替换成r, 返回新字符 SUBSTR(c,m,n)m大于0,字符c从前面m处开始取n位字符,m等于0和1一样, m小与0,字符c从后面m处开始取n位字符TRANSLATE(c,f1,t1) 字符c按f1到t1的规则转换成新的字符串INITCAP 字符首字母大写,其它字符小写LOWER 字符全部小写UPPER字符全部大写LTRIM(c1,c2)去掉字符c1左边出现的字符c2RTRIM(c1,c2) TRIM(c1,c2) 去掉字符c1左右两边的字符c2LPAD(c1,n,c2) 字符c1按制定的位数n显示不足的位数用c2字符串替换左边的空位RPAD(c1,n,c2)3. 日期函数ADD_MONTHS(d,n)日期值加n月LAST_DAY(d) 返回当月的最后一天的日期MONTHS_BETWEEN(d1,d2) 两个日期值间的月份,d1 alter session set nls_date_format=yyyy-mm-dd hh24:mi:ss;它的作用顺序如下:initialization parameterEnvironment variableALTER SESSION command4. 转换函数 (4)to_char(number)里数字显示格式9数字位0数字前面补0 to_char(-1200,00000.00).小数点的位置,标记位置的逗号用在数字显示格式的左边L根据数据库字符集加货币符号to_char(-1200,L9999.99)B把数字0显示为空格,用在数字显示格式的右边MI右边的负数标记 to_char(-1200,9999.99MI)PR 括起来的负数 to_char(-1200,9999.99PR)EEEE用指数方式表示 to_char(-1200,9999.99EEEE)5. 输入字符,返回数字的函数instr(c1,c2)字符c2出现在c1的位置, 不出现, 返回0, 常用于模糊查询length(c)按数据库的字符集,算出字符c的长度,跟数据库的字符集有关, 一个汉字长度为16. 有逻辑比较的函数NVL(EXPR1, EXPR2)函数解释:IF EXPR1=NULL RETURN EXPR2ELSE RETURN EXPR1DECODE(AAV1R1V2R2.)函数解释: IF AA=V1 THEN RETURN R1 IF AA=V2 THEN RETURN R2. ELSE RETURN NULL举例: decode(id,1,dept sale,2,dept tech)四、从多个表里选取数据记录1. 数据表间的连接简单的连接语法:SELECT 字段名1, 字段名2, FROM 表名1, 表名2, WHERE 表名1.字段名 = 表名2. 字段名 AND ; SELECT 字段名1, 字段名2, FROM 表名1, 表名2, WHERE 表名1.字段名 = 表名2. 字段名(+) AND ; 有(+)号的字段位置自动补空值 连接的分类:等于的连接 =不等于的连接!=BETWEEN AND IN注意IN和OR不能一起用外连接有一个字段名(+) , 没有满足的条件补空值自连接同一个表自己跟自己连接例如找重复记录2. 数据表间的连接例子删除table_name表里字段名email重复的记录:SQLdelete from table_name t1where t1.rowid (select min(rowid) from table_name t2where t1.email = t2.emailgroup by email having count(email) 1);找到手机用户的服务区域:SQL select a.handphoneno,nvl(,null),a.totalscore from topscore a,chargeoperator cc,chargeoperatorinfo c where substr(a.handphoneno,1,7)=cc.hpnohead(+) and cc.chargetype=c.chargetype(+) order by a.totalscore desc;3. 数据表间的连接技巧连接N个表, 需要N-1个连接操作被连接的表最好建一个单字符的别名, 字段名前加上这个单字符的别名BETWEEN . AND. 比用 = AND grant plustrace to &username;一般用户下运行/ORACLE_HOME/rdbms/admin/utlxplan.sql 产生plan_tableSQL set time on;说明:打开时间显示 SQL set autotrace on; 说明:打开自动分析统计,并显示SQL语句的运行结果SQL set autotrace traceonly;说明:打开自动分析统计,不显示SQL语句的运行结果接下来你就运行测试SQL语句,看到其分析统计结果了。一般来讲,我们的SQL语句应该避免大表的全表扫描。SQL set autotrace off; 说明:关闭自动分析统计五、集合函数经常和group by一起使用 1. 集合函数列表AVG (DISTINCT | ALL | N)取平均值COUNT(DISTINCT | ALL | N | expr | * )统计数量MAX(DISTINCT | ALL | N)取最大值MIN (DISTINCT | ALL | N)取最小值SUM (DISTINCT | ALL | N)取合计值STDDEV (DISTINCT | ALL | N)取偏差值,如果组里选择的内容都相同,结果为0VARIANCE (DISTINCT | ALL | N) 取平方偏差值2. 使用集合函数的语法SELECT column, group_function FROM tableWHERE conditionGROUP BY group_by_expressionHAVING group_conditionORDER BY column;3. 使用count时的注意事项SELECT COUNT(*) FROM table;SELECT COUNT(常量) FROM table;都是统计表中记录数量,如果没有PK后者要好一些SELECT COUNT(all 字段名) FROM table;SELECT COUNT(字段名) FROM table;不会统计为NULL的字段的数量SUM,AVG时都会忽略为NULL的字段4. 用group by时的限制条件SELECT字段名不能随意, 要包含在GROUP BY的字段里 GROUP BY后ORDER BY时不能用位置符号和别名 限制GROUP BY的显示结果, 用HAVING条件 5. 例子SQL select title,sum(salary) payroll from s_empwhere title like VP%group by titlehaving sum(salary)5000order by sum(salary) desc;找出某表里字段重复的记录数, 并显示SQL select (duplicate field names) from table_name group by (list out fields) having count(*)1;6. 判断题(T/F)(1) Group functions include nulls in calculationsF(2) Using the having clause to exclude rows from a group calculationF解释:Group function 都是忽略NULL值的如果您要计算NULL值, 用NVL函数Where语句在Group By前把结果集排除在外Having语句在Group By后把结果集排除在外7. 在SQL*PLUS里可使用的其它命令:CtrlC终止正在运行的SQL语句remark /*.*/ -注释符号HOST 可执行的操作系统下的命令有些unix可以用 !BREAK ON column_name SKIP n ON column_name SKIP n 按字段的名称column_name分隔显示,更清晰,SKIP n 是在分隔处空行的数量n BREAK ON ROW SKIP n每一行间隔都放n个空行COMPUTE 集合运算符 OF 字段1 ON 字段2按字段2对字段1进行集合运算COMPUTE后面可以跟的集合运算符:SUM MINIMUM MAXIMUM AVG STD VARIANCE COUNT NUMBER8.在SQL*PLUS里可使用的其它命令举例:(scott用户) BREAK ON REPORT COMPUTE SUM LABEL TOTAL OF SAL ON REPORT在全部结果集后面算合计 select ename,sal from emp where job=SALESMAN; COMPUTE AVG LABEL avg OF SAL ON REPORT在全部结果集后面算平均值 /再次执行上次的sql语句 break on DEPTNO skip 2 on JOB skip 1 在BREAK字段结果集后面算合计COMPUTE SUM OF SAL ON DEPTNO SELECT DEPTNO,JOB,ENAME,SAL FROM EMP ORDER BY DEPTNO,JOB; SQL CLEAR BREAKS;清除设置的BREAK条件SQL CLEAR COMPUTES;清除设置的COMPUTE条件六、子查询1. 查询语句可以嵌套 例如: SELECT FROM (SELECT FROM表名1, 表名2, WHERE 条件) WHERE 条件2; 2. 何处可用子查询?当查询条件是不确定的条件时DML(insert, update,delete)语句里也可用子查询HAVING里也可用子查询3. 两个查询语句的结果可以做集合操作 例如: 并集UNION(去掉重复记录)并集UNION ALL(不去掉重复记录) 差集MINUS, 交集INTERSECT 4. 子查询的注意事项先执行括号里面的SQL语句,一层层到外面内部查询只执行一次如果里层的结果集返回多个,不能用= = select title,avg(salary) from s_emp group by title Having avg(salary) = (select min(avg(salary) from s_emp group by title);找到最低平均工资的职位名称和工资5. 子查询的例子(2)子查询可以用父查询里的表名这条SQL语句是对的:SQLselect cty_name from city where st_code in(select st_code from state where st_name=TENNESSEE and t_code=t_code);说明:父查询调用子查询只执行一次6.取出结果集的80 到100的SQL语句ORACLE处理每个结果集只有一个ROWNUM字段标明它的逻辑位置,并且只能 用ROWNUM80。以下是经过分析后较好的两种ORACLE取得结果集80到100间的SQL语句( ID是唯一关键字的字段名 ): 语句写法: SQLselect * from ( select rownum as numrow, c.* from (select field_name,. from table_namewhere 条件1 order by 条件2) c) where numrow 80 and numrow select id, last_name, salary froms_emp where dept_id = &department_number;Enter value for department_number: 10old 1: select id, last_name, salary from s_emp where dept_id=&department_number;new 1: select id, last_name, salary from s_emp where dept_id= 10SQL SET VERIFY OFF | ON;可以关闭和打开提示确认信息old 1和new 1的显示.3. 绑定变量SQL语句的例子(2)SQL select id, last_name, salary froms_emp where title = &job_title;Enter value for job_title: Stock ClerkSQL select id, last_name, salary froms_emp where hiredate to_date( &start_hire_date,YYYY-MM-DD);Enter value for start_hire_date : 2001-01-01把绑定字符串和日期类型变量时,变量外面要加单引号也可绑定变量来查询不同的字段名输入变量值的时候不要加;等其它符号4. ACCEPT的语法和例子SQL ACCEPT variable datatype FORMAT PROMPT text HIDE说明:variable指变量名datatype指变量类型,如number,char等format指变量显示格式prompt text可自定义弹出提示符的内容texthide隐藏用户的输入符号使用ACCEPT的例子:ACCEPT p_dname PROMPT Provide the department name: ACCEPT p_salary NUMBER PROMPT Salary amount: ACCEPT pswd CHAR PROMPT Password: HIDEACCEPT low_date date format YYYY-MM-DD PROMPT“Enter the low date range(YYYY-MM-DD):”4. DEFINE的语法和例子SQL DEFINE variable = value说明:variable指变量名value指变量值定义好了变良值后, 执行绑定变量的SQL语句时不再提示输入变量使用DEFINE的例子:SQL DEFINE dname = salesSQL DEFINE dnameDEFINE dname = “sales” (CHAR)SQL select name from dept where lower(name)=&dname;NAME-salessalesSQL UNDEFINE dnameSQL DEFINE dnameSymbol dname is UNDEFINED5. SQL*PLUS里传递参数到保存好的*.sql文件里SQL /路径名/文件名 参数名1,参数名2, .SQL start /路径名/文件名 参数名1,参数名2, .注意事项:一次最多只能获取9个&变量, 变量名称只能是从&1,&2到&9变量名后不要加特殊的结束符号如果在SQL*PLUS里要把&符号保存在ORACLE数据库里,要修改sql*plus环境变量defineSQL set define off;八、概述数据模型和数据库设计1. 系统开发的阶段:Strategy and AnalysisDesignBuild and DocumentTransitionProduction2. 数据模型Model of system in clients mindEntity model of clients modelTable model of entity modelTables on disk3. 实体关系模型 (ERM)概念ERM ( entity relationship modeling)实体存有特定信息的目标和事件 例如: 客户,订单等属性描述实体的属性 例如: 姓名,电话号码等关系两个实体间的关系 例如:订单和产品等实体关系模型图表里的约定Dashed line(虚线)可选参数 “may be”Solid line(实线)必选参数 “must be”Crows foot(多线)程度参数 “one or more”Single line(单线)程度参数 “one and only one”4. 实体关系模型例子每个订单都必须有一个或几个客户每个客户可能是一个或几个订单的申请者5. 实体关系的类型1:1一对一例如: 的士和司机 M:1多对一例如: 乘客和飞机1:M一对多例如: 员工和技能6. 校正实体关系的原则属性是单一值的, 不会有重复属性必须依存于实体, 要有唯一标记没有非唯一属性依赖于另一个非唯一的属性7. 定义结构时的注意事项减少数据冗余减少完整性约束产生的问题确认省略的实体,关系和属性8. 完整性约束的要求Primary key主关键字唯一非NULLForeign key外键依赖于另一个Primary key,可能为NULLColumn字段名符合定义的类型和长度Constraint约束条件用户自定义的约束条件,要符合工作流要求例如: 一个销售人员的提成不能超过它的基本工资Candidate key候选主关键字多个字段名可组成候选主关键字, 其组合是唯一和非NULL的9. 把实体关系图映射到关系数据库对象的方法把简单实体映射到数据库里的表把属性映射到数据库里的表的字段, 标明类型和注释把唯一标记映射到数据库里的唯一关键字把实体间的关系映射到数据库里的外键其它的考虑:设计索引,使查询更快建立视图,使信息有不同的呈现面, 减少复杂的SQL语句计划存储空间的分配重新定义完整性约束条件10. 实体关系图里符号的含义PK唯一关键字的字段FK外键的字段FK1,FK2同一个表的两个不同的外键FK1,FK1两个字段共同组成一个外键NN非null字段U唯一字段U1,U1两个字段共同组成一个唯一字段11. 实体关系图的例子九、创建表1. ORACLE常用的字段类型ORACLE常用的字段类型有 VARCHAR2 (size) 可变长度的字符串, 必须规定长度 CHAR(size)固定长度的字符串, 不规定长度默认值为NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数最长38位. 不够位时会四舍五入.DATE 日期和时间类型 LOB超长字符, 最大可达4GCLOB超长文本字符串BLOB超长二进制字符串BFILE超长二进制字符串, 保存在数据库外的文件里是只读的.数字字段类型位数及其四舍五入的结果原始数值1234567.89数字字段类型位数存储的值Number1234567.89Number(8)12345678Number(6)错Number(9,1)1234567.9Number(9,3)错Number(7,2)错Number(5,-2)1234600Number(5,-4)1230000Number(*,1)1234567.92. 创建表时给字段加默认值 和约束条件创建表时可以给字段加上默认值例如: 日期字段DEFAULT SYSDATE 这样每次插入和修改时, 不用程序操作这个字段都能得到动作的时间 创建表时可以给字段加上约束条件例如:非空NOT NULL不允许重复 UNIQUE关键字 PRIMARY KEY 按条件检查CHECK (条件)外键REFERENCES 表名(字段名) 3. 创建表的例子CREATE TABLE DEPT(EPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,DNAME VARCHAR2(14),LOC VARCHAR2(13) ;CREATE TABLE region( ID number(2) NOT NULL PRIMARY KEY, postcode number(6) default 0NOT NULL, areaname varchar2(30) default NOT NULL);4. 创建表时的命名规则和注意事项表名和字段名的命名规则:必须以字母开头,可以含符号A-Z,a-z,0-9,_,$,#大小写不区分不用SQL里的保留字, 一定要用时可用双引号把字符串括起来用和实体或属性相关的英文符号长度有一定的限制注意事项:建表时可以用中文的字段名, 但最好还是用英文的字段名 创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面建表时如果有唯一关键字或者唯一的约束条件,建表时自动建了索引一个表的最多字段个数也是有限制的,254个.5. 约束名的命名规则和语法约束名的命名规则约束名如果在建表的时候没有指明,系统命名规则是SYS_Cn(n是数字)约束名字符串的命名规则同于表和字段名的命名规则6. 使用约束时的注意事项约束里不能用系统函数,如SYSDATE和别的表的字段比较可以用本表内字段的比较想在事务处理后, 做约束的检查SQL alter session set constraints deferred.7. 由实体关系图到创建表的例子 s_dept前提条件:已有region表且含唯一关键字的字段idSQL CREATE TABLE s_dept (idNUMBER(7) CONSTRAINT s_dept_id_pk PRIMARY KEY, nameVARCHAR2(25) CONSTRAINT s_dept_name_nn NOT NULL, region_idNUMBER(7) CONSTRAINT s_dept_region_id_fk REFERENCES region (id), CONSTRAINT s_dept_name_region_id_uk UNIQUE(name, region_id);8. 较复杂的创建表例子SQL CREATE TABLE s_emp (idNUMBER(7) CONSTRAINT s_emp_id_pk PRIMARY KEY, last_nameVARCHAR2(25) CONSTRAINT s_emp_last_name_nn NOT NULL, first_nameVARCHAR2(25), useridVARCHAR2(8) CONSTRAINT s_emp_userid_nn NOT NULL CONSTRAINT s_emp_userid_uk UNIQUE, start_dateDATE DEFAULT SYSDATE, commentsVARCHAR2(25), manager_idNUMBER(7), titleVARCHAR2(25), dept_idNUMBER(7) CONSTRAINT s_emp_dept_id_fk REFERENCES s_dept(id), salaryNUMBER(11,2), commission_pct NUMBER(4,2) CONSTRAINT s_emp_commission_pct_ck CHECK (commission_pct IN(10,12.5,15,17.5,20);8. 通过子查询建表通过子查询建表的例子SQLCREATE TABLE emp_41 AS SELECT id, last_name, userid, start_date FROM s_emp WHERE dept_id = 41; SQL CREATE TABLE A as select * from B where 1=2;只要表的结构.10. 用子查询建表的注意事项可以关连多个表及用集合函数生成新表,注意选择出来的字段必须有合法的字段名称,且不能重复。用子查询方式建立的表,只有非空NOT NULL的约束条件能继承过来, 其它的约束条件和默认值都没有继承过来.根据需要,可以用alter table add constraint 再建立其它的约束条件,如primary key等.10. Foreign Key的可选参数ON DELETE CASCADE在创建Foreign Key时可以加可选参数:ON DELETE CASCADE它的含义是如果删除外键主表里的内容,子表里相关的内容将一起被删除.如果没有ON DELETE CASCADE参数,子表里有内容,父表里的主关键字记录不能被删除掉.12. 如果数据库表里有不满足的记录存在,建立约束条件将不会成功.13. 给表创建和删除同义词的例子SQL CREATE SYNONYMd_sum 2 FORdept_sum_vu;SQL CREATE PUBLIC SYNONYMs_dept 2 FORalice.s_dept;SQL DROP SYNONYM s_dept;十、ORACLE里的数据字典1. 什么是数据字典ORACLE的数据字典是数据库的重要组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论