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

1、首先建表

fund 是表名称

其他的是字段名称

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

创建字段的时候

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

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

2.1设置序列

fund_autoinc 是序列字段,表示从1到9999999999999999999999999999这么大
create sequence fund_autoinc
minvalue
maxvalue
start with
increment by
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数据库,并操作数据库,有啥问题欢迎留言啊。

oracle 数据库创建表的更多相关文章

  1. Oracle数据库创建表是有两个约束带有默认索引

    Oracle数据库创建表是有两个约束带有默认索引.1.主键primary Key:唯一索引.非空2.唯一Unique:唯一索引,可以是空值如果没有设定主键和唯一约束,表中不会有默认索引的. 建立主键/ ...

  2. Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间

    Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop ...

  3. Linux oracle数据库创建表空间、用户并赋予权限

    管理员用户登录oracle数据库 1.创建临时表空间 select name from v$tempfile;查出当前数据库临时表空间,主要是使用里面的存放路径: 得到其中一条记录/opt/oracl ...

  4. Oracle数据库创建表ID字段的自动递增

    转载地址:http://blog.itpub.net/22880668/viewspace-1117343/ 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建 ...

  5. oracle数据库创建表

    实际工作中,在数据库中创建表是经常会用到的.我们今天呢?主要给大家来分享一下在数据库如何通过sql语句去创建表.其实,创建表很简单,只需要把数据库的数据类型和约束搞清楚就可以了,其他的就好说了.接下来 ...

  6. Oracle数据库创建表空间及用户授权

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace test_temp tempfile 'E:\app\Administrator\orad ...

  7. Oracle数据库创建表空间

    //创建表空间create tablespace ACQUISITION_DATA datafile 'F:\app\kelly\oradata\acquisition\acquisition_dat ...

  8. Oracle 数据库创建表空间、创建用户

    创建表空间 create temporary tablespace user_name_temp tempfile '/oradata/ORA11G/user_name_temp.dbf' size ...

  9. oracle数据库创建表且主键自增

    唠叨几句:几年前的知识忘却了,整理一下笔记,提供一下方便 1.创建数据库表 设置主键 create table users( userid number(10) primary key, /*主键,自 ...

随机推荐

  1. Codeforce 25A - IQ test (唯一奇偶)

    Bob is preparing to pass IQ test. The most frequent task in this test is to find out which one of th ...

  2. AtCoder Beginner Contest 068 ABCD题

    A - ABCxxx Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement This contes ...

  3. idea软件操作

    1.快捷键: 1.1.格式化代码:crtl+alt+L 1.2.一些构造啊,setter/getter等方法:alt+insert 1.3.crtl + f 搜素当前页面

  4. LED Keychain-A Tool To Drive Specific Market Segments

    LED keychain are an excellent tool to drive specific market segments. They can focus on a small grou ...

  5. cursor 把鼠标指针的形状弄成一只伸出食指的手

    <span style="cursor:auto">auto</span><br> <span style="cursor:cr ...

  6. yolo系列阅读笔记(v1-v3)

    yolov1 模型输出的概率建模 图片首先被分割为S*S的网格(grid cell).如果一个bbox的中心落在一个网格里,则该网格负责检测该物体.(对于pascal数据集,S定为7) 每个网格预测B ...

  7. getPath

    getPath()与getAbsolutePath()的区别 public void diff_pathAndAbsolutePath(){ File file1 = new File(“.\test ...

  8. Java修饰符类型

    转自原文:http://www.yiibai.com/java/java_modifier_types.html 修饰符是添加到这些定义来改变它们的含义的关键词. Java语言有各种各样修饰词,其中包 ...

  9. CallContext类

    CallContext类 转载weixin_30723433 最后发布于2019-07-20 10:42:24 阅读数 133  收藏 展开 System.Runtime.Remoting.Messa ...

  10. php设计模式之装饰模式实例代码

    <?php header("Content-type:text/html;charset=utf-8"); /** * 文章编辑类 */ class Article { pr ...