oracle增删改查语句

or

‎ac

‎le

‎增删

‎改查

‎语句

‎篇一

‎:

‎or

‎ac

‎le

‎基本

‎语法

‎(增

‎删改

‎查)

‎ 安

‎装P

‎L/

‎SQ

‎L

‎De

‎ve

‎lo

‎pe

‎r

‎前提

‎:

‎必须

‎安装

‎Or

‎ac

‎le

‎的客

‎户端

‎ 卸

‎载:

-

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

‎Co

‎mm

‎an

‎d

‎Wi

‎nd

‎ow

‎ -

‎-

‎SQ

‎LP

‎LU

‎S

‎SQ

‎L

‎Wi

‎nd

‎ow

‎ -

‎-

‎用来

‎开发

‎SQ

‎L程

‎序

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

‎数据

‎库

‎增删

‎改

‎--

‎ 3

‎0%

‎ 查

‎ -

‎-

‎70

‎%

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎ 创

‎建表

‎:

‎cr

‎ea

‎te

‎ t

‎ab

‎le

‎ 表

‎名(

‎ 列

‎1

‎类型

‎,

‎列2

‎ 类

‎型

‎);

‎ 字

‎符类

‎型

‎ch

‎ar

-

‎-

‎定长

‎字符

‎串

‎na

‎me

‎ c

‎ha

‎r

‎(1

‎0)

‎ -

‎-

‎保存

‎一个

‎值到

‎na

‎me

‎ab

‎c

‎--

‎实际

‎存储

‎后的

‎结果

‎是-

‎-

‎ab

‎c

v

‎ar

‎ch

‎ar

‎2

‎--

‎ 变

‎长字

‎符串

‎ n

‎am

‎e

‎va

‎rc

‎ha

‎r2

(

‎10

‎)

‎--

‎ 保

‎存一

‎个值

‎到n

‎am

‎e

‎ a

‎bc

‎ -

‎-实

‎际存

‎储后

‎的结

‎果是

‎--

‎ a

‎bc

‎cl

‎ob

‎ -

‎-

‎保存

‎超大

‎文本

‎ 4

‎G

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

‎数字

‎类型

‎有的

‎数字

‎(整

‎数,

‎浮点

‎数)

‎都是

‎nu

‎mb

‎er

‎ 定

‎义一

‎个工

‎资的

‎保存

‎列

‎sa

‎l

‎nu

‎mb

‎er

‎(5

‎,2

‎)

‎-9

‎99

‎.9

‎9

‎~

‎99

‎9.

‎99

‎ 年

‎龄

‎ag

‎e

‎nu

‎mb

‎er

(

‎2)

‎ -

‎99

‎ ~

‎ 9

‎9

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

‎日期

‎类型

‎ d

‎at

‎e

‎--

‎存年

‎月日

‎,时

‎分秒

‎ -

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

‎二进

‎制类

‎型

‎BL

‎OB

-

‎-

‎最大

‎不能

‎超过

‎4G

‎;

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎ 表

‎结构

‎的基

本操

‎作:

0

‎、查

‎看表

‎结构

‎ d

‎es

‎c表

‎名

1

‎、添

‎加一

‎个字

‎段

‎al

‎te

‎r

‎ta

‎bl

‎e

‎表名

‎ a

‎dd

‎(列

‎类型

‎);

‎2、

‎修改

‎字段

‎类型

‎ a

‎lt

‎er

‎ t

‎ab

‎le

‎ 表

‎名

‎mo

‎di

‎fy

‎(列

‎类型

‎);

‎ ‎3、

‎删除

‎一个

‎字段

‎ a

‎lt

‎er

‎ t

‎ab

‎le

‎ 表

‎名

‎dr

‎op

‎ c

‎ol

‎um

‎n

‎列名

‎;

4

‎、修

‎改表

‎的名

‎字

‎re

‎na

‎me

‎ s

‎tu

‎de

‎nt

‎ t

‎o

‎st

‎u

5

‎、删

‎除表

‎ d

‎ro

‎p

‎ta

‎bl

‎e

‎表名

‎ *

‎*

‎如果

‎需要

‎修改

‎列的

‎名字

‎ 新

‎增一

个字

‎段,

‎然后

‎迁移

‎数据

‎,最

‎后删

‎除原

‎字段

‎ 或

‎者使

‎用图

‎形化

‎工具

‎ 如

‎果

‎值,

‎这种

‎删除

‎,是

‎没有

‎办法

‎恢复

‎的。

‎上述

‎修改

‎表结

‎构相

‎关的

‎语句

‎叫做

‎DD

‎L

‎,修

‎改,

‎是没

‎有办

‎法恢

‎复的

-

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-插

‎入数

‎据

‎cr

‎ea

‎te

‎ t

‎ab

‎le

t

‎es

‎t(

‎ i

‎d

‎nu

‎mb

‎er

‎,

‎na

‎me

‎ v

‎ar

‎ch

‎ar

‎2(

‎20

‎),

‎ a

‎ge

‎ n

‎um

‎be

‎r

‎(2

‎)

‎);

‎ 1

‎)

‎in

‎se

‎rt

‎ i

‎nt

‎o

‎表名

‎ v

‎al

‎ue

‎s(

‎所有

‎列的

‎值)

‎;

‎in

‎se

‎rt

i

‎nt

‎o

‎te

‎st

‎ v

‎al

‎ue

‎s(

‎1,

‎ z

‎ha

‎ng

‎sa

‎n

‎,2

‎0)

‎;

‎2)

‎ i

‎ns

‎er

‎t

‎in

‎to

‎ 表

‎名(

‎列)

v

‎al

‎ue

‎s(

‎对应

‎的值

‎);

‎ i

‎ns

‎er

‎t

‎in

‎to

‎ t

‎es

‎t(

‎id

‎,n

‎am

‎e)

‎ v

‎al

‎ue

‎s(

‎2,

‎ l

‎is

‎i

i

‎ns

‎er

‎t

‎in

‎to

‎ t

‎es

‎t(

‎na

‎me

‎,a

‎ge

‎)

‎va

‎lu

‎es

‎(

‎wa

‎ng

‎wu

‎ ,

‎20

‎);

‎ -

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

-

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

‎更新

‎语句

‎ u

‎pd

‎at

‎e

‎表

‎se

‎t

‎列=

‎新的

‎值

‎[w

‎he

‎re

‎ 条

‎件]

‎ -

‎-》

‎更新

‎满足

‎条件

‎的记

‎录

‎up

‎da

‎te

‎ t

‎es

‎t

‎se

‎t

‎na

‎me

‎=

‎zh

‎an

‎gs

‎an

‎2

‎wh

‎er

‎e

‎na

‎me

‎=

‎zh

‎an

‎gs

‎an

‎up

‎da

‎te

‎ 表

‎ s

‎et

‎ 列

‎=新

‎的值

‎ -

‎-》

更新

‎所有

‎的数

‎据

‎up

‎da

‎te

‎ t

‎es

‎t

‎se

‎t

‎ag

‎e

‎=2

‎0;

‎ -

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎--

‎-

‎**

‎删除

‎数据

‎:

‎几种

‎删除

‎方式

‎:

‎1)

‎ d

‎el

‎et

‎e

‎fr

‎om

‎ 表

‎名

‎wh

‎er

‎e

‎条件

‎ -

‎-

‎删除

‎满足

‎条件

‎的记

‎录

‎de

‎le

‎te

‎ f

‎ro

‎m

‎te

‎st

‎ w

‎he

‎re

‎ i

‎d

‎=

‎1;

‎ d

‎el

‎et

‎e

‎fr

‎om

‎ t

‎es

‎t

‎;

‎--

‎ 删

‎除所

‎有

‎mi

‎t;

‎ -

‎-

‎提交

‎数据

‎ r

‎ol

‎lb

‎ac

‎k;

‎ -

‎-

‎回滚

‎数据

‎ d

‎el

‎et

‎e方

‎式可

‎以恢

‎复删

‎除

‎数据

‎,但

‎是提

‎交了

‎,就

‎没办

‎法了

‎ d

‎el

‎et

‎e删

‎除的

‎时候

‎,会

‎记录

‎日志

‎ -

合集下载

Oracle基本操作《DOC命令》

Oracle基本操作《DOC命令》

系统权限

在doc命令中启动Oracle

(注意下文中<>为不存在只是为了标识)

其中的一些权限为系统权限(都是用超级管理员授予的)

1:启动SQL*PLUS:

在相应盘符下输入:sqlplus / as sysdba;

2:启动监听器

在相应盘符下输入:lsnrctl start(我的电脑默认在D盘下)

3:启动实例

在相应盘符下输入:oradim -starup -sid sjbitdb(我的电脑默认在D盘下)

4:展示当前用户名

在SQL语句中输入:show user;

5:创建用户

在SQL语句中输入:create user identified by ;

6:为用户创建会话权限

在SQL语句中输入:grant create session to ;

7:使用用户登录

在相应盘符下语句中输入:sqlplus / 注意后面没有分号。

8:为用户创建表权限

在SQL语句中输入:grant create table to ;

9:为用户创建表空间权限

在SQL语句中输入:grant unlimited tablespace to ;(unlimited是没有任何限制的意思)

10:创建表

在SQL语句中输入:create table ( );(举例)

11:向表中插入数据

在SQL语句中输入:insert into values();(举例)

12:查询表中的数据

在SQL语句中输入:select * form ;

13:删除表

在SQL语句中输入:drop table ;

14:撤销用户的会话权限

在SQL语句中输入:revoke create session fr om ;

15:撤销用户的创建表权限

在SQL语句中输入:revoke create table from ;

ORACLE增删改查以及casewhen的基本用法

ORACLE增删改查以及casewhen的基本用法

ORACLE增删改查以及casewhen的基本⽤法1.创建tablecreate table test01(

id int not null primary key,

name varchar(8) not null,

gender varchar2(2) not null,

age int not null,

address varchar2(20) default ‘地址不详’ not null,

regdata date

);

约束⾮空约束 not null主键约束 primary key外键约束唯⼀约束 unique检查约束 check联合主键

constraint pk_id_username primary key(id,username);

查看数据字典

desc user_constraint

修改表时重命名

rename constraint a to b;

--修改表删除约束--

禁⽤约束

disable constraint 约束名字;

删除约束

drop constraint 约束名字;

drop primary key;直接删除主键

外键约束

create table typeinfo(typeid varchar2(20) primary key, typename varchar2(20));

create table userinfo_f( id varchar2(10) primary key,username varchar2(20),typeid_new varchar2(10) references typeinfo(typeid));

insert into typeinfo values(1,1);

创建表时设置外键约束

constraint 名字 foregin

create table userinfo_f2 (id varchar2(20) primary key,username varchar2(20),typeid_new varchar2(10),constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid));

oracle临时表空间的增删改查操作

oracle临时表空间的增删改查操作

操作

oracle 临时表空间的增删改查

1、查看临时表空间 dba_temp_files视图v_$tempfile视图

select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from

dba_temp_files;

select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看

2、缩小临时表空间大小

alter database tempfile 'D:\ORACLE\PRODUCT\' resize 100M;

3、扩展临时表空间:

方法一、增大临时文件大小:

SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/’ resize 100m;

方法二、将临时数据文件设为自动扩展:

SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/’ autoextend on next

5m maxsize unlimited;

方法三、向临时表空间中添加数据文件:

SQL> alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/orcl/’ size

100m;

4、创建临时表空间:

SQL> create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/orcl/’

size 10M;

5、更改系统的默认临时表空间:

--查询默认临时表空间

select from database_properties where

property_name='DEFAULT_TEMP_TABLESPACE';

Oracle操作数据库(增删改语句)

Oracle操作数据库(增删改语句)

Oracle操作数据库(增删改语句)

对数据库的操作除了查询,还包括插⼊、更新和删除等数据操作。后3种数据操作使⽤的 SQL 语⾔也称为数据操纵语⾔(DML)。

⼀、插⼊数据(insert 语句)

插⼊数据就是将数据记录添加到已经存在的数据表中,可以通过 insert 语句实现向数据表中⼀次插⼊⼀条记录,也可以使⽤ select ⼦句将查询结果批量

插⼊数据表。

1、单条插⼊数据

语法:insert into table_name [ (column_name[,column_name2]...) ] values(express1[,express2]... )

table_name:要插⼊数据的表名

column_name1 和 column_name2:指定表的完全或部分列名称

express1 和 express2 :表⽰要插⼊的值列表

EG:

SQL > insert into dept(deptno,dname,loc) values(88,'Tony','tianjin')

注意:

 insert into 中指定添加数据的列,可以是数据表的全部列,也可以是部分列 给指定列添加数据时,需要注意哪些列不能空;对于可以为空的列,添加数据可以不指定值;添加数据时,还应该数据添加数据和字段的类型和范围

向表中所有列添加数据时,可以省略 insert into ⼦句后⾯的列表清单,使⽤这种⽅法时,必须根据表中定义列的顺序为所有的列提供数据

添加数据时,还应该注意哪个字段是主键(主键的字段是不允许重复的),不能给主键字段添加重复的值 

2、批量插⼊数据

insert 语句还可以⼀次向表中添加⼀组数据,可以使⽤ select 语句替换原来的 values ⼦句,语法如下:insert into table_name [ (column_name1[,column_name2...]...) ] selectSubquery

oracle 查询归档日志里面的操作过程

oracle 查询归档日志里面的操作过程

oracle 查询归档日志里面的操作过程

查询归档日志中的操作过程

归档日志是Oracle数据库中非常重要的一部分,它记录了数据库在运行过程中的所有操作。通过查询归档日志,我们可以获取到数据库的操作历史,包括对表的增删改查、数据库连接的建立和断开、事务的提交和回滚等等。本文将介绍如何使用Oracle的SQL语句来查询归档日志中的操作过程。

我们需要了解一下归档日志的结构。归档日志是以日志序列号(也称为SCN)为单位进行存储的,每个日志序列号对应了一组操作记录。在查询归档日志时,我们需要指定一个起始的日志序列号和一个结束的日志序列号,然后Oracle会返回这个范围内的所有操作记录。

在Oracle中,可以使用以下SQL语句来查询归档日志中的操作过程:

```sql

SELECT

scn,

to_char(timestamp, 'YYYY-MM-DD HH24:MI:SS') AS

operation_time,

operation,

sql_redo FROM

v$logmnr_contents

WHERE

scn BETWEEN AND

ORDER BY

scn;

```

上述SQL语句中,`v$logmnr_contents`是Oracle提供的一个视图,它包含了归档日志中的操作记录。`scn`代表日志序列号,`timestamp`代表操作时间,`operation`代表操作类型(例如INSERT、UPDATE、DELETE等),`sql_redo`代表操作对应的SQL语句。

在使用这个SQL语句查询归档日志时,我们需要替换``和``为实际的起始和结束的日志序列号。可以通过以下方式来获取当前数据库的最早和最新的日志序列号:

```sql

SELECT

min(scn) AS min_scn,

max(scn) AS max_scn

oracle api、接口开发实例

oracle api、接口开发实例

主题:Oracle API接口开发实例实践

一、背景介绍

在企业信息化系统中,API接口是非常重要的一部分。Oracle作为一款领先的数据库系统,也提供了丰富的API接口开发工具和技术。本文将通过实际案例,介绍Oracle API接口开发的实践经验和技巧。

二、Oracle API接口开发概述

1. 什么是Oracle API接口?

Oracle API接口是通过调用Oracle数据库中的程序单元来实现数据交换和业务逻辑处理的一种技术。通过API接口,可以实现数据库与外部系统的数据交互,实现数据的增删改查操作,以及业务逻辑的执行。

2. Oracle API接口开发工具和技术

Oracle提供了多种API接口开发工具和技术,如PL/SQL、Java API、RESTful API等。开发人员可以根据具体的需求和场景选择合适的技术来进行API接口开发。

三、实例介绍

以一个简单的用户信息管理系统为例,介绍如何通过Oracle API接口实现用户信息的增删改查操作。

1. 用户信息管理系统的需求 假设我们有一个用户信息管理系统,需要实现以下功能:

- 查询用户信息

- 新增用户信息

- 修改用户信息

- 删除用户信息

2. 数据库设计

我们需要在Oracle数据库中创建一个用户信息表,包括用户ID、用户名、性别、芳龄等字段。

3. API接口开发

针对用户信息管理系统的需求,我们可以通过PL/SQL语言编写API接口,实现相应的功能。编写查询用户信息的API接口,可以使用如下PL/SQL语句:

```sql

CREATE OR REPLACE PROCEDURE get_user_info (userId IN

NUMBER, userInfo OUT SYS_REFCURSOR) AS

BEGIN

OPEN userInfo FOR

SELECT * FROM user_info WHERE user_id = userId;

Oracle 10g数据库连接及增删改查

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class JdbcConnection {

public static void main(String[] args) {

//getCon();

// insertTbUser();

updateUser();

//query();

//delTbUser();

}

public static void insertTbUser() {

String url = "jdbc:oracle:thin:@localhost:1521:orcl";

String driverClass = "oracle.jdbc.driver.OracleDriver";

try {

Class.forName(driverClass);

Connection con = java.sql.DriverManager.getConnection(url,

"mm",

"mm");

// statement开辟一个通道

java.sql.Statement st = con.createStatement();

String insertSql = "insert into

tb_user(userid,username,password)" +

// 执行sql语句,返回操作所影响的条数。

"values(101,'zhuyu','zhuyu')";

st.execute(insertSql);

st.close();

数据库常用增删改查语句

数据库常⽤增删改查语句

创建⼀个表

CREATE TABLE 表名称

(

列名称1 数据类型,

列名称2 数据类型,.......)

1、增

(1)插⼊元祖

INSERT

INTO[([,]...)]

VALUES([,]...);

(2)插⼊⼦查询结果

INSERT

INTO[([,...])]

⼦查询;

例:

INSERT

INTO TongXueLu ('姓名','地址','电⼦邮件')

SELECT name,address,email

FROM Students

2、删

DELETE

FROM

[WHERE];

3、改

UPDATE

SET=[,=]

[WHERE];

4、查

⼀般格式:

SELECT [ALL|DISTINCT]<⽬标列表达式>[,<⽬标列表达式>]...

FROM[,]|()[AS]

[WHERE] //检索条件

[GROUP BY[HAVING]] //分组筛选条件

[ORDER BY[ASC|DESC]]; //排序依据

4.1 单表查询

(1)查询全体学⽣的学号。DISTINCT表⽰删除重复元素,如果不加则默认为ALL,则保留重复值。

SELECT DISTINCT Sno

FROM Student;

各个列的先后顺序可以与表中不⼀致。⽤户可以根据应⽤的需要改变列的显⽰顺序。

(2)查询全体学⽣的详细记录。

SELECT *

FROM Student;

(3)查询全体学⽣的学号、姓名及其出⽣年份。2020-Sage表⽰查询经过计算的值。

SELECT Sno,Sname,2020-Sage

FROM Student;

(4)查询满⾜条件的元祖

1)⽐较

SELECT Sname,Sage

FROM Student

WHERE Grade<60;

2)确定范围

SELECT Sname,Sdept,Sage

FROM Student

WHERE Sage NOT BETWEEN 20 AND 23;

3)确定集合

SELECT Sname,Ssex

FROM Student

Oracle表的增删改查

1 / 8 表的增删改查

创建表

CREATE TABLE [用户名.]表名

(列名 数据类型 [default 默认值] [,...]...);

SQL> create table t1 (

2 id number(10),

3 name varchar2(20),

4 password varchar2(30));

SQL> create table tab1 as select * from emp where sal>2000;

SQL> create table tab2 as select * from emp where 1=2;

增加修改删除列

增加一列

ALTER TABLE [用户名.]表名

ADD (列名1 数据类型[DEFAULT 表达式],[列名2 数据类型],...)

SQL> desc t1;

名称 是否为空? 类型

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

ID NUMBER(10)

NAME VARCHAR2(20)

PASSWORD VARCHAR2(30)

SQL> alter table t1 add (sal number(10));

SQL> desc t1;

名称 是否为空?

类型

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

ID NUMBER(10)

NAME VARCHAR2(20)

PASSWORD VARCHAR2(30)

Oracle存储过程的增、删、改、查的简单举例(精)

Oracle存储过程的增、删、改、查: Packages: create or replace package

emp_pags is type emp_cour is ref cursor;--定义游标类型的变量emp_cour-- --添加员工-- function saveEmp(e_ename emp.ename%TYPE, e_job emp.job%TYPE, e_sal

emp.sal%TYPE, e_deptno emp.deptno%TYPE return integer;--定义返回类型-- --修改员工信息-- function updateEmp(e_empno emp.empno%TYPE, e_ename

emp.ename%TYPE, e_job emp.job%TYPE, e_sal emp.sal%TYPE, e_deptno

emp.deptno%TYPE return integer;--定义返回类型-- --删除员工-- function

deleteEmp(e_empno emp.empno%TYPE return integer ; --查询全部-- procedure

queryAll(emps out emp_cour;--定义一个输出类型的参数emps-- --查询单条--

procedure queryById(e_empno in number,emps out emp_cour;--定义-- --两表查询--

procedure queryJoin(empJoin out emp_cour; end emp_pags; Package bodies: create or

replace package body emp_pags is --添加员工-- function saveEmp(e_ename

emp.ename%TYPE, e_job emp.job%TYPE, e_sal emp.sal%TYPE, e_deptno

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档