• Oracle常用数据库表操作


    配置数据库:

     user:orcl.passward:71911.Hao
    全局数据库名:orcl。、
    解锁数据库用户名,SCOTT,SYSTEM,SYS,   
    PWD:71911.Hao
    输入sqlplus,然后提示输入用户名,直接输入user/password@database就可以了,然后出来sql>,就可以输入各种语句了
    sqlplus scott/tiger@orcl, 后面要指定是连接哪个库(密码不显示,没事)
    sqlplus sys/719118Ha as sysdba
    desc table;
    tablespace 表空间名
    add constraint PK_IICL_ALT primary key (ID)//添加主键
    using index 可以指定存在的索引   pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 64K
        next 1M
        minextents 1
        maxextents unlimited
      );//SQL code  tablespace 表空间 --指定建立对象的表空间   pctfree 10 --块预留10%空间用于以后数据更新   initrans 1  --初始化事务槽数   maxtrans 255 --最大事务槽数   storage --下面是存储参数   (   initial 64K --初始化扩展区为64k   next 1M --下次扩展1m   minextents 1 --最小区数为1   maxextents unlimited --最大区数无限制   ); 
    alter user scott account unlock;



    配置主键和唯一性约束:
    alter table test add constraint pk_id primary key(id);  
    ALTER TABLE dm_pk_transgap_analysis ADD CONSTRAINT UQ_DTAC_CODE UNIQUE(CODE);


    三种配置外键方法:
     1  categoryId number(10) not null references Category(id)

    2   ALTER TABLE  books ADD CONSTRAINT FK_Book_categoryid FOREIGN KEY(categoryId ) REFERENCES Category(id);

    3  CONSTRAINT FK_LOCATION_ZONE FOREIGN KEY(ZONE_CODE) REFERENCESCALM_ZONE_INFORMATION(ZONE_CODE)

    联合主键:

    alter table zcz add constraints zcz_name_age primary key (name,age);

    alter table AdItem drop constraint AdOrder_AdItem_FK1


    联合唯一约束(下面该条sql的作用是name和age不能同时相等):

    CREATE UNIQUE INDEX zcz_name_age ON zcz(NVL2(name,age,NULL),NVL2(name,name,NULL));

    ALTER TABLE DM_ADMISSION_PERMIT_USER ADD CONSTRAINT UQ_DAPU_CHECK_ORG UNIQUE(CHECK_ORG,TYPE);

    修改表名: alter table gld_STA_INFLOW_REPORT rename to STA_INFLOW_REPORT;

    重命名字段和修改字段属性:

     ALTER TABLE CALM_BUSINESS_UNIT RENAME COLUMN BU_REMARK TO REMARK;
     ALTER TABLE CALM_BUSINESS_UNIT MODIFY REMARK VARCHAR2(100);

    增加和删除列:

    ALTER TABLE table_name ADD column_name datatype

    ALTER TABLE table_name DROP COLUMN column_name

    创建序列:

    CREATE SEQUENCE 序列名
    [INCREMENT BY n]     --每次加几
    [START WITH n]         --序列从几开始
    [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] --最小值、最大值的限制
    比如CREATE SEQUENCE s_test start with 1 increment by 1;   --就是建立了额一个从1开始每次加1的序列。
    访问序列时,用  序列名称.nextval的语法。

    比如对于上表,如果想要id字段实现自增。则在每次插入记录时,使用下面类似的语法(前提是表和序列已经建好)。
    insert into test values (s_test.nextval,'张三');

    可见在Windows默认情况下,VARCHAR2(2) 就等于是 VARCHAR2(2 BYTE)  一个汉字占2个字节

    可见在Linux默认情况下,VARCHAR2(2) 就等于是 VARCHAR2(2 BYTE)  一个汉字占3个字节

    INSERT INTO TEST VALUES('测试');分别需要4个字节和6个字节。

    --备份或者修改表字段:

    create table contract_basis_bakas as select * from contract_basis;

    DELETE from contract_basis;

    ALTER TABLE contract_basis modify cont_name nvarchar2(300);

    ALTER TABLE contract_basis modify cont_relative_name nvarchar2(300);

    insert into contract_basis select * from contract_basis_bakas2;

    DROP TABLE contract_basis_bakas;

    --备份表结构:

    create table MP_APP_ROLE_R_WELL as select * from MP_APP_ROLE_R_RESOURCE where 1=2;




  • 相关阅读:
    树莓派aria2 init文档
    树莓派aria2 init文档
    HDU 6000 Wash【优先队列优化贪心】【最大值+最小值】
    HDU 6000 Wash【优先队列优化贪心】【最大值+最小值】
    HDU 3264||POJ 3831 Open-air shopping malls【计算机几何】【圆相交面积模板】
    HDU 3264||POJ 3831 Open-air shopping malls【计算机几何】【圆相交面积模板】
    HDU 6178 Monkeys【dfs】【输入外挂模板】
    HDU 6178 Monkeys【dfs】【输入外挂模板】
    HDU 6181 Two Paths【次短路】【模板题】
    返回一个二维整数数组中最大子数组的和
  • 原文地址:https://www.cnblogs.com/shuchen007/p/9696610.html
Copyright © 2020-2023  润新知