liuxinglanyue 发表于 2013-1-15 01:27:06

oracle基本操作语句

 

<span style=""> 基本的查询操作语句 
1.在数据字典查询约束的相关信息: 
SELECT constraint_name, constraint_type,search_condition 
FROM    user_constraints WHERE    table_name = 'EMPLOYEES'; 
        //这里的表名都是大写! 
2对表结构进行说明: 
    desc Tablename 
3查看用户下面有哪些表 
    select table_name from user_tables; 
4查看约束在那个列上建立: 
    SELECT constraint_name, column_name 
    FROM     user_cons_columns 
    WHERE     table_name = 'EMPLOYEES'; 
5结合变量查找相关某个表中约束的相关列名: 
   select constraint_name,column_name from user_cons_columns where table_name = '&tablename' 
6查询数据字典看中间的元素: 
SELECT    object_name, object_type 
FROM      user_objects 
WHERE     object_name LIKE 'EMP%'      
OR        object_name LIKE 'DEPT%' 
7查询对象类型: 
SELECT DISTINCT object_type FROM        user_objects ; 
8改变对象名:(表名,视图,序列) 
   rename   emp to emp_newTable 
9查看视图结构: 
    describe view_name 
10在数据字典中查看视图信息: 
   select viewe_name,text from user_views 
11查看数据字典中的序列: 
   select * from user_sequences 
12得到所有的时区名字信息: 
        select   * from v$timezone_names 
13显示对时区‘US/Eastern’的时区偏移量 
        select TZ_OFFSET('US/Eastern') from DUAL--dual英文意思是‘双重的’ 
    显示当前会话时区中的当前日期和时间: 
    ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';--修改显示时间的方式的设置 
    ALTER SESSION SET TIME_ZONE = '-5:0';--修改时区 
    SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;--真正有用的语句! 
   SELECT CURRENT_TIMESTAMP FROM DUAL;--返回的时间是当前日期和时间,含有时区 
   SELECT CURRENT_TIMESTAMP FROM DUAL;--返回的时间是当前日期和时间,不含有时区!!!   
14显示数据库时区和会话时区的值: 
        select datimezone,sessiontimezone from dual; 

基本的数据操作语句 
1普通的建表语句: 
CREATE TABLE dept 
(deptno         NUMBER(2), 
dname    VARCHAR2(14), 
loc VARCHAR2(13)); 
2使用子查询建立表: 
CREATE TABLE      dept80 
   AS   SELECT   employee_id, last_name, 
             salary*12 ANNSAL, 
             hire_date    FROM     employees    WHERE    department_id = 80; 
3添加列:// alter table EMP add column (dept_id number(7));错误!! 
   alter table EMP add (dept_id number(7)); 
4删除一列: 
   alter table emp drop column dept_id; 
5添加列名同时和约束: 
alter table EMP add (dept_id number(7) 
    constraint my_emp_dept_id_fk   references dept(ID)); 
6添加一个有check约束的新列: 
   alter table EMP 
   add (COMMISSION number(2) constraint emp_commission_ck check(commission>0)) 
7改变列://注意约束不能够修改 的!! 
alter table dept80 modify(last_name varchar2(30));//这里使用的是modify而不是alter! 
8增加一行: 
   insert into table_name values(.。。。。。。。); 
9添加主键: 
alter Table EMP   add constraint my_emp_id_pk primary key (ID); 
10删除表: 
    drop table emp; 
11创建视图: 
    CREATE VIEW    empvu80 
AS SELECT   employee_id, last_name, salary 
     FROM     employees      WHERE    department_id = 80; 
12删除视图: 
    drop view view_name 
高级的数据对象:序列,同义词,索引等等 
1建立同义词: 
   create synonym 同义词名 for 原来的名字 
或者   create public synonym 同义词名 for 原来的名字   <div style="font-family: Arial; font-size: 12px; line-height: normal;" class="uau">作
页: [1]
查看完整版本: oracle基本操作语句