Oracle 基础
oracle四舍五入关键字: orcale基础
一、关系数据库的一些概念
 
 1、主键的值一般不可以改变
 
 2、外键:指向另一个表或本表的主键或唯一键的字段。外键的值一定要和某一主键相同,或者为空。
 
 3、数据库对像:表,视图,序列,索引,同义词,程序(进程,函数,sql和pl/sql数据)4、sql command 类别
 
  data retrieval数据检索:select
  data manipulationlanguage (DML)数据操作语言:insert,update,delete
  data definition language (DDL)数据定义语言:create,alter,drop,rename,truncate
  transaction control事务控制:commit,rollback,savepoint
  data control language(DCL)数据控制语言:grant,revoke
  DCL 和DDL命令的执行会导致一次隐式提交,之前未提交的操作(包括DML 命令)都会提交写入日志文件,并在适当地时候写入数据文件。
 
 二、SQL的语法
 
 1) 连接号:||
 
 2) 把两个字符连接起来
  eg:select game_card_type_id||name from game_card_type;
 
 3) select distinct dept_id,title from emp: 对多个字段的唯一
 
 4) order by desc(降序)
  order by asc(升序)
 
 5) where column is (not) null
 
 6) like ‘_a%’  _表示一个字符。%表示多少字符
  like ‘%x\_y%’ escape ‘\’:显示包括x_y的字符
 
 7) lumn(+)=lumn
  place the operator on the side of the join where there is no value to join to.
把(+)放在可能没有值的位置.
 
 8) 联接类型:
  equijoin:等式查询
  non_equijoin:不等式查询
  self:自己和自己建立关联
  out join:lumn(+)
  可以用的操作符是:’=’,’and’,不可以用’or’,’in’
 
 9) COUNT 函数所用的列包含空值时,空值行被忽略。
 
 10) where 后的in | any | all 的区别
  in : 等于子查询的任何一个数
  any : 与子查询的每一个值相比,只要比其中一个大(小)就可以了
  all : 与子查询的所有值相比要比所有的的都大(小)
  !=ALL作用跟NOT IN 一样
 
 三、SQL*PLUS的环境(可以在glogin.sql中定义初始参数)
 
  1) START 命令用以执行一个已储存的文件,等同于@
 
  2) SAVE命令用以创建一个文件
 
  3) EDIT命令用以调用编辑器编辑已存文件的内容
 
  4) CHANGE 是SQL*Plus的编辑命令,用于在当前一行把旧文段转换为新文段
 
  5) DEL 命令用以删除文本中一行或多行文字
 
  6) SPOOL命令用以把查询结果储存在一个已有文件中,注意与SAVE区别
 
  7) GET命令用以一个文件的内容写进一个SQL块中
 
  8) SPOOL OUT命令用以把文件的结果发送到系统打印机。
 
  9) set pause off/on:设置页面的滚动。按enter看下一页。
 
  10) PAGESIZE:指定每页显示的行的数值,
 
  11) LONG:设置LONG类型数据显示的最大宽度
 
  12) FEEDBACK:设置查询返回记录的最大值
 
  13) DESCRIBE :用于显示表和视图的结构,同义词,或指定函数和过程的详述。
 
  14) Timing:可以看到语句执行的时间
 
  15) Autotrace:可以看到sql的执行计划,sysdba执行/home/oracle/product/9.2.0/sqlplus/admin/plustrce.sql脚本,而且必须把plustrace角赋
给执行用户。执行用户必须运行/home/oracle/product/9.2.0/rdbms/admin/utlxplan.sql
 
  16) 在各种数据类型中,只有NUMBER数据类型的默认显示是靠右对齐的,而CHAR, DATE和VARCHAR2是靠左对齐的
 
  17) QUIT 是SQL*PLUS命令,用以结束一个SQL*PLUS的对话。
 
  18) ttitle:
  ttitle ‘selina’ 设select 的结果的抬头为selina
  tti :显示ttitle的状态
  tti off/on
  btitle ‘end’ 设结果的尾部
 
  19) Column:
 
  a) column name heading ‘名字’format a15
 
  b) column id justify left format 999999
 
  c) column start_date format a9 null ‘not hired’//当字段为空的时候则显示成not hired
 
  d) column :显示所有的column设置
 
  e) column columnname:显示某一个字段的设置
 
  f) clear column :清除所有column设置
 
  g) column columnname clear:清除某一字段的设置
 
  h) 以上的column可用col代替.clear可以用cle代替
 
  13)定义变量
 
  用&:由用户输入变量值,此变量可以存在于where后,做为整个查询语句的变量。也可以在order by 后。做为字段的变量。也可以放在select 后,做为字段或表达式的变量。
 
  用&&:如果多个地方引用此变量。。只用输入一次
 
  SQL> SELECT empno, ename, job, &&column_name
  FROM emp
  ORDER BY &column_name;
 
  accept:由用户输入变量值
  accept 变量名 datatype prompt ‘告诉用户需要输入的信息:’ hide
  引用的时候:&变名
  define(undefined):一开始就定义变量值
 
 四、函数:
 
  1、字符函数
 
  .lower:把字符转成小写
  .upper:把字符转成大写
  .initcap:把单词的第一个字母变成大写
  .concat:连接字符 concat(‘good’,’morning’)=goodmoring
  .SUBSTR (column\expression, m[,n]) 用于对字符串进行截取操作,从第m个位置开始,把其后的连续n个字符的部分截取下来,如果m位负值,则从末尾开始计算。
  eg:substr(‘string’,1,3) =str
  substr(‘string’-3,3)=ing
  .INSTR('String', 'r')=3 返回子字符串所在的位置.
  .LPAD(sal,10,'*') =*******sal 函数将左边的字符串填充一些特定的字符

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。