知识大全 oracle数据库中sql基础

Posted

篇首语:博观而约取,厚积而薄发。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 oracle数据库中sql基础相关的知识,希望对你有一定的参考价值。

   一 关系数据库的一些概念     主键的值一般不可以改变     外键 指向另一个表或本表的主键或唯一键的字段 外键的值一定要和某一主键相同 或者为空      数据库对像 表 视图 序列 索引 同义词 程序(进程 函数 sql和pl/sql数据) sql mand 类别    data retrieval数据检索:select  data manipulationlanguage (DML)数据操作语言:insert update delete  data definition language (DDL)数据定义语言 create alter drop rename truncate  transaction control事务控制:mit rollback savepoint  data control language(DCL)数据控制语言 grant revoke  DCL 和DDL命令的执行会导致一次隐式提交 之前未提交的操作(包括DML 命令)都会提交写入日志文件 并在适当地时候写入数据文件      二 SQL的语法     ) 连接号 ||     ) 把两个字符连接起来  eg:select game_card_type_id||name from game_card_type;     ) select distinct dept_id title from emp 对多个字段的唯一     ) order by desc(降序)  order by asc(升序)     ) where column is (not) null     ) like _a%   _表示一个字符 %表示多少字符  like %x\\_y% escape \\ :显示包括x_y的字符     ) where lumn(+)=lumn  place the operator on the side of the join where there is no value to join to      ) 联接类型:  equijoin:等式查询  non_equijoin:不等式查询  self:自己和自己建立关联  out join:where lumn=lumn(+)  可以用的操作符是 = and 不可以用 or in      ) COUNT 函数所用的列包含空值时 空值行被忽略      ) where 后的in any all 的区别  in 等于子查询的任何一个数  any 与子查询的每一个值相比  只要比其中一个大(小)就可以了  all:与子查询的所有值相比要比所有的的都大(小)  !=ALL作用跟NOT IN 一样     三 SQL*PLUS的环境(可以在glogin sql中定义初始参数)     ) START 命令用以执行一个已储存的文件 等同于@     ) SAVE命令用以创建一个文件     ) EDIT命令用以调用编辑器编辑已存文件的内容     ) CHANGE 是SQL*Plus的编辑命令 用于在当前一行把旧文段转换为新文段     ) DEL 命令用以删除文本中一行或多行文字     ) SPOOL命令用以把查询结果储存在一个已有文件中 注意与SAVE区别     ) GET命令用以一个文件的内容写进一个SQL块中     ) SPOOL OUT命令用以把文件的结果发送到系统打印机      ) set pause off/on:设置页面的滚动 按enter看下一页      ) PAGESIZE 指定每页显示的行的数值      ) LONG 设置LONG类型数据显示的最大宽度     ) FEEDBACK 设置查询返回记录的最大值     ) DESCRIBE :用于显示表和视图的结构 同义词 或指定函数和过程的详述      ) Timing 可以看到语句执行的时间     ) Autotrace 可以看到sql的执行计划 sysdba执行/home/oracle/product/ /sqlplus/admin/plustrce sql脚本 而且必须把plustrace角色赋给执行用户 执行用户必须运行/home/oracle/product/ /rdbms/admin/utlxplan sql     ) 在各种数据类型中 只有NUMBER数据类型的默认显示是靠右对齐的 而CHAR DATE和VARCHAR 是靠左对齐的     ) QUIT 是SQL*PLUS命令 用以结束一个SQL*PLUS的对话      ) ttitle:  ttitle selina 设select 的结果的抬头为selina  tti 显示ttitle的状态  tti off/on  btitle end 设结果的尾部     ) Column     a) column name heading 名字 format a     b) column id justify left format     c) column start_date format a null not hired //当字段为空的时候则显示成not hired    d) column :显示所有的column设置    e) column columnname:显示某一个字段的设置    f) clear column :清除所有column设置    g) column columnname clear:清除某一字段的设置    h) 以上的column可用col代替 clear可以用cle代替     )定义变量    用& 由用户输入变量值 此变量可以存在于where后 做为整个查询语句的变量 也可以在order by 后 做为字段的变量 也可以放在select 后 做为字段或表达式的变量     用&& 如果多个地方引用此变量 只用输入一次    SQL> SELECT empno ename job &&column_name  FROM emp  ORDER BY &column_name;    accept 由用户输入变量值  accept 变量名 datatype prompt 告诉用户需要输入的信息 hide  引用的时候 &变名  define(undefined) 一开始就定义变量值     四 函数      字符函数    lower:把字符转成小写  upper:把字符转成大写  initcap:把单词的第一个字母变成大写  concat:连接字符 concat( good morning )=goodmoring  SUBSTR (column\\expression m[ n]) 用于对字符串进行截取操作 从第m个位置开始 把其后的连续n个字符的部分截取下来 如果m位负值 则从末尾开始计算   eg:substr( string ) =str  substr( string )=ing  INSTR( String r )=   LPAD(sal * ) =*******sal  length: 用于返回表达式中的字符数 注意返回的是NUMBER   NVL(expression expression )  NVL 函数用以把一个空值转换为一个实值 如   NVL( /quantity ) 要是quantity为空值 该函数返回一个   如果两个字段类型不同必须进行转换   Min():返回最小值 如果是字符 A<a     数学函数    round:四舍五入  round( )=   round( )=   trunc: 截断  trunc( )=   trunc( )=   mod:  mod(m n):m n*flood(m/n)   file://flood是取整数     日期函数:    a) months_beeen(date date ) 算date 和date 之间的月的数量 可以是小数可以是负数  months_beeen( sep jan )=     b) add_months(date n) 为date加上N个月 N只可以是整数    c) next_date(date char ) 查找date的下一个星期N  next_date( sep FRIDAY )= SEP     d) last_day(date):查找date月的最后一天     e) rount(date) 把日期四舍五入    f) rount( MAY MONTH )= JUN     g) rount( MAY YEAR )= JAN     h) trunc(date) 把日期截断    i) trunc ( MAY MONTH )= MAY     j) trunc ( MAY YEAR )= JAN     k) 日期中RR与YY的区别 RR格式对日期作类似于舍入的操作 YY格式对日期作类似于截取的操作  RR  YY   oct    oct    oct    oct   用法 select to_char(sysdate YY ) from dual;  select to_char(to_date( RR MM DD ) YYYY MM DD ) from dual;  select to_char(to_date( YY MM DD ) YYYY MM DD ) from dual;     转换函数  TO_CHAR   TO_CHAR(date fmt ) fm前缀用来去除首尾的空字符或   TO_CHAR(total fm$ )    如果想转成$ 那就要写成fm$     可以把日期转换成字符  TO_CHAR(log_time MM/YY )  TO_CHAR(lot_time fmdd of; mm yyyy )    具体格式如下  HH :MI:SS AM : : pm  DD of MONTH of MAY  Ddspth fourteenth  Ddsp fourteen  ddth th  YYYY   MM   MONTH MAY     group 函数avg count max min stddev sum variance     五 数据字典    用户表 由用户创建 包含用户的内容    数据字典 由系统建立 包含数据库的信息    前缀:  USER_ 由用户创建 显示用户拥有的所有对象     ALL_ 由受权的用户访问 用户可以访问的对象名     DBA_ 由受了DBA权限的人访问 显示数据库的所有对象     V$ 由受了DBA权限的人访问 显示数据字典数据库服务器性能信息 通常是DBA用于显示系统的统计表和动态性能表     数据字典    DICTIONARY数据字典提供用户可以访问的数据字典表和视图的描述   USER_OBJECTS显示用户拥有的对象   USER_VIEWS显示用户拥有的视图   USER_TABLES显示用户拥有的表   ALL_TABLES显示用户可以访问的表   ALL_VIEWS显示用户可以访问的视图   USER_CATALOG显示用户拥有的所有表 视图 同义词和序列   USER_CONS_COLUMNS显示带约束的列   DBA_CONS_COLUMNS显示数据库里的所有表 视图和同义词   USER_TAB_PRIVS_MADE 本用户赋给别的用户赋予权限的表  USER_TAB_PRIVS_RECD 其他用户给本用户赋予权限的表  USER_COL_PRIVS_MADE 本用户赋给别的用户赋予权限的字段  USER_COL_PRIVS_RECD 其他用户给本用户赋予权限的字段  ROLE_SYS_PRIVS:有什么系统权限赋给role  ROLE_TAB_PRIVS:有什么关于表的权限赋给role  USER_ROLE_PRIVS:role和用户的对应表    常用的表    user_objects 用户对象表(存储用户的所有对象)存储以下的类型的数据  Selina Sql>select distinct object_type from user_objects;  INDEX  LOB  PACKAGE  PACKAGE BODY  PROCEDURE  SEQUENCE  SYNONYM  TABLE  TRIGGER  VIEW  User_catalog:用户类表 存储以下的类型的数据  Selina Sql>select distinct table_type from user_catalog;  SEQUENCE  SYNONYM  TABLE  VIEW cha138/Article/program/Oracle/201311/17719

相关参考

知识大全 ORACLE中常用的SQL语法和数据对象

ORACLE中常用的SQL语法和数据对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一数据控

知识大全 Oracle数据库编程动态SQL

Oracle数据库编程动态SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  动态SQL  编

知识大全 Oracle数据库PL/SQL介绍

Oracle数据库PL/SQL介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是PL/S

知识大全 Oracle PL/SQL语言基础

OraclePL/SQL语言基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PL/SQL是O

知识大全 数据批量sql*load导入Oracle数据库

数据批量sql*load导入Oracle数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  S

知识大全 oracle数据库PL/SQL序列(组图)

oracle数据库PL/SQL序列(组图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  序列是

知识大全 Oracle数据库-PL/SQL整理(1)

Oracle数据库-PL/SQL整理(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  获取系

知识大全 ORACLE入门之查看数据库的SQL

ORACLE入门之查看数据库的SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查看表空间的

知识大全 oracle附加的字符串

  现在你可以通过字符串建立索引提高性能  许多PL/SQL程序对数据进行操作通常是通过使用SQL在数据库中直接操作数据你经常还需要在PL/SQL程序本身内声明和管理数据这个程序数据可能由一些单独的值

知识大全 Oracle数据库维护常用SQL语句集合(3)

Oracle数据库维护常用SQL语句集合(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  性