oracle学习记录

本文是11月14日的学习记录,涵盖decode函数使用、where 1=1构建动态SQL,还介绍了PL/SQL块创建、变量使用、运算符、全局变量声明等。同时涉及日期时间获取、数据表行与列获取,以及使用CREATE、ALTER等命令进行表的创建、修改、复制等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@TOC11月14日学习记录

1.decode函数的使用

decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
相关的代码:decode(t.enroll_channel,
‘mulLife’,
‘多彩生活’,
‘WCB’,
‘微信’,
‘BOC’,
‘手机银行’)as enroll_channel
t.enroll_channel是条件,如果选到了mulLife,就会返回多彩生活,其他类似,实现后的效果是一个复选框,有多彩生活,微信,手机银行这三个选择。

2.where 1=1再次复习

1=1的用处 主要用来构件动态SQL

String sql  =  "select a,b from table_a  where 1=1 "; 
if(!b.equals(""))
      sql += "and  b='"+b+"'";

当用户选择了b ( 假如b值为qwe )
结果就是:String sql = ''select a,b from table_a where 1=1 and b= ‘qwe’;

但是当用户没有选择b 那b就是一个空值

结果就是:String sql =’‘select a,b from table_a where 1=1’’; ,运行也不会出错,相当于没有限制b这个条件。

但是如果没有1=1的条件,则l String sql =’‘select a,b from table_a where’’ ; 这样就会报错。

3.创建PL/SQL块

先是declare部分是用来定义变量的,begin以后是执行的部分,end是结束。begin和end之间可以有一个exception用来处理异常,也可以没有。declare的部分,如果是常量或者没有定义变量,declare可以省略。
PL/SQL代码块
PL/SQL输出语句 dbms_output.put_line。

4.使用变量输出字符串

,例子
第二行定义了一个变量名为name的长度为20的varchar2变量,初始化值为welcome to oracle,字符串用单引号括起来。
||是拼接字符串的符号,相当于mysql里面的+,比如’111’||‘222’ 其结果就是’111222’。

5.PL/SQL支持的运算符

如图所示

6.PL/SQL声明全局变量

声明全局变量可以使用关键字VAL来实现,全局变量也叫宿主变量。
例子
name没有在declare中声明,但是可以直接用,是因为它是全局变量,PL/SQL块中访问全局变量时要在变量前加符号“:”。

7.PL/SQL输出指定精度的数据

number(6,3),即允许数字为6个,刻度为3表示四舍五入精确到小数点后3位。

8.PL/SQL获取当前日期时间

SYSDATE函数获取系统当前日期,TO_CHAR函数将当期日期进行格式化输出,其格式输出符“yyyy-mm-dd”表示按照“年-月-日”的格式输出,“hh24:mi:ss”表示按照“小时-分-秒”的格式输出,而加上输出符“Day”表示输出器对应的星期数。此外,函数TO_DATE也能实现日期时间的格式化输出。
如图
结果:Today is 星期日。

如图所示

9.PL/SQL使用记录类型输出数据表中的一行,

代码实现
例子首先声明了mystu对象,其数据类型为STUDENT %ROWTYPE,表示其为数据表STUDENT的一行,然后通过SELECT语句从数据表中获取一条记录到mystu对象中,可以使用“.”来访问对象中的属性。

10.PL/SQL获取数据表中的一列

%TYPE数据类型获取数据表中的列,与上面获取数据表中的行类似。

11.PL/SQL使用CREATE TABLE命令创建基本表

代码实例
如图所示

12.PL/SQL使用ALTER TABLE命令增加新字段

代码实例
给STU表添加为表STU增加了一个新的字段SMAJOR,它是一个长度20字节的字符数据,该字段不能为空且默认值为“计算机科学与技术”。

13.PL/SQL使用ALTER TABLE命令修改字段

代码实例
MODIFY是修改字段的关键字。代码实例
上述语句将ADD、MODIFY等关键字修改为DROP,并在其后加上字段名就能完成删除操作。
重命名基本表:rename关键字,把stu重命名为stu1
代码实例
复制相同结构的表,用as关键字来复制。
使用DROP TABLE命令删除表。
主键约束primaryKey
代码实例
唯一性约束 :UNIQUE约束
CHECK约束:指定SGENTLE字段的输入只能为“男”或“女”,指定SAGE字段的输入只能在10到90之间。
代码实例
外键约束也即FOREIGN KEY约束
代码实例
删除约束也用drop

14.PL/SQL根据查询结果创建和复制表

代码实例
as关键字实现了复制。

参考文章:
https://blog.youkuaiyun.com/qichangjian/article/details/88975499
https://blog.youkuaiyun.com/qq_23994787/article/details/79045768

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值