常用SQL语句词典

简介:
Q0.创建用户 
【前提】
你必须有CREATE USER系统权限。当你使用CREATE USER语句创建一个新用户后,该用户的权
限是空的,要登录到ORACLE该用户必须有CREATE SESSION 系统权限。因此在创建用户之后
,你至少应该授予用户CREATE SESSION 权限。

【示例】

创建一个用户的例子

如果你创建一个新用户使用PASSWORD EXPIRE项,在尝试登陆ORACLE之前该用户的密码必须
改变。你可以创建该用户使用以下语句:

CREATE USER sidney 
IDENTIFIED BY welcome 
DEFAULT TABLESPACE cases_ts 
QUOTA 10M ON cases_ts 
TEMPORARY TABLESPACE temp_ts 
QUOTA 5M ON system 
PROFILE engineer 
PASSWORD EXPIRE; 

该用户有以下特征:
密码:welcome
缺省表空间: cases_ts,有10M的使用权。
临时表空间: temp_ts
在系统表空间SYSTEM有5M的使用权。
使用数据库资源定义在配置文件engineer中。
一个过期密码,在登陆ORACLE之前该用户的密码必须改变。

【关键字和参数】
user
标识要被创建的用户名称。

IDENTIFIED
IDENTIFIED 项让你指出ORACLE如何鉴别该用户。

BY password 
BY password 项让你创建一个本地用户并指出该用户必须使用指定密码登录ORACLE。
密码只包含单字节字符。

DEFAULT TABLESPACE
指出所创用户的缺省表空间。如果你忽略该项,缺省值是SYSTEM表空间。

TEMPORARY TABLESPACE 
指出所创用户的临时表空间。如果你忽略该项,缺省值是SYSTEM表空间。 

QUOTA
使用QUOTA项指定允许用户使用的表空间大小,以K或M为单位的整数值。
一个用户可以拥有多个表空间的多个QUOTA值。

UNLIMITED 
允许用户无限制的使用表空间。

PROFILE 
指你想给用户分配哪个配置文件。配置文件限制用户使用数据库的资源量。如果忽略该
项,ORACLE为用户指定缺省配置文件。

PASSWORD EXPIRE
指定用户密码的过期。这个设置迫使用户(或DBA)在登录到ORACLE之前必须修改密码
。 

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;

Q21.怎样将对象权限(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等等。

例如:

S



















本文转自loveme2351CTO博客,原文链接:http://blog.51cto.com/loveme23/7941 ,如需转载请自行联系原作者



相关文章
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
373 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
SQL 存储 缓存
一文搞懂MySQL中一条SQL语句是如何执行的
一文搞懂MySQL中一条SQL语句是如何执行的
|
SQL 程序员 开发工具
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
440 0
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
|
SQL 关系型数据库 MySQL
SQL语句优化方法
SQL语句优化方法
137 0
|
SQL 数据库 数据安全/隐私保护
使用SQL语句 查询电话号码 加密显示
使用SQL语句 查询电话号码 加密显示
181 0
使用SQL语句 查询电话号码 加密显示
|
SQL 存储 安全
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
|
SQL 存储 关系型数据库
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(2)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(2)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(2)
|
存储 SQL 缓存
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(1)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(1)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(1)
|
SQL 关系型数据库 MySQL
SQL常用语句
SQL常用语句
112 0
SQL常用语句