Oracle02:Oracle的数据类型、建表建约束

Oracle数据库 建表,列的约束,数据字典 1.建表 建表的格式 create table 表名( 列名1 数据类型 列级约束, 列名2 数据类型 列级约束, 列名3 数据类型 列级约束, 列名4 数据类型 列级约束, 表级约束1, 表级约束2 ); **同时,列级约束和表级约束都是可选的,也就是都可以写也可以不写。** 根据以上格式,可以看出,建表过程中,需要以下几种东西:     1.关键字     2.表名(长度1-30个字符) &n 阅读详情

1.1 Oracle数据类型

1、字符类型

字符串数据类型还可以依据存储空间分为固定长度类型(CHAR) 和可变长度类型

( VARCHAR2 、NVARCHAR2)两种。

(1) CHAR类型

CHAR类型,定长字符串,会用空格填充来达到其最大长度。非NULL的CHAR(12)

总是包含12字节信息。CHAR字段最多可以存储2,000字节的信息。如果创建表时,不指定CHAR长度,则默认为1。

在Oracle中,一个中文字符占3个字节;一个英文字符或数字占一个字节。

例如:char(3)  男、abc、123、a11

当存一个a时会自动补充两个空格

(2) VARCHAR2类型

VARCHAR2变长字符串,Oracle中特有,和mysql中的varchar一样,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4000字节的信息。

在Oracle中,一个中文字符占3个字节;一个英文字符或数字占一个字节。

例如:varchar2(6)  张三、123456、abcdef

当存“张”时,相当于长度变成了3

(3)NVARCHAR2类型

NVARCHAR2变长字符串,这是一个包含UNICODE格式数据的变长字符串。NVARCHAR2 最多可以存储4000字节的信息。

在Oracle中UNICODE格式数据一个字符占一个字节,中英文都一样

例如:NVARCHAR2(3)  云南人、123、abc、a45

当存“云”时长度相当于变成了1

2、数字类型

(1)NUMBER类型

NUMBER(P,S)是最常见的数字类型。

P是Precision的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字。

S是Scale的英文缩写,表示小数点数字的位数。

例如:NUMBER(3)表示三位整数 123  001

NUMBER(3,1)表示有效数字三位,小数一位  21.1  35.9   42.0

(2)INTEGER类型

INTEGER是NUMBER的子类型,它等同于NUMBER (38,0) ,用来存储整数。若插

入、更新的数值有小数,则会被四舍五入。

3、浮点数.

(1)BINARY_ FLOAT类型

BINARY_ _FL0AT是32位、单精度浮点数字数据类型。可以支持至少6位精度每个

BINARY_ FLOAT的值需要5个字节,包括长度字节。

(2)BINARY DOUBLE

BINARY_ DOUBLE是为64位,双精度浮点数字数据类型。每个BINARY_ DOUBLE

的值需要9个字节,包括长度字节。

4、日期类型

(1)DATE类型

DATE是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。存储以下信息:世纪、年、月、日期、 小时、分钟和秒。 一般占用7个字节的存储空间。

例如:2023/02/01 11:32:56

(2)TIMESTAMP类型

这是一个7字节或12字节的定宽日期时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒(毫秒),带小数秒的TIMESTAMP在小数点右边最多可以保留9位。

(3)TIMESTAMP WITH TIME ZONE类型

这是TIMESTAMP类型的变种,它包含了时区偏移量的值。

(4)TIMESTAMP WITH LOCAL TIME ZONE类型

将时间数据以数据库时区进行规范化后进行存储

5、 L0B类型

(1)CLOB类型(Character Large Object)

二进制数据,存储单字节和多字节字符数据。最大长度4G。

(2)BLOB类型(Binary Large Object)

它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。最大长度4G。

(3)NCLOB数据类型

存储UNICODE类型的数据,最大长度4G。

6 、LONG & RAW & LONG RAW类型

(1)LONG类型

它存储变长字符串(超长字符串),最多达2G的字符数据(2GB是指2千兆字节,而不是2千兆字符)。

(2)LONG RAW类型

能存储2GB的原始二进制数据,可存放多媒体图象声音等。

(3)RAW类型

用于存储二进制或字符类型数据 ,必须制定长度 。这种数据类型存储的数据不会发生字符集转换。可存放多媒体图象声音等。

1.2 Oracle中创建表

1、Oracle表名命名规则

(1)必须以字母开头

(2)长度不能超过30个字符

(3)避免使用Oracle的关键字

(4)只能使用A-Z、a-Z、0-9、_#$

2、使用带有特殊符号的表名

Oracle在创建表时,表名会自动转换大写。Oracle 对表名大小写不敏感。

如果在定义表名时含有特殊符号,或者用小写字母来定义表名则需要在表名两侧添加双

引号。

3、在SQL Developer中图形化创建表的步骤

打开SQL Developer,使用已有用户登录,切换到My Object

在Tables上右键——NEW之后可以看到右边的内容,可以设置相应的用户,表名,表空间等

选项Columns上设置列的信息,Nullable项勾起来表示该列允许为空值

选项Keys可以设置相应的键

后面还可以设置用户自定义约束、索引、权限、触发器等等

在表上右键可以修改表结构和添加数据

Edit是修改表结构、Edit data是编辑数据,Query data是查看数据

4、在SQL Developer中使用SQL语句创建表

和mysql中创建表一样:

Create table 表名(

  字段名 数据类型(长度) 约束,

  字段名 数据类型(长度) 约束

);

Create table users(

  Id number(10) primary key,

  Name varchar2(20) not null

);

1.3 数据库中的约束

1、约束的作用

约束用于规定表中的数据规则,如果存在违反约束的数据行为,行为会被约束终止。

2、约束类型

  • 主键约束(Primay Key Constraint)

唯一性,非空性。

  • 唯一约束(Unique Constraint )

唯一性,可以空,但只能有一个。

  • 检查约束【用户自定义约束】( Check Constraint)

对该列数据的范围、格式的限制(如:年龄、性别等)。

  • 非空约束(Not Null Constraint )

该列不允许包含空值。

  • 外键约束(Foreign Key Constraint)

需要建立两表间的关系并引用主表的列。

3、SQL创建约束

  • 主键约束:可在建表时创建

alter table 表名 add constraint 主键名 primary key(主键字段名);

  • 外键约束:

alter table 表名 add constraint 外键名 foreign key(外键字段名) references 参考表名(参考主键字段名);

  • 唯一约束:

alter table 表名 add constraint 唯一约束名 unique( 约束字段名);

  • 默认约束:可在建表时创建

alter table 表名 Modify 字段名 数据类型(长度)  default('值’);

  • 检查约束:

alter table 表名 add constraint 检查约束名 check(约束条件);

  • 添加注释:

表注释:comment on table 表名 is ‘注释名’;

列注释:comment on column 表名.列名 is ‘注释名’;

Oracle数据库中的数据类型 Oracle数据库不仅支持常规的内置数据类型,还支持用户定义的数据类型,包括对象类型(Object Type)、嵌套类型(Nested Table Type)和可变数组类型(Varray Data Type)。用于存储二进制格式的数据,通常用于存储GUID、MD5值等不进行字符集转换的数据。是可变长度的字符类型,存储的长度与实际字符长度相同,最多可以存储4000个字符(Oracle 11g之前)。是固定长度的字符类型,即使存储的字符长度不足定义的长度,数据库也会在末尾填充空格至指定长度。 阅读详情

相关推荐

Oracle数据类型

文章目录一、字符串类型1、固定长度的字符串2、变长度的字符串3、char和varchar2的比较4、汉字的存储二、数字类型三、日期类型四、clob和blob类型五、rowid类型六、其它数据类型七、版权声明 Oracle的数据类型有二十多种,包括字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。太多的数据类型很容易让初学者...

C语言实战技术 619

Oracle的数据类型

1.number:数值类型是Oracle中最常用的数据类型之一.它用于存储整数或带有小数点的数字.number类型可以指定精度(precision)和标度(scale),既可以存储的最大数和小数点后精确的位数number(p,s)p:有效数字的位数s:小数位数最多存储38位有效数字例如:number(3,1) 21.5 31.02.integer:整数类型是number类型的一种特殊形式,用于存储不带小数的整数.它占用较小的存储空间,适用于存储空间要求较高的场景integer。

m0_70530631的博客 5848

oracle和mysql通用建表语句_一个完整的Oracle建表的例子

建表一般来说是个挺简单的事情,但是Oracle的建表语句有很多可选的参数,有些我们可能平时不太用,用的时候又不知道怎么用,这里建表一般来说是个挺简单的事情,但是Oracle的建表语句有很多可选的参数,有些我们可能平时不太用,,用的时候又不知道怎么用,这里就写一个较完整的建表的例子:CREATE TABLE banping(id NUMBER(5)CONSTRAINT banping_id_pk ...

weixin_33656445的博客 947

【Oracle】常用数据类型

Oracle 数据库内置的数据类型可分为6类:字符类型、数值类型、日期类型、 LOB 类型、二进制类型和行类型。● CHAR [( size [ BYTE[CHAR ])]:用于存储固定长度的字符串。参数 size 规定了字符串的最大长度,可选关键字 BYTE 或 CHAR 表示其长度单位是字节或字符,默认值为1B,允许最大长度为2000B。如果 CHAR 类型的列中实际保存的字符串长度小于指定的 size 大小, Oracle 将自动使用空格填满。●VARCHAR2( size [ BYTE I CHAR

奥利文儿的博客 9438

Oracle数据库从入门到精通系列之十四:CHAR、VARCHAR2、NCHAR和NVARCHAR2

不论在表段还是索引段中,CHAR都会占用最大的存储空间,这就够糟糕了,避免使用CHAR/NCHAR类型还有另外一个很重要的原因:CHAR/NCHAR类型还会给使用这些数据的应用带来混乱,原因与字符串的比较的规则有关,也与执行字符串比较多严格程度有关。使用诸如UTF-8的多字节字符集时,建议在VARCHAR2/CHAR定义中使用CHAR修饰符,也就是说使用VARCHAR2(80 CHAR),而不是VARCHAR2(80),因为是要定义一个实际上能存储80字符数据的列。

zhengzaifeidelushang的博客 1176

Oracle建表命令详解与实战

htmltable {th, td {th {pre {简介:Oracle数据库系统提供了丰富的SQL语句,用于创建和管理数据表,是企业级应用中的重要工具。本简介涵盖了创建数据表的多种命令和关键特性,包括数据类型的多样性、约束条件的设置(如主键、外键、唯一性、非空和检查约束)、自增序列的替代方案、索引的创建以及分区表的概念。通过实践这些命令和特性,数据库管理员和开发者可以有效地设计出性能优化、易于维护的数据库结构。

weixin_33610780的博客 897

Oracle——数据类型、建表、约束、修改表和约束、表的注释

数值类型: number(l,s):表示数值类型,可以表示整数和小数,l表示长度,最大长度是38,s表示精度默认是0, number(5,2):表示整体长度是5,有2位小数 其他:int,integer 整数 float、double 浮点数(带小数)字符串类型: varchar2(l):变长字符串类型,l表示长度,最长4000字节 char(l):定长字符串类型,l表示长度,例 char(8) 存’abcd’ 它长度是8 日期类型: date:表示日期类型,可以存放世纪、纪元、年月日时分秒 timest

m0_72036727的博客 990

图灵奖:计算机科学领域的诺贝尔奖

最后,图灵奖也是计算机科学领域发展的重要推动力之一,它促进了该领域的进步和繁荣。图灵奖作为计算机科学领域的诺贝尔奖,不仅是对获奖者卓越贡献的肯定,更是对整个计算机科学领域的推动和激励。在未来的发展中,我们期待看到更多的科学家和团队在图灵奖的激励下不断取得新的突破和创新成果为计算机科学的发展注入新的活力和动力。Vinton G. Cerf和Robert E. Kahn:2004年图灵奖得主,由于他们在互联网方面开创性的工作而获奖,这包括设计和实现了互联网的基础通讯协议TCP/IP,以及在网络方面的卓越领导。

wangnvshibeib的博客 2625

数据表对象 (oracle字段类型 建表 约束)

目录 1.创建数据表 1.1数据类型 1)字符类型 2)数值数据类型 3)日期时间数据类型 4)LOB数据类型 1.2创建数据表 1).直接设计表 2)利用现有的表或者视图建立新表(create table语句嵌套子查询) 1.3数据表的特性 1)存储参数 2)数据块管理参数 2)initrans 参数 3)重做日志参数 4.缓存参数 2.维护数据表 2.1增加和...

树叶子的博客 3936

UR10e+D435+ag95夹爪 gazebo 仿真记录(一)

学习仿真环境gazebo下利用UR10e机械臂搭建模拟平台,此博客用于记录搭建过程!!主要参考光头明明、总有一天全城的人都要高看我们和bug404_三位博主。最终自己功能包的主要参考了bug404_的ur_platform,感觉这个结构比较合理。运行环境:Ubuntu18.04+Ros-melodic+Gazebo9。

Forbiven的博客 6325

基于反相器的超声波发生和气泡检测电路

本文主要介绍了关于超声波的两种电路——基于反相器的振荡电路和基于逻辑们的气泡检测电路

xehagy的博客 1953

oracle建表6大约束,oracle 建表 约束 constraint

约束命名规则如果不指定约束名Oracleserver自动按照SYS_Cn的格式指定约束名,也可手动指定,推荐的约束命名是:约束类型_表名_列名。NN:NOTNULL 非空约束,比如nn_emp_salUK:UNIQUEKEY唯一约束PK:PRIMARYKEY主键约束FK:FOREIGNKEY外键约束CK:CHECK...

weixin_39535701的博客 912

H3C模拟器HCL防火墙路由模式主备配置实验

摘要:本文详细介绍了网络拓扑规划与设备配置方案。运营商仅提供一个接口地址,通过虚IP技术实现双防火墙高可用部署:主备防火墙分别配置10.20.10.1/29和10.20.10.2/29作为实际上联地址,共享10.10.10.2/24虚IP;下联配置172.168.10.0/24网段,核心交换机配置VLAN接口及192.168.10.1、192.168.20.1两个下联接口。文章包含运营商路由器、防火墙(HA配置、VVRP设置)和核心交换机的具体命令行配置步骤,并强调需进行主备切换验证。整个方案实现了单运营商

LQ的博客 1121

Oracle建表和查询知识总结

CREATE TABLE 表名 (列名1 数据类型 [约束条件],列名2 数据类型 [约束条件],列名3 数据类型 [约束条件],...[表级约束]NUMBER(5)CHAR(10)DD-MON-YYREFERENCESNOT NULLUNIQUEDEFAULTCHECK-- 先创建部门表(主表)dept_id NUMBER(4) PRIMARY KEY, -- 部门ID,主键。

2301_80154014的博客 987

QT项目实战:如何在正点原子Linux开发板上集成CVR-100UC身份证阅读器(附完整代码)

本文详细介绍了在正点原子Linux开发板上集成CVR-100UC身份证阅读器的完整实战流程。内容涵盖驱动适配、库文件部署、QT项目框架搭建、核心功能封装以及界面集成,并提供了完整的代码示例,帮助开发者快速实现嵌入式环境下的身份证信息读取功能。

yyy34的博客 257

10、贝叶斯曲线拟合与预测分布详解

本文详细介绍了贝叶斯曲线拟合与预测分布的核心概念与计算方法。从最大似然估计出发,引入参数的先验分布,推导出后验分布与最大后验估计,并进一步展示如何通过积分获得完整的预测分布。文章解析了预测分布中均值与方差的构成,强调贝叶斯方法在量化不确定性方面的优势,涵盖金融、医疗、气象等实际应用场景。最后总结了操作步骤与未来研究方向,帮助读者系统掌握贝叶斯方法在回归问题中的应用。

android的专栏 104

Oracle的建表约束

当我们创建表的时候,同时可以指定所插入数据的一些规则,比如说某个字段不能为空值,某个字段的值(比如年龄)不能小于零等等,这些规则称为约束。约束是在表上强制执行的数据校验规则.Oracle 支持下面五类完整性约束:NOT NULL 非空UNIQUE Key 唯一键PRIMARY KEY 主键FOREIGN KEY 外键CHECK 自定义检查约束 Oracle使用SYS_Cn格式命名约束,也...

weixin_30555753的博客 317

如何选择深度强化学习算法:MuZero/SAC/PPO/TD3/DDPG/DQN/等算法

如何选择深度强化学习算法:MuZero/SAC/PPO/TD3/DDPG/DQN/等算法

丨汀、的博客 5221

Oracle之建表详细

基本表机构: 表:包含行与列 命名规则: 视图:序列:索引:字段 建表语法: CREATE TABLE [user.]table (column # 字段 datatype [DEFAULTSIZE expr] [..,...,]); 多字段之间使用逗号分隔   创建一个用户在用户下建表 [oracle@dbserver ~]$ sqlplus / as sysdba  ...

qq_41675254的博客 1317

华为OD机试真题 新系统 9月16号 【统计特殊数字】

华为OD新系统机试真题【统计特殊数字】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【统计特殊数字】。

qq_45776114的博客 762

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

oracle建表约束

oracle建表约束主要有以下几大类: NN:NOT NULL 非空约束 UK:UNIQUE KEY 唯一约束 PK:PRIMARY KEY 主键约束FK:FOREIGN KEY 外键约束CK:CHECK 条件约束 eg: CREATE TABLE tb_constraint_1 ( empno NUM

smallnorth2的博客 511

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Oracle 建表语句

小白入手Oracle数据库,如何学会建表,建表语句关键词create ,我们看看有哪些需要注意的点吧。

m0_74913587的博客 2601

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

oracle建表语法,表约束,表数据类型,修改表,追加删除约束,增删改笔记 小白必看!(内有福利)

建表语法,表约束,表数据类型,修改表,追加删除约束,增删改笔记 ————老子亲笔 数据类型 -- 数值类型: number(l,...

忆雨兮梦的博客 582

oracle建表的方法,oracle建表语句

Oracle创建表语句(Createtable)语法详解及示例创建表(Createtable)语法详解创建表(Createtable)语法详解1.ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2(size)可变长度的字符串,必须规定长度CHAR(size)固定长度的字符串,不规定长度默认值为1NUMBER(p,s)数字型p是位数总长度,s是小数的长度,可存负数最长38位.不够...

weixin_29446845的博客 2822

建表注意事项(2):表约束,主键自增,序列[oracle]

没有明确写明数据库时,默认基于oracle约束的分类用于确保数据的完整性和一致性。约束可以分为和,区别在于定义的位置和作用范围复合主键约束: 主键约束中有2个或以上的字段复合主键的列顺序会影响索引的使用,需谨慎设计添加约束oracle会自动为主键约束, 唯一约束, 外键约束创建索引, 以提高查询性能在已存在的表上添加约束添加约束注意:删除约束查看约束:查看当前用户拥有的约束。:查看当前用户可以访问的所有约束。:查看数据库中所有约束(需要DBA权限)。启用/禁用约束启用约束。

weixin_40121264的博客 1695

Oracle学习VII —— Oracle建表

Oracle建表(create table) Oracle表是Oracle数据库的核心,是存储数据的逻辑基础。Oracle表是一个二维的数据结构,有列字段和对应列的数据构成一个数据存储的结构。可以简单看成行和列的二维表,列代表着Oracle字段(column),行代表着一行数据(即一条数据记录)。 Oracle字段数据类型 数据类型 类型解释 varchar2(n) 字符串类型:存储可变的长度的字符串,n:是字符串的最大长度,默认不填的时候是1,最大长度不超过4000。 char(n)

weixin_51804431的博客 1440
上一篇: Oracle01:目录结构与系统用户
下一篇: Oracle03:Oracle数据库管理工具SQL Plus
得闲饮茶呃
博客等级 码龄4年 303粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值