`
jayghost
  • 浏览: 446496 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oracle创建、修改表和主键自增

 
阅读更多

创建表:

create table tuser(

 id number(11) not null,

 name varchar2(20) not null,

 password varchar2(20),

 birthday date,

constraint tuser_pk primary key (id)

);

创建序列:

create sequence increase_seq increment by 1 start with 1 nomaxvalue nocycle cache 10;

创建trigger:

create or replace trigger tuser_trigger

before insert on tuser for each row

begin

select increase_seq.nextval into :new.id from dual;  关于dual表可以参看:http://wujay.iteye.com/blog/1836847

end; 

根据使用的工具,可能需要增加“/”来执行PL/SQL块。

测试:

insert into tuser(name,password,birthday) values('wujay','123456',null);

commit;

select * from tuser;

        ID NAME                 PASSWORD             BIRTHDAY

---------- -------------------- -------------------- --------------

         1 wujay                123456

修改表:

 alter table tuser rename column id to pk_tuser;

修改trigger:

 

转:http://www.cnblogs.com/linjiqin/archive/2012/02/01/2335035.html

五、oracle 表的管理

一、表名和列名的命名规则
1)、必须以字母开头
2)、长度不能超过30个字符
3)、不能使用oracle的保留字
4)、只能使用如下字符 a-z,a-z,0-9,$,#等

 

二、数据类型
1)、字符类
char 长度固定,最多容纳2000个字符。
例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全,如‘小韩      ’
varchar2(20) 长度可变,最多容纳4000个字符。
例子:varchar2(10) ‘小韩’ oracle分配四个字符。这样可以节省空间。
clob(character large object) 字符型大对象,最多容纳4g
char 查询的速度极快浪费空间,适合查询比较频繁的数据字段。
varchar 节省空间
2)、数字型
number范围-10的38次方到10的38次方,可以表示整数,也可以表示小数
number(5,2)表示一位小数有5位有效数,2位小数;范围:-999.99 到999.99
number(5)表示一个5位整数;范围99999到-99999
3)、日期类型
date 包含年月日和时分秒 oracle默认格式1-1月-1999
timestamp 这是oracle9i对date数据类型的扩展。可以精确到毫秒。
4)、图片
blob 二进制数据,可以存放图片/声音4g;一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一般存放图片、视频的路径,如果安全需要比较高的话,则放入数据库。

 

三、怎样创建表

--创建表
--学生表
create table student (
   xh number(4), --学号
   xm varchar2(20), --姓名
   sex char(2), --性别
   birthday date, --出生日期
   sal number(7,2) --奖学金
);

--班级表
create table class(
  classid number(2),
  cname varchar2(40)
);

      

--修改表
--添加一个字段
sql>alter table student add (classid number(2));
--修改一个字段的长度
sql>alter table student modify (xm varchar2(30));
--修改字段的类型或是名字(不能有数据) 不建议做
sql>alter table student modify (xm char(30));
--删除一个字段 不建议做(删了之后,顺序就变了。加就没问题,应该是加在后面)
sql>alter table student drop column sal;
--修改表的名字 很少有这种需求
sql>rename student to stu;

          
--删除表
sql>drop table student;

           

--添加数据
--所有字段都插入数据
insert into student values ('a001', '张三', '男', '01-5 月-05', 10);
--oracle中默认的日期格式‘dd-mon-yy’ dd 天 mon 月份 yy 2位的年 ‘09-6 月-99’ 1999年6月9日
--修改日期的默认格式(临时修改,数据库重启后仍为默认;如要修改需要修改注册表)
alter session set nls_date_format ='yyyy-mm-dd';
--修改后,可以用我们熟悉的格式添加日期类型:
insert into student values ('a002', 'mike', '男', '1905-05-06', 10);
--插入部分字段
insert into student(xh, xm, sex) values ('a003', 'john', '女');
--插入空值
insert into student(xh, xm, sex, birthday) values ('a004', 'martin', '男', null);
--问题来了,如果你要查询student表里birthday为null的记录,怎么写sql呢?
--错误写法:select * from student where birthday = null;
--正确写法:select * from student where birthday is null;
--如果要查询birthday不为null,则应该这样写:
select * from student where birthday is not null;

         

--修改数据
--修改一个字段
update student set sex = '女' where xh = 'a001';
--修改多个字段
update student set sex = '男', birthday = '1984-04-01' where xh = 'a001';
--修改含有null值的数据
不要用 = null 而是用 is null;
select * from student where birthday is null;

        

--删除数据
delete from student; --删除所有记录,表结构还在,写日志,可以恢复的,速度慢。
--delete的数据可以恢复。
savepoint a; --创建保存点
delete from student;
rollback to a; --恢复到保存点
一个有经验的dba,在确保完成无误的情况下要定期创建还原点。

drop table student; --删除表的结构和数据;
delete from student where xh = 'a001'; --删除一条记录;
truncate table student; --删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

分享到:
评论

相关推荐

    Kotlin-记事本项目代码(android+kotlin)

    Kotlin-记事本项目代码(android+kotlin)

    识别车牌的一个小demo.zip

    车牌识别

    园区(特色小镇)智慧化解决方案PPT(53页).pptx

    在当今数字化浪潮中,园区智慧化建设正成为推动区域经济发展和产业转型升级的关键力量。这份园区智慧化解决方案全面展示了如何通过集成大数据、云计算、物联网(IoT)、人工智能(AI)、地理信息系统(GIS)和建筑信息模型(BIM)等前沿技术,为传统产业园区插上数字的翅膀,打造“数字创新”产业园区。 数字技术赋能,重塑园区生态 传统产业园区往往面临运营效率低下、管理粗放、资源利用率不高等问题。而通过智慧化改造,园区可以实现从“清水房”到“精装房”的华丽蜕变。数字化技术不仅提升了园区的运营管理水平,降低了运营成本,还显著增强了园区的竞争力和吸引力。例如,通过构建园区数字模型(CIM),实现了多规数据融合,形成了园区规划“一张图”,为园区管理提供了直观、高效的可视化工具。此外,智能感知设施的应用,如环境监测、能耗监测等,让园区管理更加精细化、科学化。智慧能源管理系统通过实时监测和智能分析,帮助园区实现低碳绿色发展,而综合安防管控系统则通过AI+视频融合技术,为园区安全保驾护航。更有趣的是,这些技术的应用还让园区服务变得更加个性化和便捷,比如园区移动APP,让企业和员工可以随时随地享受园区服务,从会议室预定到智慧公寓管理,一切尽在“掌”握。 智慧运营中心,打造园区大脑 园区智慧化建设的核心在于构建智慧运营中心,这可以看作是园区的“数字大脑”。通过集成物联网服务平台、大数据分析平台、应用开发赋能平台等核心支撑平台,智慧运营中心实现了对园区内各类数据的实时采集、处理和分析。在这个“大脑”的指挥下,园区管理变得更加高效、协同。比如,建设工程项目智慧监管系统,通过基于二三维GIS底图的统一数字化监管,实现了对园区在建工程项目的进度控制、质量控制和安全控制的全方位监管。可视化招商系统则利用CIM模型,以多种方式为园区对外招商推介提供了数字化、在线化的展示窗口。而产业经济分析系统,则通过挖掘和分析产业数据,为园区产业发展提供了有力的决策支持。智慧运营中心的建设,不仅提升了园区的整体运营水平,还为园区的可持续发展奠定了坚实基础。 产业服务升级,激发创新活力 园区智慧化建设不仅关注基础设施和运营管理的升级,更重视产业服务的创新。通过整合平台资源、园区本地资源和外围资源,打造园区服务资源池,为园区内的企业和个人提供了全面的智慧管理、智慧工作和智慧生活服务。特别是工业互联网平台和工业云服务的建设,为园区内的企业提供了轻量化、智能化的生产服务。这些服务涵盖了车间信息化管理、云制造执行、云智能仓储、设备健康管理等多个方面,有效提升了企业的生产效率和竞争力。此外,通过产业经济分析系统,园区还能够对潜在客户进行挖掘、对经销商进行风控、对产品销量进行预测等,为企业的市场营销提供了有力支持。这些创新的产业服务,不仅激发了园区的创新活力,还为区域经济的转型升级注入了新的动力。总之,园区智慧化建设是一场深刻的变革,它正以前所未有的方式重塑着园区的生态、运营和服务模式,为园区的可持续发展开辟了广阔的前景。

    Redmine Tags plugin (Light version) 可自定义issue标签插件 可设置ISSUE标签 并设置根据标签查询 1.验证通过版本redmine5.0.4 2.解压tar

    Redmine Tags plugin (Light version) 可自定义issue标签插件 可设置ISSUE标签 并设置根据标签查询 1.验证通过版本redmine5.0.4 2.解压tar包至redmine/plugins目录重启redmine即可

    车牌识别_神经网络_模板匹配_训练识别程序_1741774578.zip

    车牌识别项目

    powerDesigner报告模板

    powerDesigner报告模板

    yolov5 csl_labelOriented Object detection旋转检测.zip

    python、yolo、pytorch

    车牌识别_深度学习_YOLOV7_LPRnet_技术实现与实_1741774682.zip

    车牌识别项目

    a8cce16fd8df855fa808c72133df2b4a_1741769036387_1

    a8cce16fd8df855fa808c72133df2b4a_1741769036387_1

    33559399361500导师评价.zip

    33559399361500导师评价.zip

    jaxlib-0.4.18-cp311-cp311-macosx_10_14_x86_64.whl

    该资源为jaxlib-0.4.18-cp311-cp311-macosx_10_14_x86_64.whl,欢迎下载使用哦!

    学号+姓名+实验二.ipynb

    学号+姓名+实验二.ipynb

    机器人项目-基于STM的智能引导车code(用户引导残障人士)

    机器人项目-基于STM的智能引导车code(用户引导残障人士)

    亲测柚子社区团购源码V1.6.2 小程序开源版+前端.zip

    亲测柚子社区团购源码V1.6.2 小程序开源版+前端(已亲测可安装使用) 是以微信为载体整合多个社区社群资源,形成由商家集中化管理运营的预售 团购的社区商业模式。 主要销售场景是由各快递代收点、社区便利店、社区物业、业主等发起的社区微信群,每个群都相当于一个社区店。

    基于caffe的Yolov3v4实时目标检测框架.zip

    python、yolo、pytorch

    java-springboot+vue编程训练系统设计与实现源码(项目源码-说明文档).zip

    系统选用B/S模式,后端应用springboot框架,前端应用vue框架, MySQL为后台数据库。 本系统基于java设计的各项功能,数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。 在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

    图像识别_Cifar10_多种网络_分类研究_1741783912.zip

    图像处理项目实战

    blob-from-images opencv dnn

    blob_from_images opencv dnn

    糖尿病视网膜病变检测_pytorch_图像分类_医疗辅助_1741784391.zip

    图像处理项目实战

    Kubernetes K8s架构师实战.zip

    目录: 第 1 章:Ansible 自动化部署 K8S 集群【内含6个文件】 第 2 章:弹性伸缩【内含4个文件】 第 3 章:Helm 应用包管理器(v3)【内含3个文件】 第 4 章:K8S 集群网络【内含1个文件】 第 5 章:K8S 存储 之 Ceph 分布式存储系统【内含4个文件】 第 6 章:微服务容器化迁移【内含3个文件】 第 7 章:基于 K8S 构建企业 Jenkins CICD 平台(微服务)【内含4个文件】 第 8 章:服务治理 Istio 初探【内含1个文件】 网盘文件永久链接

Global site tag (gtag.js) - Google Analytics