您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> oracle教程 >> 正文

Oracle操作

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   1.查看当前数据库的实例名: show parameter instance_name

  2.数据表结构的相关操作

  创建数据表: create table 表名(列1 数据类型1,列2 数据类型2…….) tablespace 表空间名

  修改数据表:

  l 添加新列: alter table 表名 add (新添加的列名 数据类型 )

  l 修改和删除已有列:alter table 表名 modify(列名 数据类型); alter table 表名 drop column 列名;

  l 重命名列:alter table 表名rename column 旧列名 to 新列名

  l 将表转移到另一个表空间中: alter table 表名 move tablespace 新的表空间

  删除数据表: 当一个数据表没有存在的意义时,则需要执行删除操作

  drop table 命名

  有时,由于某些约束的存在,例如,当前表的主键被其他表用作外键,会导致无法成功删除。利用casca

de constraints选项可以将约束同时删除,从而保证drop table 命令一定能够成功执行。

  3.利用user_tab_cols根据列名获得所在表的信息

  例如:

  Select table_name from user_tab_cols wherelower(column_name)='student_id';

  4.更新数据

  向数据表插入数据: insert into 表名(列名1,列名2,列名3...列名n)

  values(值1,值2,值3...值n);

  更新数据:

  ? 更新单列:update 表名 set 列=新值;

  ? 更新多列:update 表名 set 列1=新值1,列2=新值2,...

  ? 注意事项:对于update操作,最容易被忽视的就是添加where条件。上面两条语句是很危险的。因为没有添加任何限制条件,因此Oracle将更新表中的所有数据。而实际应用中,往往只需要更新部分数据。因此,对于重要数据的update操作,

首先添加where关键字是一个好的习惯,尽管有时候并不需要过滤条件。例:update 表名 set 列=新值 where...;

  5.删除数据

  delete 操作用于删除表中数据。除了delete语句之外,truncate命令同样可以删除表中数据。

  delete from 表名 因为删除动作的作用对象为记录级别,因此无需指定列名信息。

  delete from students where student_id>10;如同update 语句,在使用delete语句时,添加where字句是一个好的习惯。

这样可以避免删除表中的所有数据。

  truncate table语句与delete 语句是有本质区别的。Delete语句与insert、update语句同属于DML——数据操作语言的范畴,当数据修改之后,可以通过回滚操作,忽略所做的数据修改。而truncatetable语句则是属于DDL——数据定义语言的范畴,当数据被删除之后,无法回滚。 通过truncate table命令删除表students的数据。 Truncate table students;

  6.Oracle中的字符型及处理方法

  ü 固定长度字符串char(n)

  ü 可变长度字符串varchar(n) 当实际字符串的长度不足时,不会使用空格进行填充

  ü varchar2(n) 与varchar(n)类型一样是可变长度字符串类型,最大长度都为4000。Oracle在工业标准之外,

自定义了该类型。使用varchar2(n)可以获得Oracle向后兼容性的保证。

  ü 变量声明中的字符串类型 3种字符串类型——char(n)、varchar(n)、varchar2(n),都可以用于声明变量,

但是,最大长度均为32767ü 字符型处理:

  l 返回字符串的小写和大写形式——lower()和upper()函数

  l 单词首字符大写——initcap() 不管字符是全大写还是全小写形式,经过initcap()函数转变后,都为首字符大写,

其余小写的形式。

  l 返回字符串长度——length() 例:select length(‘12345’) from dual;

  l 截取字符串——substr()函数 substr(string,start_index,length)

  l 删除字符串左侧和右侧空格和两侧空格——ltrim()和rtrim()和trim() 例:select ltrim(‘ 000’) new_str from dual;

  l 串联字符串——concat()函数 将两个字符串进行连接

  l 反转字符串——reverse()函数 例:select reverse(‘abcdef’) from dual; 输出结果为:fedcba

  7.Oracle中的数值型及处理方法

  2 将ASCII码转换为字符——chr()函数 select chr(65) character from dual;将输出大写字符A

  2 格式化数值——to_char()函数 to_char(原数值,格式) 其中格式参数由一系列的字符组成。常用字符包括:0、9、,、FM、$、L、C、X

  8.Oracle中的日期型及处理方法

  获得当前日期——sysdate() select sysdatefrom dual;

  为日期加上特定月份——add_months()函数 例如为当前加一个月:selectadd_months(sysdate,1) new

_date from dual;

  返回特定日期所在月的最后一天——last_day()函数

  将日期转换为字符串——to_char()函数 to_char()函数不仅可以用于数值的格式化,同样可以对日期进行格式化。

to_char()函数格式化日期的使用方法如下所示。to_char(日期,格式) 例子:selectto_char(sysdate,’YYYY-MM-DD’)

new_date from dual; 对于to_char()函数来说,所能使用的格式也是Oracle预定义的。如下表:

  To_char()函数中,用于日期的格式信息

格式代码

说明

转换结果实例

YEAR

获得年份的全拼

Two thousand nine

YYYY

四位年份

2009

YYY

年份的后三位

009

YY

年份的后两位

09

Y

年份的后一位

9

Q

季度

2

MM

两位月份

06

MON

月份的缩写

6月

MONTH

月份

6月

WW

一年中的第几周

26

W

一月中的第几周

4

D

一周中的第几天

5

DAY

一周中的星期几

星期四

DD

一月中的第几天

25

DDD

一年中的第几天

176

DY

一周中星期几的缩写

星期四

HH

某时刻的小时数

11