数据库 Oracle数据库对象一
常见的数据库对象
表:基本的数据存储集合,由行和列组成
视图:从表中抽出的逻辑上相关的数据集合
序列:提供有规律的数值
索引:提高查询的效率
同义词:给对象起别名
create table语句
--create table权限
--存储空间
数据类型
varchar2(size) 可变长字符数据(默认4kb)
char(size) 定长字符数据
number(p,s) 可变长数值数据
date 日期型数据
long 可变长字符数据,最大可达到2G
clob 字符数据,最大可达到4G
raw and long raw 原始的二进制数据
blob 二进制数据,最大可达到4G
bfile 存储外部文件的二进制数据,最大可达到4G
rowid 行地址(索引中存储的就是行地址)
--创建一个表
create table t2 (
tid number,
tname varchar2(),
hiredate date default sysdate--设置该字段的默认值
)
alter table 语句追加,修改,或者删除语法
--追加
SQL> alter table t2 add (sid2 number,sid3 number);
--修改
SQL> alter table t2 modify (tname varchar2(),sid2 long);
--删除列
SQL> alter table t2 drop column sid2;
删除表
.数据和结构都被删除
.所有正在运行的相关事务都被提交
.所有相关索引都被删除
.DROP TABLE 语句不能回滚,但是可以闪回
语法结构:DROP TABLE 表名
普通用户下,表被删除会进入回收站(管理员没有回收站)
--清空回收站
purge recyclebin;
--彻底删除一张表
drop table test1 purge;
约束
--约束是表一级的限制
--如果存在依赖关系,约束可以防止错误的删除数据
--约束类型
NOT NULL 非空
UNIQUE 唯一性
PRIMARY KEY 主键
FOREIGN KEY 外键
CHECK 检查
create table student
(
sid number constraint student_sid_pk primary key,--主键约束
sname varchar2(),
email varchar2() not null,--这是由oracle系统创建约束名
sex number constraint student_sex_notnull not null,--这是自定义约束名,constraint是关键字
age number constraint student_age_notnull not null constraint student_age_unique unique,
--一个字段定义多个约束
numx number constraint student_age_check check(numx<)--检查约束
deptno number constraint student_deptno_fk references dept(deptno)--外键约束
--references是关键字,表示student表的deptno字段需要参考dept表的deptno字段
)
有关check约束
--可以使用in关键字
create table student
(
sex varchar2() constraint student_sex_check check(sex in ('男','女'))
)
有关primary key约束
--主键约束 通过这一列 唯一确定一行值
--若定义主键约束 隐含 非空且唯一约束
有关foreign key外键约束
--定义两张表,一个表的列值引用另一个表的列值 员工表 部门表
子表的外键关联的是父表的主键
--父表中数据被子表引用,则父表相应记录删不掉
若想删除 级联删除 级联置空
--子表中插入数据,外键必须在父表中存在,否则插入出错
外键约束(续)
foregin key:在子表中定义了一个表级的约束
references:指定表和父表中的列
on delete cascade:当删除父表时,级联删除子表记录(一般情况下不使用,因为会破坏子表数据)
on delete set null:将子表相关的依赖记录的外键值置为空值(一般情况下不使用,因为会破坏子表数据)
ed:
create table student
(
sid number,
deptno number constraint student_deptno_fk references dept(deptno) on delete set null
)
数据库 Oracle数据库对象一的更多相关文章
- spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置
spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...
- 面试题: 数据库 oracle数据库 已看1 意义不大 有用
Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.up ...
- 数据库 Oracle数据库对象二
视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...
- 数据库 | Oracle数据库查表空间使用情况
平时在使用Oracle的时候,如果业务中的数据量激增.数据量变大,很有可能就会有表空间不足的情况,需要重点关注.今天我们分享下如何查看表空间的使用情况. 一.如何查看使用状况 我们废话不说,先直接贴上 ...
- 数据库 Oracle数据库性能优化
--在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...
- 数据库 oracle数据库基本知识
sqlplus登录 普通用户登录 c:\>sqlplus 请输入用户名:scott 请输入口令: sqlplus scott/ quit退出 管理员登录 sqlplus /nolog 连接数据库 ...
- Oracle数据库的入门之一
Oracle的介绍: Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle ...
- oracle数据库的完整性约束规则详解
CSDN日报20170303--<百亿互金平台救火故事> 程序员2月书讯 社区有奖问答--一起舞动酷炫的iOS动画 基于Spark的分布式深度学习和认知计算 oracle数据库的完 ...
- MySQL数据库和Oracle数据库的区别
Mysql数据库 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.是一种中小型的关系型数据库. MySQL 数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,一般中 ...
随机推荐
- 使用JavaMelody监控tomcat以及jvm
JavaMelody用于对Java应用或者应用服务器的QA以及开发环境的监控.它并不是一个模拟请求类似JMeter的压力测试工具,而是一个衡量并且计算在应用上的操作信息的工具,也就是说,它只负责对行为 ...
- Servlet实现文件上传,可多文件上传
一.Servlet实现文件上传,需要添加第三方提供的jar包 接着把这两个jar包放到 lib文件夹下: 二: 文件上传的表单提交方式必须是POST方式, 编码类型:enctype="mul ...
- JUnit 3.8 通过反射测试私有方法
测试私有(private)的方法有两种: 1)把目标类的私有方法(修饰符:private)修改为(public),不推荐,因为修改了源程序不佳 2)通过反射 (推荐) 代码演示: 目标程序 Priva ...
- BOM*创建工艺路线
--工艺路线 DECLARE -- API input variables l_operation_tbl bom_rtg_pub.operation_tbl_type := bom_rtg_pub. ...
- 在linux下新增一块硬盘的操作。(包含大于2T的硬盘在linux下挂载操作)
转自:http://blog.csdn.net/season_hangzhou/article/details/36423223 一.安装硬盘到物理机上. 二.查看硬盘是否正确安装. 使用“fdisk ...
- OFBiz:初始RequestHandler
RequestHandler,可以称之为请求处理器,在ControlServlet.init()中初始化: public class ControlServlet extends HttpServle ...
- mybatis实战教程(mybatis in action)之四:实现关联数据的查询
有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如最常见到的多对一,一对多等.这些查询是如何处理的呢,这一讲就讲这个问题.我们首先创建一个Article 这个表 ...
- sqlserver学习笔记(二)—— 创建登录名、用户名
(重要参考:51自学网——SQL Server数据库教程) 登录名与用户名的区别: 1.登录名是指可以使用新建的登录名和密码登录数据库这个程序软件,但不能打开或展开用户自己创建的数据库: 2.用户名是 ...
- 线程间操作无效: 从不是创建控件“txtreceive”的线程访问它。
自己在写串口通信的时候遇到个这样的问题 自己是用vs2010 c#写的错误提示是这样的“线程间操作无效: 从不是创建控件“txtreceive”的线程访问它.” 用的控件是自带的serialPor ...
- 我使用过的Linux命令之clear - 清除终端屏幕,不是cls
原文链接:http://codingstandards.iteye.com/blog/804213 用途说明 clear命令是用来清除终端屏幕的(clear the terminal screen), ...