oracle基础操作
2013-01-23 21:24
120 查看
--创建表空间
CREATE TABLESPACE TEST_SPACE
DATAFILE 'G:\app\Administrator\oradata\orcl\BRYAND.DBF'
SIZE 2M
AUTOEXTEND ON NEXT 2M MAXsize 10M;
--删除表空间
DROP TABLESPACE TEST_SPACE INCLUDING CONTENTS AND DATAFILES;
--创建临时表空间
CREATE TEMPORARY TABLESPACE TEST_TEMP_SPACE
TEMPFILE 'G:\app\Administrator\oradata\orcl\BRYAND_TEMP.DBF'
SIZE 2M
AUTOEXTEND ON NEXT 2M MAXsize 10M;
--扩展表空间
ALTER TABLESPACE TEST_SPACE
ADD DATAFILE 'G:\app\Administrator\oradata\orcl\BRYAND_01.DBF'
SIZE 1M
AUTOEXTEND ON NEXT 1M MAXsize 5M;
ALTER DATABASE DATAFILE 'G:\app\Administrator\oradata\orcl\BRYAND_01.DBF' RESIZE 2M;
--查找用户默认表空间
select username,default_tablespace from dba_users;
--创建用户并授权
CREATE USER bryand identified by tiger
DEFAULT TABLESPACE TEST_SPACE
TEMPORARY TABLESPACE TEST_TEMP_SPACE;
GRANT CONNECT,RESOURCE,DBA TO bryand;
CREATE TABLE SCOTT.TEST_USER(
USER_ID NUMBER,
USER_NAME VARCHAR2(20)
);
--为该表添加主键
ALTER TABLE TEST_USER ADD CONSTRAINT PK_USER_ID PRIMARY KEY(USER_ID);
--添加列
ALTER TABLE TEST_USER ADD USER_AGE VARCHAR2(2);
--修改列
ALTER TABLE TEST_USER MODIFY USER_AGE NUMBER;
--删除列
ALTER TABLE TEST_USER DROP COLUMN USER_AGE;
--创建序列
CREATE SEQUENCE TEST_SEQUENCE
MINVALUE 1
MAXVALUE 100000
START WITH 1
INCREMENT BY 1
CACHE 5
NOCYCLE
ORDER;
--获取下一个序列值
SELECT TEST_SEQUENCE.NEXTVAL FROM DUAL;
--获取当前序列值
SELECT TEST_SEQUENCE.CURRVAL FROM DUAL;
常用函数:
单行数字函数
ABS(X) x的绝对值
asin(x)
sin(x)...
ceil(x)返回大于等于x的最小整数
floor(x)返回小于等于x的最大整数
exp(x)返回e的x次幂
mod(y,x)返回y除以x的余数,x为0时则返回y
round(x,y)若不填y,则返回x四舍五入后的整数,y为负数则保留小数点前y位,正数则保留到小数点后y位
sign(x)检测x的正负
trunc(x,y),数字截取。若y不填则截图x的小数部分,若y为正数则截取到小数点后y位,若y为负数则截取到小数点前y位
单行字符函数
concat(x,y)返回将y添加到x后面而形成的字符串。如果某一个是null则返回另一个,如果2个都是null则返回null
length(x)返回x的长度,包括空格,若x为null则返回null
lower(x)返回将x全部字符都小写后的字符串
upper(x)返回将x全部字符都大写后的字符串
nanvl(x,value)如果x匹配NaN(即非数字),就返回value,否则返回x
nvl(x,value)如果x为空,就返回value,否则返回x
nvl2(x,value1,value2)如果x为空,就返回value1,否则返回value2
replace(c1,c2,c3)把c1中出现的c2都用c3替换,c3默认为null即删除c2;如果c2为null则返回c1;若c1为null则返回null
substr(c,m[,n])返回c的子串,其中m是子串开始的位置,n是子串的长度。如果m为0则从c的首字符开始;如果m是负数则从c的结尾开始
instr() 返回字符所在字符串中的位置,和java中indexOf函数类似
SELECT instr('ABCAB','A',1,1) FROM DUAL;--1
SELECT instr('ABCAB','A',-1,1) FROM DUAL;--4
--if 第一个值等于NULL,则为1,否则为2,后面可以一直接条件,decode(A,B,.....)
SELECT DECODE('10',NULL,1,2) FROM DUAL;--2
SELECT CASE when T.LOC='NEW YORK' then 1
when T.LOC='DALLSA' then 2
else 3 end loc
FROM DEPT T WHERE T.DEPTNO=10;
CREATE TABLESPACE TEST_SPACE
DATAFILE 'G:\app\Administrator\oradata\orcl\BRYAND.DBF'
SIZE 2M
AUTOEXTEND ON NEXT 2M MAXsize 10M;
--删除表空间
DROP TABLESPACE TEST_SPACE INCLUDING CONTENTS AND DATAFILES;
--创建临时表空间
CREATE TEMPORARY TABLESPACE TEST_TEMP_SPACE
TEMPFILE 'G:\app\Administrator\oradata\orcl\BRYAND_TEMP.DBF'
SIZE 2M
AUTOEXTEND ON NEXT 2M MAXsize 10M;
--扩展表空间
ALTER TABLESPACE TEST_SPACE
ADD DATAFILE 'G:\app\Administrator\oradata\orcl\BRYAND_01.DBF'
SIZE 1M
AUTOEXTEND ON NEXT 1M MAXsize 5M;
ALTER DATABASE DATAFILE 'G:\app\Administrator\oradata\orcl\BRYAND_01.DBF' RESIZE 2M;
--查找用户默认表空间
select username,default_tablespace from dba_users;
--创建用户并授权
CREATE USER bryand identified by tiger
DEFAULT TABLESPACE TEST_SPACE
TEMPORARY TABLESPACE TEST_TEMP_SPACE;
GRANT CONNECT,RESOURCE,DBA TO bryand;
CREATE TABLE SCOTT.TEST_USER(
USER_ID NUMBER,
USER_NAME VARCHAR2(20)
);
--为该表添加主键
ALTER TABLE TEST_USER ADD CONSTRAINT PK_USER_ID PRIMARY KEY(USER_ID);
--添加列
ALTER TABLE TEST_USER ADD USER_AGE VARCHAR2(2);
--修改列
ALTER TABLE TEST_USER MODIFY USER_AGE NUMBER;
--删除列
ALTER TABLE TEST_USER DROP COLUMN USER_AGE;
--创建序列
CREATE SEQUENCE TEST_SEQUENCE
MINVALUE 1
MAXVALUE 100000
START WITH 1
INCREMENT BY 1
CACHE 5
NOCYCLE
ORDER;
--获取下一个序列值
SELECT TEST_SEQUENCE.NEXTVAL FROM DUAL;
--获取当前序列值
SELECT TEST_SEQUENCE.CURRVAL FROM DUAL;
常用函数:
单行数字函数
ABS(X) x的绝对值
asin(x)
sin(x)...
ceil(x)返回大于等于x的最小整数
floor(x)返回小于等于x的最大整数
exp(x)返回e的x次幂
mod(y,x)返回y除以x的余数,x为0时则返回y
round(x,y)若不填y,则返回x四舍五入后的整数,y为负数则保留小数点前y位,正数则保留到小数点后y位
sign(x)检测x的正负
trunc(x,y),数字截取。若y不填则截图x的小数部分,若y为正数则截取到小数点后y位,若y为负数则截取到小数点前y位
单行字符函数
concat(x,y)返回将y添加到x后面而形成的字符串。如果某一个是null则返回另一个,如果2个都是null则返回null
length(x)返回x的长度,包括空格,若x为null则返回null
lower(x)返回将x全部字符都小写后的字符串
upper(x)返回将x全部字符都大写后的字符串
nanvl(x,value)如果x匹配NaN(即非数字),就返回value,否则返回x
nvl(x,value)如果x为空,就返回value,否则返回x
nvl2(x,value1,value2)如果x为空,就返回value1,否则返回value2
replace(c1,c2,c3)把c1中出现的c2都用c3替换,c3默认为null即删除c2;如果c2为null则返回c1;若c1为null则返回null
substr(c,m[,n])返回c的子串,其中m是子串开始的位置,n是子串的长度。如果m为0则从c的首字符开始;如果m是负数则从c的结尾开始
instr() 返回字符所在字符串中的位置,和java中indexOf函数类似
SELECT instr('ABCAB','A',1,1) FROM DUAL;--1
SELECT instr('ABCAB','A',-1,1) FROM DUAL;--4
--if 第一个值等于NULL,则为1,否则为2,后面可以一直接条件,decode(A,B,.....)
SELECT DECODE('10',NULL,1,2) FROM DUAL;--2
SELECT CASE when T.LOC='NEW YORK' then 1
when T.LOC='DALLSA' then 2
else 3 end loc
FROM DEPT T WHERE T.DEPTNO=10;
相关文章推荐
- Oracle基础学习五之表的集合和序列操作
- JDBC基础教程之CallableStatement(怎样操作用java程序操作oracle的过程)
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- oracle基础知识-基本管理操作(登录、归档)
- Oracle(基础操作)
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- oracle基础操作
- Oracle基础(二)---操作命令
- Oracle基础操作
- 学习笔记_oracle——基础操作
- oracle 数据库 基础操作
- 【数据库基础】 Oracle DB基本操作(11g E)
- <<< Oracle表创建、修改、删除基础操作
- ORACLE基础操作【02】 -->split分区表
- oracle 数据库表基础操作,创建表,修改列,约束
- 【甘道夫】Sqoop1.99.3基础操作--导入Oracle的数据到HDFS
- Oracle基础操作——CDB-PDB
- Oracle日期时间(Date/Time)操作 博客分类: 数据库 OracleASP.netSQLASPJSP sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdat
- oracle 增删改查基础操作 及rownum 和rowID 详解 .
- Oracle基础--创建表的语法+操作