• oracle 数据库创建表


     好好好好久没更新了,最近真是堕落了,做的都是小菜鸟做的东西,都没得写,但是最近数据库突然从mysql换到oracle,哈哈哈哈哈,还真是挺复杂的

    1、首先建表

    fund 是表名称

    其他的是字段名称

    create table fund (
           id number(11)  primary key,/*id 主键*/
           name varchar2(100),/*字段 name*/
        desc clob, /*描述,类型是clob,存储空间比较大*/ )

    创建字段的时候

    oracle10G对于表名的长度限制是30个字节,超过会提示标示符过长

    2、一般的id是自增的,在mysql里面设置自增点一下就好了,oracle比较麻烦,需要用到序列

    2.1设置序列

    fund_autoinc 是序列字段,表示从1到9999999999999999999999999999这么大
    create sequence fund_autoinc 
         minvalue 1
         maxvalue 9999999999999999999999999999
         start with 1
         increment by 1
         nocache;

    2.1创建触发器

    create or replace trigger insert_fund_autoinc
    before insert on fund
    for each row
    begin
    select fund_autoinc.nextval into :new.id from dual;
    end;

    3插入数据 测试一下

    insert into fund(name) values ('cccc');

    4查看表

    select * from fund;

    当然我发现我查不到数据,

    网上搜了一下发现了这么一条解释,我比较容易明白

    “如果在插入后并且未提交的的情况下新开一个session查询的话,你是查不到刚插入的数据,这跟Oracle的隔离性有关,但是在当前session是能够查到的,在commit之后,其它session就能查到了(持久性)”

    需要commit,

    用法很简单

    insert into fund(name) values ('vvvvvv');
    commit;

    这样就真的插入数据了

    但是我这个表有点特殊,name是唯一的,需要创建唯一属性 ,设置唯一属性,表必须是空的

    删除表数据

    delete from fund;//truncate table fund
    commit; 

    delete与truncate的区别:
    delete:会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments。
    truncate: 是DDL操作,不产生rollback,速度快。

    然后设置唯一

    alter table fund
    add constraint  tb_fund_u1
    unique (name);  //name 是字段,可以添加多个  unique (name,company);

     最后补充一点,我的字段里面有设置这个CLOB类型的字段,一般写select *查不出来东西,但是可以用to_char

    select to_char(desc) from fund; 

    写的有点乱,但是写的很多,把我踩到的坑全写出来了,下一篇写PHP连接oracle数据库,并操作数据库,有啥问题欢迎留言啊。

  • 相关阅读:
    python 全栈开发,Day67(Django简介)
    python 全栈开发,Day66(web应用,http协议简介,web框架)
    python 全栈开发,Day65(MySQL练习题,参考答案)
    python 全栈开发,Day65(索引)
    python 全栈开发,Day64(视图,触发器,函数,存储过程,事务)
    python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)
    *** 安全沙箱冲突 *** 到 127.0.0.1:9999 的连接已停止
    PosPal银豹收银系统
    m3u8文件简介
    flashbuilder发布release版本
  • 原文地址:https://www.cnblogs.com/xbxxf/p/11057588.html
Copyright © 2020-2023  润新知