zoukankan      html  css  js  c++  java
  • Oacle常用语句

    1.建表语句

    CREATE TABLE test1 (cust_nbr number(5) NOT NULL,
    region_id  Number(5) NOT NULL,
    salesperson_id number(5) NOT NULL,
    YEAR number(4) NOT NULL,
    MONTH number(2) NOT NULL,
    tot_orders number(7) NOT NULL,
    tot_sales number(11,2) NOT NULL
    )

    --用select创建表
    CREATE TABLE NEW_dept AS SELECT * FROM dept;--将已知表的结构和数据都复制到新表中
    CREATE TABLE NEW dept AS SELECT * FROM dept WHERE 1=2;--只复制表的结构不复制数据

    1.1插入

    INSERT INTO SALGRADE VALUES (1,700,1200);

    1.2创建新用户

    CREATE USER 用户名 IDENTIFIED BY 密码;

    1.3赋予权限

    GRANT 权限,权限 TO 用户;
    GRANT CREATE SESSION,CREATE TABLE,CREATE sequence,CREATE View,CREATE PROCEDURE TO 表名
    CREATE SESSION(创建会话)
    CREATE TABLE (创建表)
    CREATE sequence(创建序列)
    CREATE VIEW (创建视图)
    CREATE procedure(创建存储过程)
    CREATE ROLE manager;--创建角色
    GRANT CREATE TABLE,CREATE VIEW TO manager;--为角色赋予权限
    GRANT manager TO dehaan,kochhar--将角色赋予用户
    GRANT UPDATE (department NAME,LOCATION ID ) ON departments TO scott,manager--分配表中各个列的更新权限
    GRANT SELECT,INSERT ON dapartments TO scott WITH GRANT OPTION;--with grant option 使用户同样具有分配权限的权利
    GRANT SELECT ON scott.departments TO icss;

    收回权限

    --收回权限
    REVOKE SELECT,INSERT ON departments FROM scott;--使用revoke语句收回权限

    1.4更改密码

    ALTER USER 用户名 IDENTIFIED BY 密码;--更改用户密码

    1.5 更改表名

    RENAME 原表名 TO 新表名

     1.6更新

    update 表名 set 列名=新值 where条件;
    
    select语句 for update;

     1.7添加备注

    COMMENT ON TABLE es_invc_hdr_temp IS '发票信息临时表';
    COMMENT ON COLUMN es_invc_hdr_temp.ID IS '主键(自动生成)';
    COMMENT ON COLUMN es_invc_hdr_temp.ORDER_KEY IS '订单orderkey';

    1.8查询备注

    SELECT
    TABLE_NAME,
    COLUMN_NAME,
    COMMENTS
    FROM
    USER_COL_COMMENTS
    WHERE
    TABLE_NAME ='ES_INVC_HDR_TEMP';

    2.基本语句

    1.desc 表名--显示表的结构
    2.drop table 表名   alter table 表名 drop column 列名称;--删除表中的一个字段
    3.decode(value, if1, then1, if2,then2, if3,then3, . . . else);--与case...when ..类似,value表示要判断的值,if表示条件then表示结果;decode(instr(FACTOR,'NO'),'0','0','1')NO_COUNT表示在FACTOR中查找NO返回是0就给字段NO_COUNT设置为0否则设置为1.
    4.substr(source,startIndex,length);
    5.instr(source,taget,[startIndex],[nth_appearance]);--startIndex,nth_appearance这两个参数不是必须条件,默认返回从index=1开始taget第一次出现的位置,返回的结果值是表示taget字符串的首字母在source的位置,source的index的起始值为1,startIndex表示在source的开始搜索的开始位置,nth_appearance表示查找taget在source中第几次出现。
    6.delete from 表名 where 条件--删除表中的所有数据
    7.truncate table 表名;--一旦使用了truncate表中数据将不可恢复,删除速度快,当确定表中的数据确实没有用并且表很大的时候可以使用truncate删除(慎用)
    8.ALTER TABLE 表名 DROP COLUMN 列名
    9.create table student (
    studentid int primary key not null,
    studentname varchar(8),
    age int);
    10.alter table 表名 add (age varchar2(30) default 22 not null)--增加一个字段
    11.alter table test1 add (name varchar2(30)default '无名氏' not null,age integer default 22 not null,has_money number(9,2) );--增加多个字段
    12.alter table TABLE_NAME rename column FIELD_NAME TO NEW_FIELD_NAME;--修改一个字段
    13.alter table test1 drop column name ;删除一个字段
    14.SELECT * from user_cons_columns;--查看表的主键
    15.创建主键约束
    create
    table student ( studentid int primary key not null, studentname varchar(8), age int);--创建无命名的主键约束
    create table students (
    studentid int ,
    studentname varchar(8),
    age int,
    constraint yy primary key(studentid));--创建有命名的主键约束

    4、删除表中已有的主键约束
    (1)无命名

    SELECT * from user_cons_columns;--查询表中主键名称
    alter table student drop constraint SYS_C002715;--删除表中已有的主键约束

    (2)有命名

    alter table students drop constraint yy;--删除表中已有的主键约束

    3、向表中添加主键约束

    alter table student add constraint pk_student primary key(studentid);

    4。oracle小数点转化为百分数

     (round(cpws_matchratio*100,2))||'%'
    SELECT *,CASE WHEN  cpws_matchratio IS NOT NULL then (round(cpws_matchratio*100,2))||'%' ELSE cpws_matchratio END cpws_matchratio1
      FROM F_CIS_INDV_LAW_CPWS
  • 相关阅读:
    适配不同屏幕的宏
    phpstrom 10 激活
    php三维数组去重
    Ajax总结
    Node.js中处理异步编程(使用回调处理一次性事件,使用事件监听器处理重复性事件)
    JavaScript中函数对象的call()和apply()方法的总结
    jQuery中prop()方法和attr()方法可能遇到的问题小结
    Node.js中url的parse、format、resolve方法详解
    处理跨域方式
    JS获取网页窗口大小、浏览器窗口大小、页面元素位置
  • 原文地址:https://www.cnblogs.com/smile502/p/11264746.html
Copyright © 2011-2022 走看看