首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一个表主键信息采集脚本

    查询目前哪些表有主键,可以通过information_schema.key_column_usage表来确定哪些列使用了主键约束,这个表中包含如下列,每个列的含义如下: CONSTRAINT_CATALOG :约束所属目录的名称。 该值始终为def。 CONSTRAINT_SCHEMA :约束所属schema(database)名称 CONSTRAINT_NAME :约束名称 TABLE_CATALOG :表所属目录的名称。 该值始终为def。 TABLE_SCHEMA :表所属schema(database)名称 TABLE_NAME :具有约束的表的名称 COLUMN_NAME :具有约束的列的名称。 如果约束是外键,则这是外键的列,而不是外键引用的列。 ORDINAL_POSITION :列在约束内的位置,而不是列在表中的位置。列位置从1开始编号。 POSITION_IN_UNIQUE_CONSTRAINT:NULL对于唯一和主键约束。对于外键约束,此列是正在引用的表的键中的序号位置。 REFERENCED_TABLE_SCHEMA :约束引用的schema(数据库)的名称。 REFERENCED_TABLE_NAME :约束引用的表的名称。 REFERENCED_COLUMN_NAME :约束引用的列的名称。 我们来看看这个表中的记录吧:

    01

    oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    数据文件和日志文件是数据库中最关键的文件。它们是数据存储的地方。每一个数据库至少有一个与之相关的数据文件,通常情况下不仅仅一个,有非常多。数据在数据文件里是怎样组织的?要了解这些内容我们首先必须理解什么是表空间(tablespace)、段(segment)、区(extent)、块(block),这些都是oracle数据库在数据文件里组织数据的基本单元。如今我们来理解这些概念。 块是数据存储的物理单位,也是数据文件里最基础的单位,数据直接存储在块上。是oracle空间分配的最小单位。oracle中的块大小常见的有三种,2KB、4KB、8KB。块的大小在数据库创建时就已经固定下来,数据库中每一个块的大小都是同样的,并且全部的块都有同样的格式,由“块头+表文件夹+行文件夹+空暇空间+数据空间”组成。块头包括着块类型(比方是表块、还是索引块)的信息、磁盘上块的位置等信息。表文件夹(table directory),假设有的话,包括着此块中存储各行的表的信息(假设一个块中存有多个表中的数据)。行文件夹(row directory)包括着数据行的描写叙述信息,它是一个指针数组,指示了每一行在数据块中的物理位置。块头、表文件夹、行文件夹统称为块开销(block overhead),是oracle原来统计、管理块本身的。剩下的两部分非常easy,已经存有数据的就是数据空间,临时没存的就是空暇空间。 区又叫盘区,是数据文件里一个连续的分配空间,它比块要大,由块组成。有些对象分配空间时可能至少须要两个盘区,比方回滚段,而这两个盘区不一定要求相连。区的大小从一个块到2GB不等 段是oracle数据库中的分配单位,对象如表、索引等都是以段为单位进行分配。当创建一个表时将创建一个表段,创建一个索引时就创建一个索引段。每个消耗存储空间的对象终于被存储到一个单一的段中。有回滚段、暂时段、聚簇段、索引段等。 表空间是一个逻辑容器,它和数据文件关联起来,一个表空间至少有一个数据文件与之关联。一个表空间能够有多个段,一个段仅仅能属于一个表空间。 方案(schema)又叫模式,是比表空间小一级的逻辑概念,它也是一个逻辑容器。多个用户可能共用一个表空间,那怎样区分开每个用户?那么在表空间中对每个用户都有一个相应的方案,用于保存单个用户的信息。 oracle中存储的层次结构总结例如以下: 一、数据库由一个或多个表空间组成 二、表空间由一个或多个数据文件组成,一个表空间包括多个段 三、段由一个或多个区组成 四、区是数据文件里一个连续的分配空间,由一个或多个块组成 五、块是数据库中最小、最主要的单位,是数据库使用的最小的I/O单元 六、每一个用户都有一个相应的方案

    03

    Mysql 获取表的comment 字段

    查看获取表内字段注释: > show full columns from tablename; 或是  show full fields from tablename; 或是,在元数据的表里面看 Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释 from INFORMATION_SCHEMA.COLUMNS Where table_name = 'companies'##表名 AND table_schema = 'testhuicard'##数据库名 AND column_name LIKE 'c_name'##字段名 查看表注释的方法: > show  create  table  tablename; 获取整个数据库的所有表信息(包含表名,表注释,表类型等等): > SELECT table_name, table_type, engine -> FROM information_schema.tables -> WHERE table_schema = 'db5' //table_schema是数据库名 -> ORDER BY table_name DESC; //该语句请求按逆向字母顺序列出数据库db5中的所有表,但仅显示三种信息:表名,表类型,以及表引擎。 INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息. > SELECT TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_NAME = 'sh_goods' AND TABLE_SCHEMA = 'sh_shop';//获取sh_shop 数据库中 sh_goods 表 的注释。 获取表注释或是 或者使用:show table status; Comment 就是表注释。 修改表的注释: alter table test1 comment '修改后的表的注释'; 修改字段的注释: alter table test1 modify column field_name int comment '修改后的字段注释';

    01
    领券