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)