二、Oracle学习笔记:常用数据类型和关键字
一、Oracle数据中常用的数据类型
1.number(p[,s]):表示数字类型。
p:表示数字的有效长度
s:表示小数点后的位数。
整数位最大位数: p-s
reg:number(5,2):最大值999.99。
number(2):最大值为99
2.char 表示定长字符串类型。
不规定 默认为1个字节。
规定:char(n)
最大字节数:2000个。
定长:在存储时,不满规定个数时,也会占用内存规定的字节数。
reg: char(10),当存了"a"时,也占用内存10个字节。
3.varchar2 表示可变字符串类型
规定:varchar2(n):
可变,会按照实际存储的字节数占用内存,不可以超出规定长度。
最大字节数4000.
4.long类型:
最多存2G的字节数
5.clob类型:
最多存4G的字节数。
6.date类型:日期类型
默认格式: dd-mon-rr
占用7个字节。
7.timestamp:时间戳类型
可以精确到时分秒。
二、null 关键字 NOT null 非空约束
1.建表期间,可以对某一字段进行非空约束,在insert时 ,此字段必须是要有数据。
reg: create table temp(
id number(4),
name varchar2()not null,
) ;
在insert时 name字段必须有值。
2.没有进行非空约束的字段都可以插入数据null
3.表中存在数据,不可以新增字段为非空字段。
4.对表中的任何字段进行非空约束的修改,eg:alter table tname modify colName null;
5.空值操作:
null:表示为空
(1)表中的任何字段,默认情况下都可以为null值
(2)not null 表示非空是一种约束,表示不能为空,必须有有效值
(3)插入数据时
reg: insert into emp (ename,empno) values('张三',2001)--此条记录中其他字段都是null
reg: insert into emp (empno,ename) values(2002,null)--此条记录中ename字段为null,别的字段也是null
(4)修改数据时
a.当空值为条件时
update emp set ename='zhangsan' where comm is null;
b.当被设置为空值时
update emp set ename=null where comm is null;
(5)当空值参与计算时,任何值加null都是null,null也不等于null
(6)空值操作函数
a. nvl(p1,p2)
如果p1的值为null,就用p2补上,否则使用p1
eg:计算员工的年收入
select ename,sal*12+nvl(comm,0) from emp;
eg:统计每个员工的奖金,如果没有奖金就发放50元
select nvl(comm,50) from emp;
b. nvl2(p1,p2,p3)
如果p1是null是用p3,如果不是null使用p2
eg:统计员工的额外补助,如果有奖金,补助50元,没有奖金补助10元
select nvl2(comm,comm+50,10) from emp;
三、default关键字:
1.建表期间,可以对某一字段设置默认值,在insert期间 ,如果不对此字段进行传值,那么此记录的这个字段就是默认值。
reg : create table temp(
id number(4),
name varchar(30)not null,
gender char(1) default 'm',
);
insert into temp (id,name) values(1001,'zhansna');
此记录的gender的值为'm'
二、Oracle学习笔记:常用数据类型和关键字相关推荐
- 判断题:oracle自带的sql语言环境是pl/sql,Oracle之PL/SQL学习笔记之数据类型(三)
Oracle之PL/SQL学习笔记之数据类型(三) 所有的编程语言中变量是使用最频繁的.PL/SQL作为一个面向过程的数据库编程语言同样少不了变量,利用变量可以把PL/SQL块需要的参数传递进来,做到 ...
- oracle update单引号,Oracle学习笔记:update的字段中包括单引号
平时update的时候直接更改字段内的值,例如: update table_temp set name = 'Hider' where id = 100; 但更新后的值中包括单引号,则不能按以上方式进 ...
- Oracle学习笔记 字符集概述
Oracle 学习笔记 字符集概述 这节课开始讲oracle里面的字符集 偏重于原理和简单的一些判断以及实现 字符集它涉及到很多的东西 比如建库和操作系统环境 这节课把字符集的原理性的东西以及常见的操 ...
- Python学习笔记:常用内建模块2:collections
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- oracle学习笔记 参数文件及数据库的启动和关闭
oracle学习笔记 参数文件及数据库的启动和关闭 我们这节课把oracle的参数文件以及oracle的启动关闭讲一下 一)参数文件作用 先看oracle的参数文件 它由来已久了 我们知道oracle ...
- oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型
oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...
- Oracle学习笔记---(一)
Oracle学习笔记---(一) 一 1.Oracle简介 Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库:是一个对象关系数据库管理系统(ORDBMS).它提供了关系数据库 ...
- oracle学习笔记 Oracle体系结构概述
oracle学习笔记 Oracle体系结构概述 从这节开始,开始讲oracle数据库体系结构. 首先从总体上,从概述上把oracle整体的体系结构讲一下, 然后接下来的时间我们会一块一块的将oracl ...
- Android学习笔记-常用的一些源码,防止忘记了
Android学习笔记-常用的一些源码,防止忘记了... 设置拨打电话 StringdialUri="tell:"+m_currentTelNumble; IntentcallIn ...
- oracle学习笔记 oracle软件安装准备工作 第一部分 环境准备
oracle学习笔记 oracle软件安装准备工作 第一部分 环境准备 这节课对初学者来说内容较多,我把它分成了三篇. 即使这样也不可能把每个可能遇到的问题都说到,如果遇到没说到的问题自己上网搜 ...
最新文章
- 使用OSOT来优化虚拟桌面2
- 如何制定有价值的目标
- LeetCode 259. 较小的三数之和(固定一点,内层双指针)
- 试玩C++ 操作页面控件
- Qt文档阅读笔记-对Style Plugin Example实例的解析
- linux下网络配置 命令
- 微软官方Power Query M语言规范参考手册(Power Query M function reference)
- SCADA和三大工业控制系统PLC、DCS、FCS
- 搜集的一些电压跟随器的问题和回答
- 【PhotoShop】用图片自带的alpha通道抠图
- MB/T 2020/4/9-技术创新方法·概述
- puts() 与 printf() 的对比
- 在记事本中无限循环_意外空间:比恐怖游轮更无解的循环迷宫
- 大二学期总结(我的机器人开发之路)
- htons(), htonl(), ntohs(), ntohl()
- debounce 防抖函数
- linux服务器经常断网,linux-使用screen,防止断网导致异常退出
- cf反恐穿越前线java,穿越前线反恐使命
- win10任务栏透明—注册表方法【新增半透明】
- (30)虚拟时钟create_virtual_clock
热门文章
- leetcode 31. Next Permutation(字典序的下一个)
- 用SQL Server(T-SQL)获取连接字符串
- 【设计模式和面向对象设计】拾零(持续更新,个人零散笔记)
- iframe操作ie,firefox兼容
- html字体_斗鱼关注人数爬取 | 字体反爬的攻与防
- 拓端tecdat|R语言在RCT中调整基线时对错误指定的稳健性
- Linux学习笔记(7)
- 基于差分分级和关联规则挖掘的气象数据关联性分析实战
- 协同过滤Collaborative Filtering
- Linux命令 查看端口占用情况