返回顶部
首页 > 资讯 > 数据库 >数据表和特殊的表
  • 572
分享到

数据表和特殊的表

2024-04-02 19:04:59 572人浏览 八月长安
摘要

表空间的下一层次应该就是我们的数据表,也是我们最常用的对象,存储字段的关联字段的对象我们来创建第一个表为test    格式   &nb

表空间的下一层次应该就是我们的数据表,也是我们最常用的对象,存储字段的关联字段的对象

我们来创建第一个表为test

    格式

        create table test(id number(10) not null primary key,name varchar(20) not null,age char(2) not null);

    解释

        create table 用于创建表的关键词,后面是表名test,括号里面是列信息(id号,name名字)紧接着类型,然后not null不能为空,为就是必须插入,primary key主键,全局唯一的标识符。

    格式

        select table_name,tablespace_name from user_tables from table_name='test';

    解释

        user_tables表用于查看所有用户表信息

    格式

        describe test;

    解释

        查看表结构,只描述当前对象的表结构,关键字可以缩写desc.

    格式

        alter table test rename to test1;

    解释

        修改数据表的名字 关键字rename to 

    格式

        alter table test modify (id number(20));

    解释

        修改数据表其中某一列的类型的长度

    格式

        alter table test rename column id to user_id;

    解释

        修改数据表列名

    格式

        alter table test add(sal int);

    解释

        数据表中增加一列数据(类型)

    格式

        alter table test drop column sal;

    解释

        删除数据库中某一列

    格式

        drop table test cascade constraints;

    解释

        删除整个表,cascade constrints表示当表与其他的表有关联或者约束,使用关键字强制删除这个表


    那么在oracle中还有一类表叫做临时表,听名字大体就知道这个表应该是临时存在的,其实不然

    什么是临时表,那么简单来说我们用create table 创建的表叫做永久表或者普通标,临时表其实和普通标没什么区别,临时表的临时是指数据的临时性,也就是说表也是会一直存在的,但是数据会在Oracle中一些条件下被自动清空!

    清空临时表条件有两种:1、事物提交或者回滚 2、会话的结束

    那么Oracle中每次对数据库操作不是立刻就更新操作,而是以事物为单位修改提交到数据库,每个事物会议commit结束,从上一条到本次的commit,其中可能是一条或者多条sql语句,那么也就意味事物的提交commit,事务回滚rollback废掉当前的事物操作,也就是刚刚做的SQL语句不算数

    Oracle中的会话是每个与用户交互的进程,临时表清空数据也分两类:1、事务级临时表 2、会话级临时表

    事务级临时表就是当数据每次事务的提交都会清空数据,会话级别是当断开本次会话清空数据,意味着Oracle会话用户线程的结束。

    会话级临时表

        格式

            create global temporary table  tmp_user_session(user_id) on commit preserve rows;

        解释

            创建一个会话临时表create global temporary

        格式

            commit

        解释

            提交数据,事物结束,为什么我们平常不需要这样去做因为我们默认吧自动提交事务功能打开了

     事务级别

        格式

            create global tempporary table ...... on commit delete rows;

        解释

            来创建事务级别的临时表,当我们提交或者回滚数据将会自动清除

        格式

            select table_name,tablespace_name from user_tables where table_name='T_USERS_SESSION' or .......;

        解释

            查看表空间信息与之前普通标比较发现,临时表表空间为空

    那么我们说了那么多,到底是干啥用呢,下面说一说他的应用尝尽

    1、大小表分割

        表创建索引可以很大程度上提高查询数据的效率,但是在亿级以上大量的数据,创建索引耗费时间相当大,而且查询大量的索引表与直接查询的效果相差不大,没什么性能上提升,这时候后常用的方法就是把分割大表,分割成多个小的临时表,对这临时表些操作,最后对查询结果进行综合处理

    2、并行问题

        并行基于多线程的为题,简答来说几个客户端同一时间对对象进行操作,会导致混乱,最常用的给文件或者表加上,防止多个用户一起修改对象造成混乱的结果。那么在频繁对表操作时候,锁表一定会对整个数据库性能有影响,这时候利用临时表,临时表会话中数据时透明的,不用对表锁定,大大提高数据库性能

    3、缓存

        程序段可能需要做很多的复杂运算,这时候创建临时表将数据存储临时表,可以向普通表一样操作。这时候临时表作为临时数据的存储空间。


        Oracle中还一种特殊的表叫做dual,也是很有意义的表,简单来说是Oracle中的虚表,也叫伪表。那么他是干什么用的,我们知道select * from 必须指定一个表才能输出结果,那么有一些应用场景没有表存储比如系统调用,需要指定表来输出,这时候dual的作用就显示出来,也就是说dual不是作为数据存储,而是作为from的源表。

        格式

            select sysdate from dual; or selec 3+2*5 as result from dual;

        解释

            时间是实时变化的,系统调用时间,这时候输出需要指向一个源表dual作用可显而知,而且可以作为运算的输出表。

        修改dual数据是否会产生影响,那么我们发现查询后dual只有一列,而且只有一个值Y,我们随便插入数据然后进行以上的运算发现结果都是相同,我们删除里面的表结构数值运算也是一样的,那么值的一提的是,Oracle 10g以前对dual做插入删除都会影响运算的结果,那么在oracle 10g之后做了很大改进,不论对dual内部数据进行了如何的操作都不会影响作为虚表的查询结果,对dual内部做了很多工作,无论真实的数据内容是啥,都保证了效果和单条记录是一样的,Oracle 10g对该表做了处理机制做了较大的改进。

        

您可能感兴趣的文档:

--结束END--

本文标题: 数据表和特殊的表

本文链接: https://www.lsjlt.com/news/52895.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 数据表和特殊的表
    表空间的下一层次应该就是我们的数据表,也是我们最常用的对象,存储字段的关联字段的对象我们来创建第一个表为test    格式   &nb...
    99+
    2024-04-02
  • html中的特殊符号、表单和表格是什么
    本篇内容介绍了“html中的特殊符号、表单和表格是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!特殊符...
    99+
    2024-04-02
  • 浅析python中特殊文件和特殊函数
    目录导入模块导入包特殊文件1、__init__.py文件2、.pyc与.pyo文件特殊函数1、构造函数2、析构函数3、静态函数和类函数4、以下划线开头的函数单线划:_var单末尾下划...
    99+
    2024-04-02
  • Vue使用echarts定制特殊的仪表盘
    本文实例为大家分享了Vue使用echarts定制特殊仪表盘的具体代码,供大家参考,具体内容如下 实现的效果:(初始化以及浏览器resize的时候数字和弧形条均为递增动画) HTML...
    99+
    2024-04-02
  • PHP对表单提交特殊字符的过滤和处理
    函数名 释义 介绍htmlspecialchars将与、单双引号、大于和小于号化成HTML格式&转成& "转成"' 转成&#0...
    99+
    2024-04-02
  • MySQL数据库的表结构和表数据
    这篇文章给大家分享的是有关MySQL数据库的表结构和表数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获。1、前言在功能开发完毕,在本地或者测试环境进行测试时,经常会遇到这种情...
    99+
    2024-04-02
  • 为什么说中国式报表特殊-3、报表格式
    为什么说中国式报表特殊- 3 、报表格式 下面是一个很常见的表-资产负债表。 资产负债表 。 在手工制表的时候,我们都是拿尺子来画表格。(也许中国式报表复杂是因为中国人先发明了尺子?) 现在的报表工具提供两种画表的方式:拖拽式和 Excel...
    99+
    2023-06-03
  • Linux中的特殊符号与正则表达式
    第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的。 1.1.2 * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字。 f...
    99+
    2022-06-04
    特殊符号 正则表达式 Linux
  • VBS正则表达式的特殊字符说明
    本篇内容主要讲解“VBS正则表达式的特殊字符说明”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“VBS正则表达式的特殊字符说明”吧!特殊字符有不少元字符在试图对其进行匹配时需要进行特殊的处理。要匹...
    99+
    2023-06-09
  • Oracle 表和表数据恢复
    1. 表恢复   对误删的表,只要没有使用 purge 永久删除选项,那么基本上是能从 flashback table 区恢复回来的。   数据表和其中的数据都是可以...
    99+
    2024-04-02
  • ORACLE中关于表的一些特殊查询语句
    1: 如何判断字段的值里面:那些数据包含小写字母或大小字母 判断字段NAME的值里面有小写字母的记录 方式1: SELECT NAME FROM TEST WHERE regexp_l...
    99+
    2024-04-02
  • html特殊字符编码对照表是怎样的
    本篇文章为大家展示了html特殊字符编码对照表是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 代码如下:<!DOCTYPE...
    99+
    2024-04-02
  • 获取特定 MySQL 数据库中的非空表列表?
    要获取特定 MySQL 数据库中的非空表列表,语法如下 -SELECT table_type,table_name, table_schema from information_schema.tables where ta...
    99+
    2023-10-22
  • 获取特定 MySQL 数据库中的非空表列表
    要获取特定 MySQL 数据库中的非空表列表,你可以使用以下 SQL 查询语句:SELECT TABLE_NAMEFROM ...
    99+
    2023-10-20
    MySQL
  • 详解R语言中的表达式、数学公式、特殊符号
    目录##一、R语言的“表达式”##二、产生“表达式”的函数####1、expression 函数####2、quote函数####3、bquote 和 substitute 函数##...
    99+
    2024-04-02
  • PHP正则表达式特殊字符有哪些
    小编给大家分享一下PHP正则表达式特殊字符有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!PHP正则表达式特殊字符"[ ]"和"\",那么他们是什么呢?具体的操作是什么呢?之所以...
    99+
    2023-06-17
  • python特殊函数之lambda和ma
    lambda表达式返回一个函数对象map(function,sequence),把sequence中的值逐个传给function,返回一个包含函数执行结果的list例子:squares = list(map(lambda x: x**2, ...
    99+
    2023-01-31
    函数 python ma
  • 数据库和数据表的示例
    -- 创建test1 测试整数类型CREATE TABLE IF NOT EXISTS test1(n1 TINYINT,n2 SMALLINT,n3 MEDIUMINT,n4 INT,n5 BIGINT ...
    99+
    2024-04-02
  • redis中的三种特殊数据类型
    本篇内容主要讲解“redis中的三种特殊数据类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis中的三种特殊数据类型”吧!redis 三种特殊的数据类型...
    99+
    2024-04-02
  • Vue中怎么使用echarts定制特殊的仪表盘
    这篇文章主要介绍了Vue中怎么使用echarts定制特殊的仪表盘的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中怎么使用echarts定制特殊的仪表盘文章都会有所收获,下面我们一起来看看吧。实现的效果:(...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作