常见的数据库对象
表:基本的数据存储集合,由行和列组成
视图:从表中抽出的逻辑上相关的数据集合
序列:提供有规律的数值
索引:提高查询的效率
同义词:给对象起别名
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数据库对象一的更多相关文章

  1. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

  2. 面试题: 数据库 oracle数据库 已看1 意义不大 有用

    Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.up ...

  3. 数据库 Oracle数据库对象二

    视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...

  4. 数据库 | Oracle数据库查表空间使用情况

    平时在使用Oracle的时候,如果业务中的数据量激增.数据量变大,很有可能就会有表空间不足的情况,需要重点关注.今天我们分享下如何查看表空间的使用情况. 一.如何查看使用状况 我们废话不说,先直接贴上 ...

  5. 数据库 Oracle数据库性能优化

    --在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...

  6. 数据库 oracle数据库基本知识

    sqlplus登录 普通用户登录 c:\>sqlplus 请输入用户名:scott 请输入口令: sqlplus scott/ quit退出 管理员登录 sqlplus /nolog 连接数据库 ...

  7. Oracle数据库的入门之一

    Oracle的介绍: Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle ...

  8. oracle数据库的完整性约束规则详解

    CSDN日报20170303--<百亿互金平台救火故事> 程序员2月书讯 社区有奖问答--一起舞动酷炫的iOS动画 基于Spark的分布式深度学习和认知计算 oracle数据库的完 ...

  9. MySQL数据库和Oracle数据库的区别

    Mysql数据库 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.是一种中小型的关系型数据库. MySQL 数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,一般中 ...

随机推荐

  1. HDoj-2095-与众不同

    Problem Description In the new year party, everybody will get a "special present".Now it's ...

  2. 基于JUnit3.8的一个简单的测试程序

    实现一个简单的计算 注:目标类和测试类要放在同一包下, JUnit单元测试基础要点 目标类:Calculator.java package com.junit3_8; public class Cal ...

  3. ant design pro (九)引入外部模块

    一.概述 原文地址:https://pro.ant.design/docs/import-cn 除了 antd 组件以及脚手架内置的业务组件,有时我们还需要引入其他外部模块,这里以引入富文本组件 re ...

  4. vue 常见操作 及 ionic 实战回顾

    npm install axios sass-loader vue-infinite-scroll vue-router vuex express superagent --save --save 和 ...

  5. 对象 get和set方法

    1.用途 用户定义的对象定义 getter 和 setter 以支持新增的属性. 示例:obj创建一个伪属性latest,它会返回log数组的最后一个元素. var obj = { log: ['ex ...

  6. windows bat启动多个应用程序

      windows bat启动多个应用程序 CreationTime--2018年7月26日11点02分 Author:Marydon 1.应用场景 每天开机后,都需要打开平常所需要的软件,又不想将程 ...

  7. linux内核——进程切换宏switch_to

    该宏有三个参数:prev, next, last.它们都是局部变量. prev:输入参数,变量值为旧进程描述符的地址. next:输入参数,变量值为新进程描述符的地址. last:输出参数,用来记录该 ...

  8. linux动态链接库导出函数控制

    windows 环境的vc的话,可以方便的指定__declspec(dllexport) 关键字来控制是否把dll中的函数导出.我也来测试一下linux下面是如何做的:先看gcc 和ld的相关选项 = ...

  9. 【TP3.2】模板布局和文件引入

    TP3.2框架引入文件使用<include file="blue/common/header">标签,==>blue主题下的公共头文件(blue放在View/目录 ...

  10. 【转载】Linux 系统时间查看 及 时区修改(自动同步时间)

    1:使用date命令查看时区 [root@db-server ~]# date -R   Sun, 11 Jan 2015 07:10:28 -0800   [root@db-server ~]#   ...