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 ...
随机推荐
- 从0到有,虚拟机安装centos,然后ssh连接虚拟机
安装centos 1.下载centos镜像 https://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.i ...
- Python3版本中的filter函数,map函数和reduce函数
一.filter函数: filter()为已知的序列的每个元素调用给定的布尔函数,调用中,返回值为非零的元素将被添加至一个列表中 def f1(x): if x>20: return True ...
- nginx请求数据超长的问题解决
参考文章 https://www.cnblogs.com/onmyway20xx/p/4469202.html http://blog.51cto.com/iyull/2129220
- Hbuilder护眼主题分享
sublime还有webstorm有很多主题,但是Hbuilder就相对较少,或者直接说基本没什么主题,在网上搜索了很久也很少有Hbuilder的主题分享,于是就自己取色调了一个仿的护眼主题来分享一下 ...
- Kafka 术语
什么是Kafka? Apache Kafka是一个分布式流媒体平台,允许你发布和订阅记录流,允许你以容错方式存储记录流,允许你处理数据流.或是说Kafka是一个分布式.支持分区.多副本的,基于zook ...
- Codeforces 215D. Hot Days(贪心)
题意 有nnn个地区和mmm个学生,在第iii个地区时,车上有kik_iki个学生,车内温度(当前城市的温度tit_iti+当前车上的学生kik_iki)不能超过TiT_iTi,否则,赔偿每个 ...
- Arch Linux pacman 与其他发行版操作比较
原文:https://wiki.archlinux.org/index.php/Pacman/Rosettahttps://old-en.opensuse.org/Software_Managemen ...
- matplotlib.pyplot展示MNIST图片
import torch import torch.utils.data as Data import torchvision import torchvision.transforms as tra ...
- C++学习(三十七)(C语言部分)之 链式栈(推箱子实现)
用链表实现栈一开始在表头插入,就要一直在表头插入一开始在表尾插入,就要一直在表头插尾表头当栈底 也可以把表尾当栈底 实现的测试代码笔记如下: #include<stdio.h> #incl ...
- Entity Framework教程翻译 ---- 系列教程
Entity Framework教程(第二版) (翻译)Entity Framework技巧系列之十四 - Tip 56 (翻译)Entity Framework技巧系列之十三 - Tip 51 - ...