⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 常用sql语句词典.htm

📁 平时搜集的数据库操作文档
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0058)http://www.wanglimin.com/Tutorial/ORACLE/DOCS/oracle04.htm -->
<HTML><HEAD><TITLE>常用SQL语句词典</TITLE>
<SCRIPT language=JavaScript src=""></SCRIPT>

<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1479" name=GENERATOR>
<STYLE type=text/css>TD {
	FONT-SIZE: 9pt; LINE-HEIGHT: 15px
}
BODY {
	FONT-SIZE: 9pt; LINE-HEIGHT: 15px
}
A:link {
	COLOR: blue; TEXT-DECORATION: none
}
A:visited {
	COLOR: #54646d; TEXT-DECORATION: none
}
A:active {
	TEXT-DECORATION: none
}
A:hover {
	COLOR: #000080; TEXT-DECORATION: underline
}
</STYLE>
</HEAD>
<BODY bgColor=#008080>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=0 cellPadding=4 width=720 bgColor=#ffffff border=0>
  <TBODY>
  <TR>
    <TD vAlign=top width="100%" bgColor=#ffffff><A 
      href="http://www.wanglimin.com/Tutorial/ORACLE/index.asp">首页</A>--&gt;<A 
      href="http://www.wanglimin.com/Tutorial/ORACLE/index.html"><B>Oracle</B></A></TD></TR>
  <TR>
    <TD vAlign=top width="100%" bgColor=#ffffff><FONT color=#ffffff size=3>
      <P align=center></FONT><FONT size=4><B>常用SQL语句词典</B></FONT></P>
      <HR>

      <TABLE cellSpacing=0 cellPadding=0 width=720 align=center border=0>
        <TBODY>
        <TR>
          <TD>Q0.创建用户 <BR>【前提】<BR>你必须有CREATE USER系统权限。当你使用CREATE 
            USER语句创建一个新用户后,该用户的权<BR>限是空的,要登录到ORACLE该用户必须有CREATE SESSION 
            系统权限。因此在创建用户之后<BR>,你至少应该授予用户CREATE SESSION 
            权限。<BR><BR>【示例】<BR><BR>创建一个用户的例子<BR><BR>如果你创建一个新用户使用PASSWORD 
            EXPIRE项,在尝试登陆ORACLE之前该用户的密码必须<BR>改变。你可以创建该用户使用以下语句:<BR><BR>CREATE 
            USER sidney&nbsp;<BR>IDENTIFIED BY welcome&nbsp;<BR>DEFAULT 
            TABLESPACE cases_ts&nbsp;<BR>QUOTA 10M ON 
            cases_ts&nbsp;<BR>TEMPORARY TABLESPACE temp_ts&nbsp;<BR>QUOTA 5M ON 
            system&nbsp;<BR>PROFILE engineer&nbsp;<BR>PASSWORD 
            EXPIRE;&nbsp;<BR><BR>该用户有以下特征:<BR>密码:welcome<BR>缺省表空间: 
            cases_ts,有10M的使用权。<BR>临时表空间: 
            temp_ts<BR>在系统表空间SYSTEM有5M的使用权。<BR>使用数据库资源定义在配置文件engineer中。<BR>一个过期密码,在登陆ORACLE之前该用户的密码必须改变。<BR><BR>【关键字和参数】<BR>user<BR>标识要被创建的用户名称。<BR><BR>IDENTIFIED<BR>IDENTIFIED 
            项让你指出ORACLE如何鉴别该用户。<BR><BR>BY password&nbsp;<BR>BY password 
            项让你创建一个本地用户并指出该用户必须使用指定密码登录ORACLE。<BR>密码只包含单字节字符。<BR><BR>DEFAULT 
            TABLESPACE<BR>指出所创用户的缺省表空间。如果你忽略该项,缺省值是SYSTEM表空间。<BR><BR>TEMPORARY 
            TABLESPACE&nbsp;<BR>指出所创用户的临时表空间。如果你忽略该项,缺省值是SYSTEM表空间。&nbsp;<BR><BR>QUOTA<BR>使用QUOTA项指定允许用户使用的表空间大小,以K或M为单位的整数值。<BR>一个用户可以拥有多个表空间的多个QUOTA值。<BR><BR>UNLIMITED&nbsp;<BR>允许用户无限制的使用表空间。<BR><BR>PROFILE&nbsp;<BR>指你想给用户分配哪个配置文件。配置文件限制用户使用数据库的资源量。如果忽略该<BR>项,ORACLE为用户指定缺省配置文件。<BR><BR>PASSWORD 
            EXPIRE<BR>指定用户密码的过期。这个设置迫使用户(或DBA)在登录到ORACLE之前必须修改密码<BR>。&nbsp;<BR><BR>Q1.怎样创建表?<BR><BR>A. 
            CREATE TABLE ROYAL_MTABLE<BR><BR>(<BR><BR>RM_INT_FIELD 
            INTEGER,<BR><BR>RM_STR_FIELD VARCHAR2(64)<BR><BR>)<BR><BR>CREATE 
            TABLE ROYAL_DTABLE<BR><BR>(<BR><BR>RD_INT_FIELD 
            INTEGER,<BR><BR>RD_STR_FIELD 
            VARCHAR2(32)<BR><BR>)<BR><BR>Q2.怎样删除表?<BR><BR>A. DROP TABLE 
            ROYAL_DTABLE;<BR><BR>Q3.怎样创建视图?<BR><BR>A. CREATE OR REPLACE VIEW 
            ROYAL_MDVIEW AS<BR><BR>SELECT T1.RM_STR_FIELD AS F1, T2.RD_STR_FIELD 
            AS F2 FROM ROYAL_MTABLE T1, ROYAL_DTABLE T2<BR><BR>WHERE 
            T1.RM_INT_FIELD = T2.RM_INT_FIELD<BR><BR>Q4.怎样删除视图?<BR><BR>A. DROP 
            VIEW ROYAL_MDVIEW;<BR><BR>Q5.怎样给表添加字段?<BR><BR>A. ALTER TABLE 
            ROYAL_DTABLE ADD RM_INT_FIELD 
            INTEGER;<BR><BR>Q6.怎样删除表中某个字段?<BR><BR>A. ALTER TABLE ROYAL_DTABLE 
            DROP COLUMN RM_INT_FIELD;<BR><BR>Q7.怎样给某个字段添加约束?<BR><BR>A. ALTER 
            TABLE ROYAL_MTABLE MODIFY RM_STR_FIELD NOT 
            NULL;<BR><BR>Q8.怎样去除某个字段上的约束?<BR><BR>A. ALTER TABLE ROYAL_MTABLE 
            MODIFY RM_STR_FIELD NULL;<BR><BR>Q9.怎样给表加上主键?<BR><BR>A. ALTER TABLE 
            ROYAL_MTABLE ADD CONSTRAINT PK_ROYAL_MTABLE PRIMARY KEY 
            (RM_INT_FIELD);<BR><BR>Q10.怎样删除表的主键?<BR><BR>A. ALTER TABLE 
            ROYAL_MTABLE DROP CONSTRAINT PK_ROYAL_MTABLE 
            CASCADE;<BR><BR>Q11.怎样给表添加一个外键?<BR><BR>A. ALTER TABLE ROYAL_DTABLE 
            ADD CONSTRAINT FK_ROYAL_DTABLE FOREIGN KEY (RM_INT_FIELD) REFERENCES 
            ROYAL_MTABLE (RM_INT_FIELD) ON DELETE 
            CASCADE;<BR><BR>Q12.怎样删除表的一个外键?<BR><BR>A. ALTER TABLE ROYAL_DTABLE 
            DROP CONSTRAINT FK_ROYAL_DTABLE;<BR><BR>Q13.怎样给字段加上CHECK?<BR><BR>A. 
            ALTER TABLE ROYAL_MTABLE ADD CONSTRAINT CHK_RM_STR_FIELD CHECK 
            (RM_STR_FIELD IN ('Y','N'));<BR><BR>Q14.怎样去掉字段上的CHECK?<BR><BR>A. 
            ALTER TABLE ROYAL_MTABLE DROP CONSTRAINT 
            CHK_RM_STR_FIELD;<BR><BR>Q15.怎样给字段设置默认值?<BR><BR>A. ALTER TABLE 
            ROYAL_DTABLE MODIFY RD_STR_FIELD DEFAULT 
            'ROYAL';<BR><BR>Q16.怎样移去字段的默认值?<BR><BR>A. ALTER TABLE ROYAL_DTABLE 
            MODIFY RD_STR_FIELD DEFAULT NULL;<BR><BR>Q17.怎样创建索引?<BR><BR>A. 
            CREATE UNIQUE INDEX IDX_ROYAL_DTABLE ON ROYAL_DTABLE 
            (RM_INT_FIELD);<BR><BR>Q18.怎样删除索引?<BR><BR>A. DROP INDEX 
            IDX_ROYAL_DTABLE;<BR><BR>Q19.怎样创建用户?<BR><BR>A. CREATE USER TESTUSER 
            IDENTIFIED EXTERNALLY DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE 
            TEMP PROFILE DEFAULT;<BR><BR>Q20.怎样删除用户?<BR><BR>A. DROP USER 
            TESTUSER CASCADE;<BR><BR>Q21.怎样将对象权限(object 
            privileges)授予用户?<BR><BR>A. GRANT SELECT, INSERT, UPDATE, DELETE, 
            ALTER ON ROYAL_MTABLE TO TESTUSER;<BR><BR>GRANT INSERT, UPDATE, 
            DELETE ON ROYAL_DTABLE TO TESTUSER;<BR><BR>GRANT SELECT, ALTER ON 
            ROYAL_DTABLE TO TESTUSER WITH GRANT 
            OPTION;<BR><BR>Q22.怎样从用户收回对象权限?<BR><BR>A. REVOKE SELECT, INSERT, 
            UPDATE, DELETE, ALTER ON ROYAL_DTABLE FROM 
            TESTUSER;<BR><BR>Q23.怎样将角色权限(role privileges)授予用户?<BR><BR>A. GRANT 
            CONNECT TO TESTUSER WITH ADMIN OPTION;<BR><BR>GRANT DBA TO 
            TESTUSER;<BR><BR>Q24.怎样从用户收回角色权限?<BR><BR>A. REVOKE DBA FROM 
            TESTUSER;<BR><BR>Q25.怎样将系统权限(system privileges)授予用户?<BR><BR>A. GRANT 
            ALTER ANY TABLE TO TESTUSER WITH ADMIN 
            OPTION;<BR><BR>Q26.怎样从用户收回系统权限?<BR><BR>A. REVOKE ALTER ANY TABLE 
            FROM TESTUSER;<BR><BR>Q27.怎样创建序列?<BR><BR>A. CREATE SEQUENCE 
            RM_INT_FIELD_SEQ<BR><BR>MINVALUE 1<BR><BR>MAXVALUE 
            999999999999999999999999999<BR><BR>START WITH 1<BR><BR>INCREMENT BY 
            1<BR><BR>CACHE 10<BR><BR>ORDER;<BR><BR>Q28.怎样删除序列?<BR><BR>A. DROP 
            SEQUENCE RM_INT_FIELD_SEQ;<BR><BR>Q29.怎样获取序列值?<BR><BR>A. SELECT 
            RM_INT_FIELD_SEQ.NEXTVAL FROM DUAL;<BR><BR>Q30.怎样创建角色?<BR><BR>A. 
            CREATE ROLE TESTROLE;<BR><BR>Q31.怎样删除角色?<BR><BR>A. DROP ROLE 
            TESTROLE;<BR><BR>Q32.怎样将对象权限(object privileges)授予角色?<BR><BR>A. GRANT 
            SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE TO 
            TESTROLE;<BR><BR>Q33.怎样从角色收回对象权限?<BR><BR>A. REVOKE SELECT, INSERT, 
            UPDATE, DELETE, ALTER ON ROYAL_MTABLE FROM 
            TESTROLE;<BR><BR>Q34.怎样将角色权限(role privileges)授予角色?<BR><BR>A. GRANT 
            DBA TO TESTROLE;<BR><BR>Q35.怎样从角色收回角色权限?<BR><BR>A. REVOKE DBA FROM 
            TESTROLE;<BR><BR>Q36.怎样将系统权限(system privileges)授予角色?<BR><BR>A. GRANT 
            CREATE TABLE TO TESTROLE;<BR><BR>Q37.怎样从角色收回系统权限?<BR><BR>A. REVOKE 
            CREATE TABLE FROM 
            TESTROLE;<BR><BR>Q38.不等于条件有哪几种写法?(茴香豆问题:))<BR><BR>A. SELECT * FROM 
            ROYAL_MTABLE WHERE RM_STR_FIELD != 'Y';<BR><BR>SELECT * FROM 
            ROYAL_MTABLE WHERE RM_STR_FIELD ^= 'Y';<BR><BR>SELECT * FROM 
            ROYAL_MTABLE WHERE RM_STR_FIELD &lt;&gt; 
            'Y';<BR><BR>Q39.like子句的用法?<BR><BR>A. SELECT * FROM ROYAL_DTABLE 
            WHERE RD_STR_FIELD LIKE '%Y%';<BR><BR>SELECT * FROM ROYAL_DTABLE 
            WHERE RD_STR_FIELD LIKE 
            '_Y%';<BR><BR>Q40.请举出一个where子查询简单例子?<BR><BR>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'));<BR><BR>Q41.Oracle常用字符串处理函数有哪些?<BR><BR>A. || 连接两个字符串; 
            LENGTH 字符串长度; TRIM/LTRIM/RTRIM 截断串左(右)指定字符串(包括空串); LOWER/UPPER 
            将字符串转换为小/大写,等等。<BR><BR>例如:SELECT 
            RM_INT_FIELD||'--'||RM_STR_FIELD||'YES' FROM 
            ROYAL_MTABLE;<BR><BR>Q42.Oracle支持哪些数字处理函数?<BR><BR>A. 
            Oracle支持所有常用数字函数,包括(但不限于)+、-、*、/、ABS、COS、EXP、LN、LOG、MOD、POWER、ROUND、SIN、SINH、SQRT、TAN、TRUNC、AVG、COUNT、MAX、MIN、SUM、GREATEST、LEAST等等。<BR><BR>例如:<BR><BR>SELECT 
            GREATEST(3, 4, 5)*4 FROM DUAL;&nbsp;<BR><BR>SELECT POWER(2,3) FROM 
            DUAL;<BR><BR>Q43.怎样取得数据库服务器当前日期、时间?<BR><BR>A. SELECT SYSDATE FROM 
            DUAL;&nbsp;<BR><BR>SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') 
            FROM DUAL;<BR><BR>Q44.怎样将字符串转换为日期、时间格式?<BR><BR>A. SELECT 
            TO_DATE('2002-11-27', 'YYYY-MM-DD') FROM DUAL;<BR><BR>SELECT 
            TO_DATE('2002-11-27 09:28:55', 'YYYY-MM-DD HH:MI:SS') FROM 
            DUAL;<BR><BR>Q45.常用日期函数有哪些?<BR><BR>A. NEXT_DAY LAST_DAY ADD_MONTHS 
            MONTHS_BETWEEN等等。<BR><BR>例如:SELECT LAST_DAY(SYSDATE) FROM 
            DUAL;<BR><BR>Q46.能给出一个DECODE函数用法的例子吗?<BR><BR>A. 
            DECODE函数的格式为DECODE(value, if1, then1, if2, 
            then2...,else)。假设表ROYAL_DTABLE中有如下数据:<BR><BR>RD_INT_FIELD 
            RD_STR_FIELD 
            RM_INT_FIELD<BR>--------------------------------------<BR>1 royal 
            1<BR>2 bill 2<BR>3 joy 1<BR><BR>请观察如下SQL语句输出结果。<BR>SELECT 
            DECODE(RD_STR_FIELD, 'royal', 'royaltest', 'bill', 'billgates', 
            RD_STR_FIELD) AS DC FROM 
            ROYAL_DTABLE;<BR>DC<BR>---------<BR>royaltest<BR>billgates<BR>joy<BR><BR>Q47.能给出一个group 
            by、having和order by用法的例子吗?<BR><BR>A. SQL&gt; SELECT * FROM 
            ROYAL_MTABLE;<BR><BR>RM_INT_FIELD 
            RM_STR_FIELD<BR>-------------------------<BR>1 Y<BR>2 N<BR>3 
            Y<BR><BR>SQL&gt; SELECT * FROM ROYAL_DTABLE;<BR><BR>RD_INT_FIELD 
            RD_STR_FIELD 
            RM_INT_FIELD<BR>--------------------------------------<BR>1 royal 
            1<BR>2 bill 2<BR>3 joy 1<BR><BR>SQL&gt; SELECT RM_INT_FIELD, 
            SUM(RD_INT_FIELD) FROM ROYAL_DTABLE GROUP BY RM_INT_FIELD HAVING 
            SUM(RD_INT_FIELD) &gt;= 2 ORDER BY SUM(RD_INT_FIELD) 
            ASC;<BR><BR>RM_INT_FIELD 
            SUM(RD_INT_FIELD)<BR>------------------------------<BR>2 2<BR>1 
            4<BR><BR>Q48.Oracle有哪些常用数据字典?<BR><BR>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等等。<BR><BR>例如:SELECT 
            * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 
            'FK_ROYAL_DTABLE';<BR><BR>Q49.怎样将日期、时间插入date型字段中?<BR><BR>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'));<BR><BR>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'));<BR><BR>Q50.能介绍一下connect by的用法吗?<BR><BR>A. connect 
            by子句提供了遍历“树”的手段。<BR><BR>假设有这样一个表:CREATE TABLE ROYAL_TREETABLE (ID 
            INTEGER, PARENT_ID INTEGER, NAME 
            VARCHAR2(32));<BR><BR>表中有如下数据:<BR><BR>ID PARENT_ID 
            NAME<BR>-----------------<BR>2 1 AAA<BR>3 1 BBB<BR>4 2 CCC<BR>5 2 
            DDD<BR>6 4 EEE<BR>8 7 GGG<BR><BR>假如我们现在需要从NAME = 
            'EEE'的记录开始,向上查找所有有父子关系的记录,可执行如下SQL语句:<BR><BR>SELECT * FROM 
            ROYAL_TREETABLE START WITH NAME = 'EEE' CONNECT BY ID = PRIOR 
            PARENT_ID;<BR><BR>ID PARENT_ID NAME<BR>-----------------<BR>6 4 
            EEE<BR>4 2 CCC<BR>2 1 AAA</TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD width="100%" height=6>
      <P align=center></P></TD></TR>
  <TR>
    <TD width="100%" height=6>
      <HR color=#808080 SIZE=1>
    </TD></TR></TBODY></TABLE></CENTER></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -