`
dinghy
  • 浏览: 34903 次
  • 性别: Icon_minigender_1
  • 来自: 京广之间
社区版块
存档分类
最新评论

[转]QS50 of ORACLE

阅读更多

Q1.怎样创建表?
Q2.怎样删除表?
Q3.怎样创建视图?
Q4.怎样删除视图?
Q5.怎样给表添加字段?
Q6.怎样删除表中某个字段?
Q7.怎样给某个字段添加约束?
Q8.怎样去除某个字段上的约束?
Q9.怎样给表加上主键?
Q10.怎样删除表的主键?
Q11.怎样给表添加一个外键?
Q12.怎样删除表的一个外键?
Q13.怎样给字段加上CHECK?
Q14.怎样去掉字段上的CHECK?
Q15.怎样给字段设置默认值?
Q16.怎样移去字段的默认值?
Q17.怎样创建索引?
Q18.怎样删除索引?
Q19.怎样创建用户?
Q20.怎样删除用户?
Q21.怎样将对象权限(object privileges)授予用户?
Q22.怎样从用户收回对象权限?
Q23.怎样将角色权限(role privileges)授予用户?
Q24.怎样从用户收回角色权限?
Q25.怎样将系统权限(system privileges)授予用户?
Q26.怎样从用户收回系统权限?
Q27.怎样创建序列?
Q28.怎样删除序列?
Q29.怎样获取序列值?
Q30.怎样创建角色?
Q31.怎样删除角色?
Q32.怎样将对象权限(object privileges)授予角色?
Q33.怎样从角色收回对象权限?
Q34.怎样将角色权限(role privileges)授予角色?
Q35.怎样从角色收回角色权限?
Q36.怎样将系统权限(system privileges)授予角色?
Q37.怎样从角色收回系统权限?
Q38.不等于条件有哪几种写法?
Q39.like子句的用法?
Q40.请举出一个where子查询简单例子?
Q41.Oracle常用字符串处理函数有哪些?
Q42.Oracle支持哪些数字处理函数?
Q43.怎样取得数据库服务器当前日期、时间?
Q44.怎样将字符串转换为日期、时间格式?
Q45.常用日期函数有哪些?
Q46.能给出一个DECODE函数用法的例子吗?
Q47.能给出一个group by、having和order by用法的例子吗?
Q48.Oracle有哪些常用数据字典?
Q49.怎样将日期、时间插入date型字段中?
Q50.能介绍一下connect by的用法吗?


Q1.怎样创建表?
A. CREATE TABLE ROYAL_MTABLE
(
RM_INT_FIELD INTEGER,
RM_STR_FIELD VARCHAR2(64)
)
CREATE TABLE ROYAL_DTABLE
(
RD_INT_FIELD INTEGER,
RD_STR_FIELD VARCHAR2(32)
)
Q2.怎样删除表?
A. DROP TABLE ROYAL_DTABLE;
Q3.怎样创建视图?
A. CREATE OR REPLACE VIEW ROYAL_MDVIEW AS
SELECT T1.RM_STR_FIELD AS F1, T2.RD_STR_FIELD AS F2 FROM ROYAL_MTABLE T1, ROYAL_DTABLE T2
WHERE T1.RM_INT_FIELD = T2.RM_INT_FIELD
Q4.怎样删除视图?
A. DROP VIEW ROYAL_MDVIEW;
Q5.怎样给表添加字段?
A. ALTER TABLE ROYAL_DTABLE ADD RM_INT_FIELD INTEGER;
Q6.怎样删除表中某个字段?
A. ALTER TABLE ROYAL_DTABLE DROP COLUMN RM_INT_FIELD;
Q7.怎样给某个字段添加约束?
A. ALTER TABLE ROYAL_MTABLE MODIFY RM_STR_FIELD NOT NULL;
Q8.怎样去除某个字段上的约束?
A. ALTER TABLE ROYAL_MTABLE MODIFY RM_STR_FIELD NULL;
Q9.怎样给表加上主键?
A. ALTER TABLE ROYAL_MTABLE ADD CONSTRAINT PK_ROYAL_MTABLE PRIMARY KEY (RM_INT_FIELD);
Q10.怎样删除表的主键?
A. ALTER TABLE ROYAL_MTABLE DROP CONSTRAINT PK_ROYAL_MTABLE CASCADE;
Q11.怎样给表添加一个外键?
A. ALTER TABLE ROYAL_DTABLE ADD CONSTRAINT FK_ROYAL_DTABLE FOREIGN KEY (RM_INT_FIELD) REFERENCES ROYAL_MTABLE (RM_INT_FIELD) ON DELETE CASCADE;
Q12.怎样删除表的一个外键?
A. ALTER TABLE ROYAL_DTABLE DROP CONSTRAINT FK_ROYAL_DTABLE;
Q13.怎样给字段加上CHECK?
A. ALTER TABLE ROYAL_MTABLE ADD CONSTRAINT CHK_RM_STR_FIELD CHECK (RM_STR_FIELD IN ('Y','N'));
Q14.怎样去掉字段上的CHECK?
A. ALTER TABLE ROYAL_MTABLE DROP CONSTRAINT CHK_RM_STR_FIELD;
Q15.怎样给字段设置默认值?
A. ALTER TABLE ROYAL_DTABLE MODIFY RD_STR_FIELD DEFAULT 'ROYAL';
Q16.怎样移去字段的默认值?
A. ALTER TABLE ROYAL_DTABLE MODIFY RD_STR_FIELD DEFAULT NULL;
Q17.怎样创建索引?
A. CREATE UNIQUE INDEX IDX_ROYAL_DTABLE ON ROYAL_DTABLE (RM_INT_FIELD);
Q18.怎样删除索引?
A. DROP INDEX IDX_ROYAL_DTABLE;
Q19.怎样创建用户?
A. CREATE USER TESTUSER IDENTIFIED EXTERNALLY DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT;
Q20.怎样删除用户?
A. DROP USER TESTUSER CASCADE;
21.怎样将对象权限(object privileges)授予用户?
A. GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE TO TESTUSER;
GRANT INSERT, UPDATE, DELETE ON ROYAL_DTABLE TO TESTUSER;
GRANT SELECT, ALTER ON ROYAL_DTABLE TO TESTUSER WITH GRANT OPTION;
Q22.怎样从用户收回对象权限?
A. REVOKE SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_DTABLE FROM TESTUSER;
Q23.怎样将角色权限(role privileges)授予用户?
A. GRANT CONNECT TO TESTUSER WITH ADMIN OPTION;
GRANT DBA TO TESTUSER;
Q24.怎样从用户收回角色权限?
A. REVOKE DBA FROM TESTUSER;
Q25.怎样将系统权限(system privileges)授予用户?
A. GRANT ALTER ANY TABLE TO TESTUSER WITH ADMIN OPTION;
Q26.怎样从用户收回系统权限?
A. REVOKE ALTER ANY TABLE FROM TESTUSER;
Q27.怎样创建序列?
A. CREATE SEQUENCE RM_INT_FIELD_SEQ
MINvalue 1
MAXvalue 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 10
ORDER;
Q28.怎样删除序列?
A. DROP SEQUENCE RM_INT_FIELD_SEQ;
Q29.怎样获取序列值?
A. SELECT RM_INT_FIELD_SEQ.NEXTVAL FROM DUAL;
Q30.怎样创建角色?
A. CREATE ROLE TESTROLE;
Q31.怎样删除角色?
A. DROP ROLE TESTROLE;
Q32.怎样将对象权限(object privileges)授予角色?
A. GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE TO TESTROLE;
Q33.怎样从角色收回对象权限?
A. REVOKE SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE FROM TESTROLE;
Q34.怎样将角色权限(role privileges)授予角色?
A. GRANT DBA TO TESTROLE;
Q35.怎样从角色收回角色权限?
A. REVOKE DBA FROM TESTROLE;
Q36.怎样将系统权限(system privileges)授予角色?
A. GRANT CREATE TABLE TO TESTROLE;
Q37.怎样从角色收回系统权限?
A. REVOKE CREATE TABLE FROM TESTROLE;
Q38.不等于条件有哪几种写法?(茴香豆问题:))
A. SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD != 'Y';
SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD ^= 'Y';
SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD <> 'Y';
Q39.like子句的用法?
A. SELECT * FROM ROYAL_DTABLE WHERE RD_STR_FIELD LIKE '%Y%';
SELECT * FROM ROYAL_DTABLE WHERE RD_STR_FIELD LIKE '_Y%';
Q40.请举出一个where子查询简单例子?
A. SELECT * FROM ROYAL_DTABLE WHERE RM_INT_FIELD IN (SELECT RM_INT_FIELD FROM ROYAL_MTABLE WHERE RM_STR_FIELD NOT IN ('Y','B'));
Q41.Oracle常用字符串处理函数有哪些?
A. || 连接两个字符串; LENGTH 字符串长度; TRIM/LTRIM/RTRIM 截断串左(右)指定字符串(包括空串); LOWER/UPPER 将字符串转换为小/大写,等等。
例如:SELECT RM_INT_FIELD||'--'||RM_STR_FIELD||'YES' FROM ROYAL_MTABLE;
Q42.Oracle支持哪些数字处理函数?
A. Oracle支持所有常用数字函数,包括(但不限于)+、-、*、/、ABS、COS、EXP、LN、LOG、MOD、POWER、ROUND、SIN、SINH、SQRT、TAN、TRUNC、AVG、COUNT、MAX、MIN、SUM、GREATEST、LEAST等等。
例如:
SELECT GREATEST(3, 4, 5)*4 FROM DUAL;
SELECT POWER(2,3) FROM DUAL;
Q43.怎样取得数据库服务器当前日期、时间?
A. SELECT SYSDATE FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') FROM DUAL;
Q44.怎样将字符串转换为日期、时间格式?
A. SELECT TO_DATE('2002-11-27', 'YYYY-MM-DD') FROM DUAL;
SELECT TO_DATE('2002-11-27 09:28:55', 'YYYY-MM-DD HH:MI:SS') FROM DUAL;
Q45.常用日期函数有哪些?
A. NEXT_DAY LAST_DAY ADD_MONTHS MONTHS_BETWEEN等等。
例如:SELECT LAST_DAY(SYSDATE) FROM DUAL;
Q46.能给出一个DECODE函数用法的例子吗?
A. DECODE函数的格式为DECODE(value, if1, then1, if2, then2...,else)。假设表ROYAL_DTABLE中有如下数据:
RD_INT_FIELD RD_STR_FIELD RM_INT_FIELD
-------------------------------------
1 royal 1
2 bill 2
3 joy 1

请观察如下SQL语句输出结果。
SELECT DECODE(RD_STR_FIELD, 'royal', 'royaltest', 'bill', 'billgates', RD_STR_FIELD) AS DC FROM ROYAL_DTABLE;
DC
---------
royaltest
billgates
joy

Q47.能给出一个group by、having和order by用法的例子吗?
A. SQL> SELECT * FROM ROYAL_MTABLE;
RM_INT_FIELD RM_STR_FIELD
-------------------------
1 Y
2 N
3 Y
SQL> SELECT * FROM ROYAL_DTABLE;
RD_INT_FIELD RD_STR_FIELD RM_INT_FIELD
--------------------------------------
1 royal 1
2 bill 2
3 joy 1
SQL> SELECT RM_INT_FIELD, SUM(RD_INT_FIELD) FROM ROYAL_DTABLE GROUP BY RM_INT_FIELD HAVING SUM(RD_INT_FIELD) >= 2 ORDER BY SUM(RD_INT_FIELD) ASC;

RM_INT_FIELD SUM(RD_INT_FIELD)
------------------------------
2 2
1 4
Q48.Oracle有哪些常用数据字典?
A. USER_TABLES(TABS)、USER_TAB_COLUMNS(COLS)、USER_VIEWS、USER_SEQUENCES(SEQ)、USER_CONSTRAINTS、USER_CONS_COLUMNS、USER_TAB_COMMENTS、USER_COL_COMMENTS、USER_INDEXES(IND)、USER_IND_COLUMNS、USER_USERS、DBA_USERS、ALL_USERS、USER_TABLESPACES等等。
例如:SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'FK_ROYAL_DTABLE';
Q49.怎样将日期、时间插入date型字段中?
A. INSERT INTO ROYAL_MTABLE (RM_INT_FIELD, RM_STR_FIELD, RM_DATE_FIELD) valueS (9, 'Y', TO_DATE('2002-05-23', 'YYYY-MM-DD'));
INSERT INTO ROYAL_MTABLE (RM_INT_FIELD, RM_STR_FIELD, RM_DATE_FIELD) valueS (10, 'Y', TO_DATE('2002-10-10 8:23:33', 'YYYY-MM-DD HH:MI:SS'));
Q50.能介绍一下connect by的用法吗?
A. connect by子句提供了遍历“树”的手段。
假设有这样一个表:CREATE TABLE ROYAL_TREETABLE (ID INTEGER, PARENT_ID INTEGER, NAME VARCHAR2(32));
表中有如下数据:
ID PARENT_ID NAME
-----------------
2 1 AAA
3 1 BBB
4 2 CCC
5 2 DDD
6 4 EEE
8 7 GGG
假如我们现在需要从NAME = 'EEE'的记录开始,向上查找所有有父子关系的记录,可执行如下SQL语句:
SELECT * FROM ROYAL_TREETABLE START WITH NAME = 'EEE' CONNECT BY ID = PRIOR PARENT_ID;
ID PARENT_ID NAME
-----------------
6 4 EEE
4 2 CCC
2 1 AAA

分享到:
评论

相关推荐

    Oracle user script HR OE PM QS SH 用户创建脚本

    标题中提到的“Oracle user script HR OE PM QS SH 用户创建脚本”,涉及的是Oracle数据库中用于创建特定用户和模式的脚本。这些脚本通常用于快速搭建一个具有特定数据和对象的环境,以便于开发人员和数据库管理员...

    众为兴 QS7、QS2伺服USB转串口驱动程序 for XP.zip

    标题中的“众为兴 QS7、QS2伺服USB转串口驱动程序 for XP.zip”表明这是一个针对众为兴品牌下的QS7和QS2型号伺服电机的驱动程序,专为Windows XP操作系统设计。这类驱动程序是计算机与硬件设备之间通信的关键,确保...

    Vue中qs插件的使用详解

    qs库提供了将对象转换成URL参数(qs.stringify()方法)和将URL参数解析成对象(qs.parse()方法)的功能。 首先,我们要了解 qs 是什么。qs库本质上是一个用于处理URL查询字符串的库,它不仅支持基本的解析和序列化...

    node js qs库 离线安装版本

    Node.js QS库,全称是Querystring,是一个用于解析和序列化URL查询字符串的轻量级库。在Node.js环境中,QS库广泛应用于处理HTTP请求中的GET参数或POST数据,尤其是当这些数据以URL编码格式存在时。这个库非常实用,...

    6QS Excel插件

    "6QS Excel插件"是一款专门针对质量管理和统计分析设计的工具,它可以作为Minitab的替代品,直接在Excel环境中提供强大的数据分析功能。这款插件的出现,使得用户无需离开熟悉的Excel界面,就能进行复杂的数据处理和...

    qs.6.7.min.rar

    描述中提到,“一般引入qs库都赋值为qs”,这是因为在导入QS库后,我们通常会将它赋值给一个变量,比如`var qs = require('qs')`或`import qs from 'qs'`,在浏览器环境中,如果QS库全局暴露,那么我们可以直接通过`...

    慢sql监控mysql及oracle.pdf

    数据库监控 MySQL 及 Oracle 数据库监控是指对数据库的运行状态和性能进行监控和优化,以确保数据库的稳定运行和高效运作。MySQL 和 Oracle 是两种常用的数据库管理系统,本文将介绍 MySQL 和 Oracle 的慢查询监控...

    rqs.exe rqs_exe

    **rqs.exe与IIS6:Windows服务器管理的幕后组件** `rqs.exe`是Internet Information Services (IIS) 6.0中的一个重要组件,它全称为Remote Queue Manager Service(远程队列管理服务)。IIS是由微软开发的一款广泛...

    QS9000完全手册

    ### QS9000完全手册知识点详述 #### 一、QS9000概述 - **起源与发展**:QS9000是一项国际性的质量管理体系标准,最初于1994年由美国三大汽车制造商——通用汽车、福特汽车与克莱斯勒联合发布,并在次年进行了修订...

    中税之星QS-630KII打印机驱动程序forwin764位

    中税之星QS-630KII打印机驱动程序是一款可以有效解决中税之星QS-630KII打印机在使用过程中出现的一些问题的驱动工具,本站提供了中税之星QS-630KII驱动下载地址,有需要的朋友们可以前来下载使用。 中税之星QS-630...

    Oracle公司Oracle培训教材.doc

    Oracle提供的几个示例方案,如scott、hr、oe、pm、qs和sh,用于演示不同功能和应用场景,帮助初学者理解数据库的工作原理和常见业务需求。 数据库和实例是Oracle的核心概念。数据库是实际存储数据的文件集合,而...

    前端开源库-qs-kit

    **前端开源库-qs-kit详解** 在Web开发中,前端工程师常常需要处理URL中的查询字符串(query string),以便获取或设置参数。`qs-kit`就是这样一款专为前端开发者设计的开源工具库,它专注于查询字符串的操作,提供...

    空气质量传感器QS-01技术资料

    ### 知识点一:QS-01空气质量传感器概述 #### 1.1 产品简介 - **QS-01**是一款专为检测多种空气污染物而设计的**二氧化锡半导体气体传感器**。它能有效监测挥发性有机化合物(VOCs)等常见污染物。 - **特性**:该...

    QS坐标计算软件

    "QS坐标计算软件"是一款专为IT行业设计的高效工具,主要用于进行各种坐标的精确计算。在工程测量、地理信息系统(GIS)、建筑规划等领域中,坐标计算是必不可少的工作环节,这款软件提供了便捷的解决方案。 软件的...

    基恩士Qs伺服电机

    ### 基恩士QS伺服电机相关知识点 #### 一、QS伺服电机概述 基恩士QS伺服电机是一款集成了步进电机与伺服技术优势的新型电机产品。它结合了传统步进电机的高响应性和高转矩特性,并且通过搭载编码器实现了伺服电机...

    雷斯杰QS-630K针式打印机驱动

    雷斯杰QS-630K针式打印机驱动是一款专为雷斯杰QS-630K型号的打印机设计的驱动程序,对于确保打印机正常工作至关重要。针式打印机在商业和办公环境中广泛使用,因其能打印多联表格、发票和收据等而备受青睐。驱动程序...

    QS 9000质量体系

    QS 9000质量体系是针对汽车行业的特定质量管理体系,由美国的三大汽车制造商——通用汽车、福特汽车和克莱斯勒共同制定。这个体系旨在确保供应商能够提供高质量的产品和服务,减少缺陷,防止浪费,从而提升整个汽车...

    QS认证查询系统

    QS认证查询系统提供准确、权威、及时、公正的免费QS认证查询,让您吃得安心、用得放心!

    前端开源库-qs-middleware

    **前端开源库-qs-middleware** 是一个专为前端开发者设计的开源库,主要用于处理URL中的查询字符串(query string)。在Web开发中,查询字符串是URL的重要组成部分,它用于传递参数到服务器。qs-middleware的出现,...

Global site tag (gtag.js) - Google Analytics