oracle入坑日记<五>数据表
1.1、数据表是存放数据字段信息的地方;在Oracle,数据表拥有者单位是用户,同时数据表属于表空间。如:
登录my_user用户在orcl表空间下创建的表就是 my_user用户在ocrl表空间下的数据表(有点绕,多用用就了解了)
2.1、创建数据表
create table RYXXB( -- 创建表名
RYID number(5) primary key, -- primary key 设置主键
RYXX varchar(10) not null, -- not null 不可为空
RYBH varchar(10) unique, -- unique 唯一约束
RYXB char(4) default '男' check(RYXB in ('男','女')), --check条件约束 默认值为'男'
RYNL number(3) check(RYNL > 1 and RYNL < 101) --check条件约束(同时满足多条件)
);
create table RYSFB( -- 创建表名
SFID number(5) primary key, -- primary key 设置主键
RYID number(5) references RYXXB(RYID), -- references 外键约束
SFSM varchar2(100)
);
2.2、数据类型(这里仅介绍常用数据类型)
2.2.1、number(数字) : number(3) 三位整数(最大值999),number(3,5) 整数部分三位,小数部分五位的小数(最大值999.99999);
2.2.2、char(定长字符) : char(5) 长度为5的字符,若长度不足5自动以空格填满;
2.2.3、varchar2(变长字符):varchar2(5)最大字符长度为5,若长度不足5不会自动空格填满;
2.2.4、clob(大文本):储存较多文字数据,比如,新闻,文章,介绍等;
2.2.5、blob(其他文件):储存图片,音频,视频等文件,将文件以二进制方式存储(好像2G以下文件都能用这个类型存);
2.2.6、date和timestamp(时间):两个都是用来储存时间,且都是可以储存 年月日 时分秒,但是timestamp的精确度更高;
date:
timestamp:
数据库同时执行多条命令时,不到一秒就能执行完毕,如果用date记录对某条数据操作的先后是做不到的,这种情况使用timestamp就可以看到操作记录的先后;
2.2.7、nvarchar2(变长字符):与varchar同为变长字符,二者区别详见此处
2.2.8、更多数据类型,作为SQLserver的用户,表示没有int 没有bit 有点不习惯。

2.3、约束类似(这里仅介绍常用约束类型)
2.3.1、primary key(主键约束):不可为空,一张表有且只有一个主键不可重复(可以有复合主键)。
2.3.2、references(外键约束):关联另一张表,两张表字段相关联,无法单独删除父表被关联字段数据(仅为普通外键,还有级联外键约束、置空外键约束 详见此处 )。
2.3.3、check(检查约束):自定义约束条件。
2.3.4、not null(非空约束):该字段不可为空。
2.3.5、unique(唯一约束):唯一性约束指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束。联合字段中,可以包含空值。
2.3.6、unique和primary key非常像,都有唯一性,组合性。二者也有区别:(二者区别详见此处)
2.3.6.1、primary key所有组成主键的列都不能包含空值,而unique 如果唯一性约束由多列组成,其中的部分列可以包含空值。
2.3.6.2、同一列不能即为primary key 又为 unique ,二者只能选其一。
3.1、删除数据表 drop table [user].[tablename]; --[user]操作其他用户表是需指定用户
4.1、清空表数据有两种方法 delete 、truncate
truncate: truncate table [user].[tablename]; --[user]操作其他用户表时需指定用户
delete: delete from [user].[tablename]; --[user]操作其他用户时需指定用户
4.2、truncate、delete 区别
delete: 会产生rollback(回滚事务),如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments(回滚事务)。
truncate:是DDL操作,不产生rollback,速度快,truncate 慎重使用一旦清除 数据无法rollback segments(回滚事务)恢复。
<<============================================================================================================================================>>
oracle入坑日记<五>数据表的更多相关文章
- oracle入坑日记<四>表空间
1 表空间是什么 1.1.数据表看做的货品,表空间就是存放货品的仓库.SQLserver 用户可以把表空间看做 SQLserver 中的数据库. 1.2.引用[日记二]的总结来解释表空间. 一个数 ...
- oracle入坑日记<六>自增列创建和清除(含序列和触发器的基础用法)
0 前言 用过 SQLserver 和 MySQL 的自增列(auto_increment),然而 Oracle 在建表设置列时却没有自增列. 查阅资料后发现 Oracle 的自增列需要手动编写. ...
- oracle入坑日记<三>用户详解(角色理解)
1 用户是什么 1.1.权限管理是Oracle的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限.Oracle 的权限分为系统权限和数据对象权限,共一百多种.如果把Oracl ...
- oracle入坑日记<二>认识oracle(含sqlplus基础使用)
1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...
- oracle入坑日记<一> 安装
学习日记系列(前辈/大神勿喷) 一.下载 下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads ...
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select 逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_ ...
- Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...
- oracle 10g 用dbms_xmlgen将数据表转成xml格式
oracle 10g 用dbms_xmlgen将数据表转成xml格式 oracle 10g 用dbms_xmlgen将数据表转成xml格式 oracle用plsql将sql查询的所有数据导出为xml
- Oracle使用游标查询所有数据表备注
功能作用:应用对应的SQL语句,能方便快速的查询Oracle数据库指定用户的所有用户表说明,快速知道每个数据表是做什么的,方便写文档和方案. 运行环境:搭建好Oracle数据库,并使用PQ/SQL D ...
随机推荐
- [Codeforces440D]Berland Federalization
Problem 给你一棵树,最少删掉哪些边,能使得余下的至少有1个大小刚好为k的残树. 1 ≤ k ≤ n ≤ 400 Solution 用f[i][j]表示以i为根有j个节点的最少删边数量 因为此题 ...
- Python-接口自动化(二)
python基础知识(二) (二)常用控制流 1.控制语句 分支语句:起到一个分支分流的作用,类似马路上的红绿灯 循环语句:for while 可以使代码不断重复的执行 2.判断语句:关键字是if.. ...
- IDEA的十大快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...
- ubuntu14.04, Cloudera Manager 5.11.1, cdh5.11.1 postgresql离线部署
最近一段时间团队接到的项目需要处理的数据量非常大,之前的处理方式难以满足现有需求.最近两周前前后后折腾了不少,在搭建了hadoop+hbase+hive+spark的一个集群后,由于感觉管理和监控太麻 ...
- [Oracle][RAC]Oracle RAC环境里打OCW上的个别Patch,然后Rollback,发现OCW也被Rollback掉了
对于Oracle RAC来说,存在着DB层面的Patch,也存在着GI层面的Patch. 本文介绍的是,GI层面,打Patch----> rollback 的动作之后,原来的OCW被Rollba ...
- Ubuntu系统下安装免驱动摄像头
最近想玩一下视频系列的深度学习模型,便网上淘了一个linux下免驱动的摄像头,直接插上usb接口就行,但是一般还不能直接使用,下面将简单说一下如何使用摄像头: 在你的ternimal下输入以下命令: ...
- IIS 8.5详细错误
把网站部署到IIS后报错,我错的原因是文件夹内没有设置默认文档,计算机不知道运行哪一个文件,所以报错. 方法:(1)在IIS目录下找到默认文档,双击,点击添加,手写 自己的 启动文件 (2)启动自己的 ...
- Verilog强制激励语法
Verilog强制激励语法 1. 在一个过程块中,可以用两种不同的方式对信号变量或表达式进行连续赋值. 过程连续赋值往往是不可以综合的,通常用在测试模块中. 两种方式都有各自配套的命令来停止赋值过程. ...
- GitHub入门与实践 读书笔记二:Git的导入
1.诞生背景 Linux的创始人Linus Torvalds 在2005年开发了Git的原型程序,后随着众多开发者的共同努力,现在他已经被大量的程序员采用. 2.什么是版本管理 版本管理:管理软件在开 ...
- Mondrian辅助组件----Schema WorkBench(架构平台简介)
Schema WorkBech 是Pentaho套件的另一个组件,是mondrian中schema文件生成工具.通过Schema WorkBench我们可以快速生成一个schema文件,不再需要手写. ...