Oracle学习总结09——表的操作

2023-10-28

1-[创建数据表] createtable 代码手敲 且增加注释 问题:字段为系统默认日期怎么定义?

--创建students表
create table students(
  stuno number(10) not null,
 stuname varchar2(8),
 sex char(2),
 age int,
 departno varchar2(2) not null,
 classno varchar2(4) not null,
 --默认系统时间
 regdate date default sysdate
 );

在这里插入图片描述
2-表和用户是什么关系?

创建过程:用户—>表,一个用户可以创建多个表,而一个表可以被多个用户操作。
从用户的角度来看,数据表的逻辑结构是一张二维的平面表,即表由纵向的标记列和横向的标记行两部分组 成。表通过行和列来组织数据。通常称表中的一行为一条记录,表中的一列为属性列。一条记录描述一个实体,一个属性列描述实体的一一个属性,如,雇员有雇员编号、雇员姓名、雇员岗位等属性;学生有学生编号、姓名、所在学校等属性。每个列都具有列名、列数据类型、列长度,可能还有约束条件、默认值等,这些内容在创建表时即被确定。
在Oracle中,有多种类型的表。不同类型的表各有一些特殊的属性。 适应于保存某种特殊的数据、进行某些特殊的操作,在某些方面可能比其他类型的表的性能更好,如处理速度更快、占用磁盘空间更少。表一般指的是一个关系表,也可以生成对象表及临时表。其中,对象表是通过用户定义的数据类型生成的,临时表用于存储专用于某个事务或者会话的临时数据

3-用户和表空间什么关系?
用户:创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间,创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象
表空间:创建表空间会在物理磁盘上建立一个数据文件,作为数据库对象(用户、表、存储过程等等)的物理存储空间;

4-总结 表、用户、表空间、数据文件的关系…
有create table的权限就可以使用表空间,

5-写出根据A表直接创建B表的SQL…

create table students_2
as select *
from scott.students;

在这里插入图片描述

6-[创建数据表] createtable_initial 代码手敲 且增加注释 同 createtable 代码区别是什么?

 create table students_3(
  stuno number(10) not null,
 stuname varchar2(8),
 sex char(2),
 age int,
 departno varchar2(2) not null,
 classno varchar2(4) not null,
 regdate date default sysdate
 )tablespace TBS_TEST_3
storage(initial 256k);

在这里插入图片描述
7-写出根据表名查询表所属表空间的SQL…

select tablespace_name from dba_tables where table_name = 'STUDENTS';

在这里插入图片描述

8-[创建数据表] createtable_nologging 代码手敲 且增加注释

--创建表students_3
 create table students_3(
  stuno number(10) not null,
 stuname varchar2(8),
 sex char(2),
 age int,
 departno varchar2(2) not null,
 classno varchar2(4) not null,
 regdate date default sysdate
 )
 --指定表空间
 tablespace TBS_TEST_3
 --分配默认的256K空间内存
storage(initial 256k)
--存储参数:pctfree用于指定数据库必须保留的最小空间比例,当数据块达到PCTFREE参数的限制后,该数据块将被标记为不可用,默认值为10
pctfree 20
--数据块管理参数:pctfree用于指定数据库必须保留的最小空间比例,当数据块达到PCTFREE参数的限制后,该数据块将被标记为不可用,默认值为10
--pctused:用于设置数据块是否可用的界限。也就是说,为了使数据块能够被再次使用,已经占用的存储空间必须低于PCTUSED设置的比例
pctused 40
--指定在数据块头部存放10个事务条目:
initrans 10
--重做日志参数:nologging是尽量减少日志
nologging;

在这里插入图片描述
9-写出 已存在的表中 增加字段的SQL…

--增加provience字段
alter table students_3 add(provience varchar(6));

在这里插入图片描述
10-写出 已存在的表中 删除字段的SQL…

alter table students_3 drop column provience;

在这里插入图片描述
11-写出 已存在的表中 修改字段的SQL…

--alter...modify
alter table students_3 modify departno varchar2(4);

在这里插入图片描述

12-写出 已存在的表 修改表名的SQL…

--rename to
alter table students_3 rename to students_4;

在这里插入图片描述
在这里插入图片描述
13-写出 更改已存在表的表空间SQL…

alter table TBS_TEST_3.students_3 move tablespace USERS;

14-写出 已存在的表 删除表的SQL…以及注意事项是什么?
需要注意的是,一般情况下用户只能删除自己模式中的表,如果要删除其它模式中的表,则必须具有DROP ANY TABLE系统权限。

drop table students;

在这里插入图片描述
在这里插入图片描述
15-写出 已存在的表 更改其为只读状态SQL…

alter table students_4 read only;

在这里插入图片描述
16-写出 已存在的表 更改其为非只读状态SQL…

alter table students_4 read write;

在这里插入图片描述
17-写出 已存在的表 修改列为非空约束的SQL…

--已创建books_1表
alter table books_1 modify bookname not null;

在这里插入图片描述
18-行级约束和表级约束的区别是什么?
主键约束用于唯一地标识表中的每一行记录。在一个表中,最多只能有一个主键约束,主键约束既可以由一个列组成,也可以由两个或两个以上的列组成(这种称为联合主键)。对于表中的每一行数据,主键约束列都是不同的,主键约束同时也具有非空约束的特性。
如果主键约束由一列组成时,该主键约束被称为行级约束。如果主键约束由两个或两个以上的列组成时,则该主键约束被称为表级约束。

19-UNIQUE 的作用是什么?
唯一性(UNIQUE)约束强调所在的列不允许有相同的值。但是,它的定义要比主键约束弱,即它所在的列允许空值(但主键约束列是不允许为空值的)。唯一性约束的主要作用是在保证除主键列外,其它列值的唯一性。
在一个表中,根据实际情况可能有多个列的数据都不允许存在相同值。例如,各种“会员表”的QQ、Email等列的值是不允许重复的(但用户可能不提供,这样就必须允许为空值),但是由于在一个表中最多只能由一个主键约束存在,那么如何解决这种多个列都不允许重复数据存在的问题呢?这就是唯一性约束的作用。若要设置某个列为UNIQUE约束,通常使用CONSTRAINT…UNIQUE标记该列。

20-写出 删除已存在的约束SQL…

--添加约束
alter table Books add constraint Books_PK primary key(BookNo);

在这里插入图片描述

--删除约束
alter table BOOKS drop constraint Book_PK;

在这里插入图片描述

21-写出 禁用已存在的约束SQL…
定义约束时用disable可以禁用
已经存在的约束ALTER TABL…DISABLE CONSTRAINT语句禁止该约束。

--禁用已存在的约束
alter table BOOKS disable constraint Books_PK;

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle学习总结09——表的操作 的相关文章

  • SQL 中基于下一条记录和上一条记录的复杂排序

    这是一个后续问题根据 SQL 中的下一条记录和上一条记录进行排序 https stackoverflow com questions 30477803 sorting based on next and previous records i
  • PostgreSQL 中“-”处或附近的语法错误

    我正在尝试运行查询来更新用户密码 alter user dell sys with password Pass 133 但因为 它给了我这样的错误 ERROR syntax error at or near LINE 1 alter use
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • 内置函数将每个单词的第一个字母大写

    如果 SQL Server 中已存在此类函数 我不想为此创建自定义函数 输入字符串 This is my string to convert预期输出 This Is My String To Convert SET ANSI NULLS O
  • 如何通过 SQL 表关联 SQL 中的实体

    我是数据库设计的初学者 我需要为项目创建数据库 我可以用面向对象的术语解释我想要做什么 值得庆幸的是 数据库专家会很友善地向我解释如何在数据库方面处理这个问题 我想创建一个与位置实体 州 城市 有关系的用户 ID 名称 实体 所以在编程语言
  • 如何识别拼写不同的相似单词

    我想从数据库中过滤掉重复的客户名称 一位客户可能有多个同名但拼写差异不大的系统条目 这是一个示例 名为 Brook 的客户可能有 3 个系统条目 有了这个变化 布鲁克 贝尔塔 布鲁克 贝尔塔 比鲁克 贝尔塔 假设我们将此名称放入一个数据库列
  • SQL 连接两个没有关系的表

    我有具有相同结构的不同表 我想通过其中一列将它们连接起来 问题是他们不共享该专栏中的信息 Table 1 Type A Name Value Table 2 Type B Name Value 结果表 在单列中 nameFromA name
  • 从 Getdate() 获取时间

    我想采取Getdate 结果 例如 2011 10 05 11 26 55 000 into 11 26 55 AM 我看过其他地方并发现 Select RIGHT CONVERT VARCHAR GETDATE 100 7 这给了我 11
  • 如何从子查询 SQLite 接收两个值

    我是一个自学的 SQLite 新手 我有三个表 person pet person pet schema 是 CREATE TABLE person id INTEGER PRIMARY KEY first name TEXT last n
  • 使用默认路径中的文件创建数据库

    我想创建一个创建数据库的 SQL 脚本 现在 我有这个 CREATE DATABASE Documents ON PRIMARY NAME N Documents FILENAME N Documents mdf LOG ON NAME N
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • Oracle SQL 分析查询 - 类似递归电子表格的运行总计

    我有以下数据 由A值 排序依据MM 月 The B列计算为GREATEST current value of A previous value of B 0 以类似电子表格的方式 我怎样才能计算B使用 SQL 查询 我尝试使用分析函数 但未
  • MySQL为每个组创建带有序列号的视图

    我在此网站上看到了类似的解决方案 但由于变量使用限制 它在视图中不可用 在MySQL中为每个组生成序列 https stackoverflow com questions 30118096 generating sequence for e
  • 可空数据类型与非空 varchar 数据类型 - 哪个查询速度更快?

    我们通常更愿意拥有我们所有的varchar nvarchar列不可为空使用空字符串 作为默认值 团队中有人建议nullable更好 因为 像这样的查询 Select From MyTable Where MyColumn IS NOT NU
  • 如何在 SQL 选择查询中将行转换为 JSON?

    以下查询将整个表返回为单个 JSON 字符串 JSON 对象列表 每行一个 SELECT FROM MyTable FOR JSON AUTO 我需要返回多行 其中每行都是表中单行的 JSON 字符串 例如 如果表字段为 A B C 输出应
  • PostgreSQL 位图堆扫描索引非常慢,但仅索引扫描很快

    我创建了一个包含 43kk 行的表 并用值 1 200 填充它们 因此 表中每个数字大约为 220k create table foo id integer primary key val bigint insert into foo se

随机推荐

  • AntD-tree组件使用详析

    目录 一 selectedKeys与onSelect 官方文档 代码演示 onSelect 注意事项 二 expandedKeys与onExpand 官方文档 代码演示 onExpand 注意事项 三 loadedKeys与onLoad和o
  • 【whr的深度学习总结1】使用Matconvnet训练imbalance全连接网络

    matconvnet只提供了卷积函数 并没有提供全连接函数 那么如何在卷积函数上训练全连接呢 首先 我们要清楚一件事 卷积核为1 1同时步长是1的网络就是全连接 那么配置网络的时候就只需执行卷积函数 同时配置卷积核的大小就可以 这是我的配置
  • 13种老人不适合带孩子_如果是这3种老人,并不建议他们带孩子,不是偏见是为孩子好...

    文 勤亲妈妈 文章原创 欢迎个人转发分享 孩子是一个家庭生命的传承 是全家人的 掌中宝 有了孩子之后 不只是父母的心思和注意力会放在孩子身上 就连老人对孩子也是非常的宠爱 都说 隔辈儿亲 隔辈儿亲 老人对孩子的爱是毋庸置疑的 上了年纪之后
  • uniapp如何使用uview中的loadmore上拉加载

    效果 引入loadmore 首先搜索和tab的样式
  • 016 Java中 int、Integer和 new Integer() 使用==比较

    Java中 int Integer和 new Integer 使用 比较 int则是java的一种基本数据类型 其定义的是基本数据类型变量 Integer是int的包装类 其定义的是引用类型变量 基本数据类类型存的是数值本身 引用类型变量在
  • React Navigation 5.x第八章 导航器的生命周期

    在之前的章节中 我们学会了使用stack导航器 其有两个页面 Home和Details 并且知道如何使用navigation navigate RouteName 在两个路由之间跳转 在这篇文章中 我们主要了解当我们离开Home页面的时候都
  • STOMP原理与应用开发详解

    本文首发微信公众号 码上观世界 STOMP概述 我们已经知道WebSocket是基于TCP协议之上的应用层协议 在 WebSocket API 中 浏览器和服务器只需要完成一次握手 两者之间就直接可以创建持久性的连接 并进行双向数据传输 W
  • openGL环境贴图

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 代码 1 主程序 二 着色器程序 1 顶点着色器 2 片元着色器 运行效果 总结 源码下载 前言 在照明和材质章节中 我们考虑了物体的 光泽 然而 我们从未对非常闪亮的
  • 日撸leetCode三道题---Day1---二分查找

    二分查找时间复杂度为O log n 针对有序数组 定义查找区间 var low 0 var high n 循环查找 while low
  • 深入剖析HTTP和HTTPS代理在爬虫中的应用价值

    在当今信息时代 数据是无处不在且极其宝贵的资源 对于从互联网上获取大量结构化或非结构化数据的需求而言 网络爬虫成为一种强有力的工具 然而 在实际操作过程中 我们常常会面临许多挑战和限制 其中一个主要问题就是目标网站可能会设置反扒机制来阻止自
  • 电话悬浮代码

    代码
  • 小娜老师的讲义-搭建私人镜像

    前言 之前我们讲docker的基本命令的时候 提到过docker pull 每次也是让大家直接从官方的registry 仓库 里面把需要用到的基础镜像pull下来 那我现在不想用官方的了 我就像用我自己已经做好的 而且其他同网段的同事们都可
  • 网络安全第1章课后题 网络安全概论

    1 选择题 1 计算机网络安全是指利用计算机网络管理控制和技术措施 保证在网络环境中数据的 完整性 网络服务可用性和可审查性受到保护 A 机密性 B 抗攻击性 C 网络服务管理性 D 控制安全性 2 网络安全的实质和关键是保护网络的 安全
  • 【ACWing 每日一练之接龙数列】

    题目 对于一个长度为 K的整数数列 A1 A2 AK 我们称之为接龙数列当且仅当 Ai的首位数字恰好等于 Ai 1的末位数字 2 i K 例如 12 23 35 56 61 11 是接龙数列 12 23 34 56不是接龙数列 因为 56的
  • Macbook pro如何设置触控栏touch bar?

    打开 系统偏好设置 点击打开 键盘 点击 自定功能栏 打开 自定功能栏 此时鼠标在屏幕下方继续下移就可以到触控栏 也可以将自己喜欢的功能按住拖到触控栏 如我就加上了锁屏 并将Siri移出触控栏Touch bar 因为总误触到它
  • mysql递归查询

    本文转载 文章底部有我实践过程中遇到的问题总结博客 希望能够帮到大家 2021SC SDUSC 我是以山东济南的行政区划作为示例的 数据库是MySQL 话不多说 直接上示例代码 目录 1 建表脚本 1 1 建表 1 2 插入数据 2 递归查
  • 小程序推广:微信公众平台可自由挂载小程序

    公众号可挂载任意小程序 在公众号挂载小程序的时候 会出现小程序搜索的页面 这里可以搜索所有微信上可被搜索的小程序 这意味着 公众号无需绑定小程序 可实现自由挂载 挂载的形式支持4种 其中小程序码是全新的挂载形式 选择后会释放该小程序码到公众
  • 【Unity Optimize】Unity中的优化工具和优化方法介绍

    目录 1 Unity项目优化的必要性 2 Unity自带的优化工具 2 1 Profiler窗口 Profile Analyzer 2 2 Stats窗口 2 3 Frame Debugger窗口 3 其他优化方法 3 1 批处理 Batc
  • MinGW下载和安装详细步骤 及 环境配置

    一 下载 点击 这里 进入官网下载最新版本的MinGW 这里下载的是Windows32位 但MinGW的所有软件都将在64位Windows平台上执行 所以32位和64位都是一样的 二 安装 1 下载完成后 双击程序进行安装 2 点击 Ins
  • Oracle学习总结09——表的操作

    1 创建数据表 createtable 代码手敲 且增加注释 问题 字段为系统默认日期怎么定义 创建students表 create table students stuno number 10 not null stuname varch