Oracle基本操作SQL 《转》
2009-09-05 02:00
477 查看
Oracle基本操作SQL
1.创建表空间 CREATE TABLESPACE TS_CNFOL DATAFILE 'G:/ORACLE/product/10.1.0/oradata/cnfol/TS_CNFOL.DAT' SIZE 10M REUSE AUTOEXTEND ON NEXT 500K MAXSIZE UNLIMITED; 2.创建用户 CREATE USER cnfol IDENTIFIED BY cnfol --用户名及密码都为cnfol DEFAULT TABLESPACE TS_CNFOL --该用户使用TS_CNFOL表空间 TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON TS_CNFOL; --可以使用这个表空间的所有配额 3.分配权限 GRANT CONNECT TO cnfol WITH ADMIN OPTION; --cnfol可以把权限再分配给别人 GRANT RESOURCE TO cnfol; GRANT CREATE ANY TABLE TO cnfol; GRANT INSERT ANY TABLE TO cnfol; GRANT SELECT ANY TABLE TO cnfol; GRANT UPDATE ANY TABLE TO cnfol; GRANT DELETE ANY TABLE TO cnfol; GRANT ALTER ANY TABLE TO cnfol; GRANT DROP ANY TABLE TO cnfol; GRANT CREATE ANY INDEX TO cnfol; GRANT DROP ANY INDEX TO cnfol; GRANT EXECUTE ANY PROCEDURE TO cnfol; GRANT CREATE ANY SEQUENCE TO cnfol; GRANT DEBUG CONNECT SESSION TO cnfol; --可以单步调试函数或者存储过程 4.剥夺权限 REVOKE DEBUG CONNECT SESSION FROM cnfol; 5.增、删、改表的列 ALTER TABLE TAB_NAME ADD(COL1 VARCHAR2(10) NOT NULL,COL2 NUMBER); ALTER TABLE TAB_NAME MODIFY(COL1 VARCHAR2(100)); ALTER TABLE TAB_NAME DROP(COL2); 6.禁用、启用、删除约束 ALTER TABLE TAB_NAME DISABLE CONSTRAINT CK_TAB_STUDENT_ADDR; ALTER TABLE TAB_NAME DISABLE PRIMARY KEY; ALTER TABLE TAB_NAME ENABLE PRIMARY KEY; ALTER TABLE TAB_NAME DROP CONSTRAINT CK_TAB_STUDENT_ADDR; 7.获得当前时间 select sysdate from dual 8.表数据转移(把某张表的数据拷贝到另一张表中) insert into newtable(field1,field2) select field1,field2 from oldtable [where ...] 9.时间段操作 select * from table1 where to_char(myDate,'yyyy-mm-dd') between '2007-01-01' and '2007-12-30' 10.解除用户锁定 alter user wangwz account unlock 11.拷贝表结构 create table tablename as (select * from oldtable where 1=1)要数据则用1=1,不要数据用1=2 12.添加字段 alter table tablename add(col1 varchar2(10) not null,col2 number(4)); 13.打印数据 dbms_output.put_line('XXX'); 14.删除表中所有记录 truncate table tablename 15.SQL中含有单引号 insert into tablename(username) values('i''m going');--插入一个单引号用两个单引号表示 16.求一张表中,符合相同条件的记录列表(在创建唯一约束之前,可用这个SQL来判断是否有违反你要建立的约束条件的记录) SELECT * FROM tabname a WHERE ROWID > ANY (SELECT ROWID FROM tabname b WHERE a.field1= b.field1 AND a.field2 = b.field2) 17.建立唯一约束 ALTER TABLE tabname ADD CONSTRAINT uniquename UNIQUE (field1,field2) 18.建表SQL create table tablename ( sid number(6) primary key, ssex char(2),--存汉字就得两字节 sbirthday date ) 19.创建序列 create sequence seqname minvalue 1 maxvalue 9999999999 start with 1--起始值 increment by 1--每次累加值 cache 20--缓存大小 nocycle;--当序列达到最大值时不循环 20.创建函数 CREATE OR REPLACE FUNCTION functionname RETURN NUMBER AS V_SEQ NUMBER; BEGIN SELECT seqname.NEXTVAL INTO V_SEQ FROM DUAL; RETURN V_SEQ; END; 21.创建存储过程 CREATE OR REPLACE PROCEDURE proname is v_time varchar2(10); begin insert into tablename1(tblid,field1,field2,field3) select seqname.nextval,field1,field2,field3 from (select [位置1] field1,field2,field3 from where field1=1) where rownum<15 commit; end; 22.把表1的数据导到表2,但表2的主键由序列生成 实现见上面的第19点和21点 注:如果functionname.nextval要写在上面的位置1,由于functionname.nextval不能用在子查询中,所以可以做个函数,该函数就返回序列的当前值即可解决。处理流程参照上面的第19点到21点(ORA-02287:sequence number not allowed here) 23.给表加注释 comment on table tablename is '注释'; 24.给字段加注释 comment on column tablename.field1 is '注释'; 25.all的用法 select * from tablename where 5>all(select tblid from tablename) 上面这句SQL的效果是:当select tblid from tablename所有的值都小于5,则搜索出tablename中所的数据 26.any的用法 select * from tablename where 5>any(select tblid from tablename) 上面这句SQL的效果是:当select tblid from tablename作意一个值小于5,则搜索出tablename中所的数据 27.判断指定字符在当前编码方式下占的字节数 select lengthb('中') from dual; 28.查询当前数据库采用的字符集 select userenv('language') from dual 29.统计出表中某字段相同的记录列表 select field1,count(*) from tabname group by field1 having count(*)>1 30.字符串转日期 select to_date('2007-01-01 14:00:11','yyyy-mm-dd hh24:mi:ss') from dual |
相关文章推荐
- oracle sqlplus基本操作
- Oracle基本操作SQL
- Oracle命令行工具基本操作及SQL 命令
- 程序员必须掌握的Oracle的基本sql操作
- oracle笔记2--基本sql操作
- Oracle SQL基本操作
- Oracle总结第一篇【基本SQL操作】
- Oracle命令行工具基本操作及SQL 命令
- Oracle基本操作SQL
- Oracle 基本操作之sql语句
- oracle-sql基本操作1
- Oracle下SQL基本操作(一)
- Oracle SQL 基本操作之 用户权限管理方法
- Oracle基本操作八:PL/SQL特殊数据类型%type %rowtype VARRAY TABLE RECORD
- oracle 基本操作练习——简单的sql语句
- Oracle下SQL基本操作(二)
- vnc配合oracle sqldeveloper 本地基本连接操作 centos
- Oracle基本操作SQL
- Oracle下SQL基本操作(三)
- oracle-pl/sql基本操作1