Oracle操作
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 命名
有时,由于某些约束的存在,例如,当前表的主键被其他表用作外键,会导致无法成功删除。利用cascade 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 |
HH12 |
某时刻的12进制小时数 |
11 |
HH24 |
某时刻的24进制小时数 |
23 |
MI |
某时刻的分钟数 |
30 |
SS |
某时刻的秒数 |
30 |
FF |
某时刻的毫秒数 |
121 |
一. Oracle中的复杂数据处理
1. avg()函数用于获得一组数据的平均值,该函数只能作用于数值型。
2. sum() 同样只能应用于数值型
3. count()函数用于统计记录数目。有三种情形
l 统计单列 列名作为count()函数的参数。当列值不为空时,将计数1,否则,将计数0
l 统计所有列 即count(*)进行统计,即使所有列值均为空,Oracle仍将计数
l 利用count(1)进行统计。 count(1)和count(*)返回值相同,对每条记录都计数1
二.Oracle中的运算
1.数学运算 包括加(+)、减(—)、乘(*)、除(/)、四种。无论操作数是何种数据类型,都将首先转换为数值型,然后才参与运算。 值得注意的是,当其中一个操作数的值为null时,运算结果仍然为null。
2.
三.Oracle中的特殊判式
Oracle进行条件判断时,最常见的操作符为“=”。除此之外,Oracle还提供了若干特殊判式进行逻辑判断。这些判式包括:
u between 范围测试
u in 集合成员测试
u like 模糊匹配 %(匹配任意长度的任意字符) _(匹配单个字符)
u is null 空置判断
u exits 存在性判断
u all、some、any 数量判断
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。