`
dushanggaolou
  • 浏览: 172966 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle字段的增删改查

 
阅读更多

--创建表
--cteate table 表名(
         --字段名 数据类型 约束,
         --字段名 数据类型 约束
--)
Create table stu(
  Sid number(10),
  Sname varchar2(10)
) tablespace tt;
--以上 tablespace不是必须的。默认不写,则创建在登录的用户所在的表空间上
 select * from all_tables where owner='SCOTT'

--使用子查询创建表
create table myemp as select * from emp;                 创建一张与emp表 结构和数据完全相同的表

create table myemp as select * from emp where deptno=10;   创建一张只有部分结果的新表 
create table myemp as select * from emp where 1=2;              创建一张只有emp表的结构,但是不含任何结果的空表

 

--添加字段
--alter table 表名 add 新列字段名 数据类型;
Alter table stu add age number(3); 
                                                                                                                 
--修改字段
--alter table 表名 modify 字段名 新的数据类型
Alter table stu modify Sage number(10);
--alter table 表名 rename column 原来的名字 to 新的名字;
alter table stu rename column age to Sage;


--删除字段
--alter table 表名 drop column 列名
Alter table stu drop column Sage;

 

--清空表中数据 delete ,回滚
--清空表中数据
Truncate table student;  
--则表示所删除的数据不可恢复了.所以速度很快

--删除表
Drop table student;

--重命名表
Rename student to student1;

 

-- 插入数据
INSERT INTO person(pid,name) VALUES (11,'张三');
 
--PRIMARY KEY:主键约束
--不能重复,不能为空
--例如:身份证号不能为空。 
 
--UNIQUE:唯一约束,值不能重复(空值除外)
--人员中有电话号码,电话号码不能重复。 
 
--CHECK:条件约束,插入的数据必须满足某些条件
--人员有年龄,年龄的取值只能是0~150岁之间
DROP TABLE person ;
CREATE TABLE person
(
 pid  NUMBER PRIMARY KEY NOT NULL ,                                                                                                                                                                                                                                                                                          
 name VARCHAR(30)  NOT NULL ,
 tel  VARCHAR(50)  NOT NULL UNIQUE ,
 age  NUMBER   CHECK(age BETWEEN 0 AND 150)
) ;
-- 插入数据
INSERT INTO person(pid,name,tel,age) VALUES (11,'张三','1234567',30);
-- 年龄的输入错误
INSERT INTO person(pid,name,tel,age) VALUES (12,'李四','2345678',-100);
 
--Foreign Key:外键 
                                                                                                                        
 
alter 命令为表添加约束
--、 为两个表添加主键:
--• person表 pid为主键:
   ALTER TABLE person ADD CONSTRAINT person_pid_pk PRIMARY KEY(pid) ;
--为person表中的 tel添加唯一约束:
  ALTER TABLE person ADD CONSTRAINT person_tel_uk UNIQUE(tel) ;
--为person表中的 age添加检查约束:
  ALTER TABLE person ADD CONSTRAINT person_age_ck CHECK(age BETWEEN 0 AND 150) ;
--为book表中的 pid添加与 person的主-外键约束,要求带级联删除
  ALTER  TABLE  book  ADD  CONSTRAINT  person_book_pid_fk  FOREIGN  KEY  (pid)
  REFERENCES person(pid) ON DELETE CASCADE ;
--删除约束:
 ALTER TABLE book DROP CONSTRAINT person_book_pid_fk ;
alter table student drop unique(tel);
--启用约束
ALTER TABLE book enable CONSTRAINT person_book_pid_fk ;
--禁用约束
ALTER TABLE book disable CONSTRAINT person_book_pid_fk ;

 

--视图:是一个封装了各种复杂查询的语句,就称为视图。
--CREATE VIEW  视图名字(字段) AS  子查询
create view empv_all as select * from scott.emp;

 

--创建序列
Create sequence myseq
Start with 1  
Increment by 1  
Order
cache 20 --设置是否在内存里缓冲
Nocycle;
--NextVal,CurrVal
Select myseq.nextval from dual;
Select myseq.currval from dual;
--(必须先有 nextval,才能有currval)

                                                                                                                      
--查询完之后就已经自增 1了

create table t1 (

       id int
      
)
select * from t1;
Insert into t1 values(myseq.nextval)  --这时候已经是2了
 
--Cycle,Cache
--而用了 nocycle,就可以确保当该序列用于多张表的时候,ID 是唯一的
 
--用 cycle时,用法如下:
create sequence myseq2 start with 1 increment by 1 cycle maxvalue 3
nocache ;

Select myseq2.nextval from dual;
Select myseq2.currval from dual;
--这样到3之后,要会重新从1开始  
--如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里
--面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉
--(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止
--这种情况
 
--不能改变当前值,但是可以改变增量
Alter sequence myseq increment by 3;


--同义词
--在任何一个用户下,都可以直接访问 dual,而不需要加上前缀的用户名如:scott.emp
Select * from dual;
 
--为什么?因为同义词的存在  
--Dual其实是sys用户下的一张表
select table_name from user_tables where lower(table_name) = 'dual';  
--作用:
--很方便的操作不同用户下的对象
--能使两个应用程序使用不同的名字指向同一张表
--使用不同的用户指向同一张表的。

Create synonym dept for soctt.dept;--(这样创建的同义词是私有的,只有创建者才能用)
Drop synonym dept;
Create public synonym dept for soctt.dept;--(这样创建的同义词才是公有的)
Drop public synonym dept;

 

--建立索引
create index emp_ix on emp(ename);

 
 
 

 

 

 

 

 

 

 

 



 

分享到:
评论

相关推荐

    springmvc+Oracle实现增删改查

    在本项目中,它与Oracle数据库相结合,实现了基本的增删改查(CRUD)操作,这是任何数据驱动应用的核心功能。Eclipse是常用的集成开发环境,为编写和调试Spring MVC项目提供了便利。 首先,让我们深入了解一下...

    C#连接oracle数据库执行简单的增删改查操作

    本示例详细介绍了如何使用C#连接Oracle数据库并执行基本的增、删、改、查(CRUD)操作。这里我们将深入探讨相关知识点。 首先,确保你的项目引用了`System.Data.OracleClient`命名空间,这是.NET Framework提供的...

    struts+oracle完成增删改查

    在本文中,我们将探讨如何使用Struts2与Oracle数据库协同工作,实现基本的增删改查功能。 首先,为了连接Oracle数据库,我们需要在项目的`lib`目录下包含两个关键的JAR文件:`class12.jar`和`oracle14.jar`。这些...

    oracle数据库中的对表中字段的增删改查

    在Oracle数据库中,对表中字段的增删改查是数据库管理的基础操作,涉及到数据库设计、数据完整性以及日常的数据维护工作。以下将详细介绍这四个基本操作,并结合标签“源码”和“工具”来探讨如何在实践中高效地完成...

    jsp_oracle增删改查

    jsp oracle增删改查操作,用最原始,最简单的的jdbc方式,提某位同学做的作业。估计很多人也要做同样的作业。所以传上来。 需要自己建一张表System.StuTable。4个字段,stuName,stuNumber,stuSex,ID

    jAVAfx的增删改查demo文件

    在"jAVAfx的增删改查demo文件"中,我们可以深入学习如何利用JavaFX实现数据管理的基本操作:增加(Add)、删除(Delete)、修改(Modify)和查询(Query)。 1. **JavaFX基础** - JavaFX是Oracle JDK的一部分,...

    ssh结合oracle增删改查

    在本主题中,“ssh结合oracle增删改查”主要探讨的是如何利用SSH框架与Oracle数据库进行数据的增、删、改、查操作。 **Struts2** 是一个基于MVC设计模式的Web应用框架,负责处理HTTP请求并将其转发到相应的Action,...

    ssh整合开发实现的增删改查功能

    下面将详细阐述SSH框架与Oracle数据库以及WebLogic服务器的整合过程及实现增删改查功能的关键步骤。 首先,Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求并将其转发到相应的业务逻辑层。它通过...

    oracle基本语法-增删改查-新手入门

    ### Oracle基本语法——增删改查 #### 一、Oracle简介与环境搭建 在学习Oracle基本语法之前,首先需要了解Oracle数据库系统的一些基础知识,并确保具备一个可以进行实践操作的环境。 - **Oracle简介**:Oracle是...

    mybatis 整合oracle (含增删改查)

    在实际开发中,将 MyBatis 整合到 Oracle 数据库进行数据操作,包括增删改查,是常见的需求。以下将详细介绍这个过程。 1. **环境准备** - **Oracle 数据库**:首先确保你已经安装并配置了 Oracle 数据库,创建好...

    mybatis+spring+struts2 使用oracle数据库 增删改查

    mybatis+spring+struts2 使用oracle数据库 增删改查,是把csdn原先的mysql数据库改成oracle数据库,直接在myeclipse上导入就行,并添加数据库myuser表,还有id,username,password等字段,压缩包下又myuser用记事本...

    springboot+mybatis+mysql+layUI+thymeleaf实现增删改查

    在本项目中,我们利用了SpringBoot、MyBatis、MySQL、LayUI和Thymeleaf这五种核心技术,构建了一个完整的Web应用程序,实现了学生信息管理系统的增删改查功能。下面将对这些技术及其在项目中的应用进行详细解释。 *...

    SSH2登陆增删改查

    SSH2登陆增删改查是Java Web开发中的一个经典应用场景,它涵盖了Struts2、Spring和Hibernate这三个核心框架的整合使用。Struts2作为表现层框架,负责处理HTTP请求和响应,提供MVC(Model-View-Controller)设计模式...

    常见web中增删改查实例

    `JSP对Oracle进行增删改查.doc`则可能专门讨论了使用JavaServer Pages(JSP)来操作Oracle数据库的方法。JSP是动态网页技术,可以直接在页面上编写SQL语句,通过JDBC驱动连接Oracle数据库,实现对数据的读取、添加、...

    oracle增删改查

    在Oracle数据库中,"增删改查"(CRUD:Create, Read, Update, Delete)是基本的操作,对于任何数据库管理员或开发人员来说,掌握这些技能至关重要。下面我们将深入探讨Oracle中的这些操作以及如何创建新的数据库。 ...

    Struts2 JDBC 增删改查

    在这个"Struts2 JDBC 增删改查"项目中,我们将探讨如何结合这两者来构建一个简单的数据管理应用。 首先,让我们深入理解Struts2的核心概念。Struts2框架提供了动作(Action)和结果(Result)的概念,动作负责处理...

    简单部门表的增删改查基于Oracle

    本教程将重点讲解如何在Oracle数据库上实现一个简单的部门表的增删改查(CRUD)操作,不依赖任何框架,仅使用Servlet和基本的Java编程。这对于初学者来说,是一个很好的实践项目,有助于理解数据库与Web应用的交互...

    实现部门员工管理增删改查员工的

    "实现部门员工管理增删改查"的系统设计与实现,旨在帮助初学者理解和掌握基础的编程逻辑以及数据库操作技术。这个小代码资源是为初学者量身定制的,旨在通过实践来提升他们的编程技能。 首先,我们要理解“增删改查...

    JSP对Oracle数据库进行增删改查实例.docx

    《JSP对Oracle数据库进行增删改查实例》 在Web开发中,JSP(JavaServer Pages)常常被用于创建动态网页,而Oracle数据库作为一款强大的关系型数据库管理系统,广泛应用于企业级应用。本实例将详细讲解如何使用JSP与...

    powerbuilder数据窗口的增删改查

    **PowerBuilder数据窗口的增删改查** PowerBuilder(PB)是一种强大的开发工具,尤其在构建数据库应用程序方面表现卓越。它提供了数据窗口(DataWindow)组件,使得与数据库的交互变得简单直观。在这个主题中,我们...

Global site tag (gtag.js) - Google Analytics