oracle常用操作

一、背景

  这两天刚换了工作,新公司的项目基本都是用oracle数据库,以前一直用的是sql server,总是不愿意去学习其他的东西,现在不能不去学习新的东西。

  三天过来,了解一部分.net的人都在学习android开发。不是说你学的是C#,在公司就永远做.net的项目,而是公司接到什么项目,每个人都必须去学习新的知识。

二、实际上手的东西

  sys  orcl  1521  localhost  sysdba  dmp

  导出数据:exp basicgis/123456@192.168.1.1:1521/orcl file=c:\cf.dmp tables=<temp,addr>

  导入表: imp basicgis/123456 file=c:\cf.dmp full=y ignore=y

  创建表空间:(网上找的)

  /*分为四步 */
  /*第1步:创建临时表空间 */
  create temporary tablespace user_temp
  tempfile 'D:\oracle\user_temp.dbf'
  size 50m
  autoextend on
  next 50m maxsize 20480m
  extent management local;

  /*第2步:创建数据表空间 */
  create tablespace user_data
  logging
  datafile 'D:\oracle\user_data.dbf'
  size 50m
  autoextend on
  next 50m maxsize 20480m
  extent management local;

  /*第3步:创建用户并指定表空间 */
  create user basicgis identified by 123456
  default tablespace user_data
  temporary tablespace user_temp;

  /*第4步:给用户授予权限 */
  grant connect,resource,dba to basicgis;

  创建表空间也可以是:

  create tablespace basicgis 

  datafile 'D:\oracle\basicgis.dbf'
  size 50m
  autoextend on
  next 50m

 

  sql语句:

  REGEXP_INSTR(houseaddress,'[0-9]'))  第一次出现数字的位置  返回:数字

  regexp_instr(houseaddress, '号',1,1,1)  第一次出现‘号’字的位置 返回:数字

  length(字段)  返回字段长度

  like '%'||t.address||'%'  like匹配字段

  

  with t as   --临时表
  (
    select * from temp
  )

  --一次更新多个字段的数据

  update temp set (temp.addrid,temp.unitno,houseno)=(select addrid,号,室 from myview where myview.row_id = temp.ROW_ID)
  where temp.row_id in (select row_id from myview)

posted on 2013-05-22 21:39  ancient_sir  阅读(246)  评论(0编辑  收藏  举报