iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql如何快速获得库中无主键的表
  • 407
分享到

mysql如何快速获得库中无主键的表

2024-04-02 19:04:59 407人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关Mysql如何快速获得库中无主键的表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、查看表主键信息--查看表主键信息  SELEC

这篇文章将为大家详细讲解有关Mysql如何快速获得库中无主键的表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1、查看表主键信息

--查看表主键信息 
SELECT
 t.TABLE_NAME,
 t.CONSTRaiNT_TYPE,
 c.COLUMN_NAME,
 c.ORDINAL_POSITioN 
FROM
 INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
 INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c 
WHERE
 t.TABLE_NAME = c.TABLE_NAME 
 AND t.CONSTRAINT_TYPE = 'PRIMARY KEY' 
 AND t.TABLE_NAME = '<TABLE_NAME>' 
 AND t.TABLE_SCHEMA = '<TABLE_SCHEMA>';

mysql如何快速获得库中无主键的表

2、查看无主键表

--查看无主键表
SELECT table_schema, table_name,TABLE_ROWS
FROM information_schema.tables
WHERE (table_schema, table_name) NOT IN (
SELECT DISTINCT table_schema, table_name
FROM information_schema.columns
WHERE COLUMN_KEY = 'PRI'
)
AND table_schema NOT IN ('sys', 'mysql', 'information_schema', 'performance_schema');

mysql如何快速获得库中无主键的表

3、无主键表

在Innodb存储引擎中,每张表都会有主键,数据按照主键顺序组织存放,该类表成为索引组织表 Index Ogranized Table

如果表定义时没有显示定义主键,则会按照以下方式选择或创建主键:

1) 先判断表中是否有"非空的唯一索引",如果有

如果仅有一条"非空唯一索引",则该索引为主键

如果有多条"非空唯一索引",根据索引索引的先后顺序,选择第一个定义的非空唯一索引为主键。

2) 如果表中无"非空唯一索引",则自动创建一个6字节大小的指针作为主键。

如果主键索引只有一个索引键,那么可以使用_rowid来显示主键,实验测试如下:

--删除测试表
DROP TABLE IF EXISTS t1;

--创建测试表
CREATE TABLE `t1` (
 `id` int(11) NOT NULL,
 `c1` int(11) DEFAULT NULL,
 UNIQUE uni_id (id),
 INDEX idx_c1(c1)
) ENGINE = InnoDB CHARSET = utf8;

--插入测试数据
INSERT INTO t1 (id, c1) SELECT 1, 1;
INSERT INTO t1 (id, c1) SELECT 2, 2;
INSERT INTO t1 (id, c1) SELECT 4, 4;

--查看数据和_rowid
SELECT *, _rowid FROM t1;

mysql如何快速获得库中无主键的表

可以发现,上面的_rowid与id的值相同,因为id列是表中第一个唯一且NOT NULL的索引。

关于“mysql如何快速获得库中无主键的表”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: mysql如何快速获得库中无主键的表

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql如何快速获得库中无主键的表
    这篇文章将为大家详细讲解有关mysql如何快速获得库中无主键的表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、查看表主键信息--查看表主键信息  SELEC...
    99+
    2024-04-02
  • MySQL数据库中怎么获取库中无主键的表
    本篇文章为大家展示了MySQL数据库中怎么获取库中无主键的表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 查看表主键信息查看表主键信息SELECT&n...
    99+
    2024-04-02
  • 网站优化中如何让新站快速获得流量
    小编给大家分享一下网站优化中如何让新站快速获得流量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个网站制作完上线后,如何让新站快速地被用户所知晓?这就需要靠优化...
    99+
    2023-06-10
  • mysql如何修改表的主键
    要修改表的主键,您可以使用ALTER TABLE语句,并在表中指定新的主键列。以下是一个示例: ALTER TABLE table_...
    99+
    2024-04-09
    mysql
  • Innodb中mysql如何快速删除2T的大表
    假设,你有一个表 erp,如果你直接进行下面的命令 drop table erp 这个时候所有的mysql的相关进程都会停止,直到 drop结束,mysql才会恢复执行。出现这个情况的原...
    99+
    2024-04-02
  • ASP和Unix系统的API:如何快速获得所需信息?
    随着信息时代的到来,人们对于信息获取的需求越来越高。如何快速获取所需信息成为了一个重要的问题。在这个问题上,ASP和Unix系统的API可以提供一些很好的解决方案。 ASP(Active Server Pages)是一种动态网页技术,它可...
    99+
    2023-08-29
    unix 关键字 api
  • MySQL查询数据库中没有主键的表
    select table_schema,table_name from information_schema.tables where (tab...
    99+
    2024-04-02
  • MySQL中如何快速更改数据库名称
    本篇内容主要讲解“MySQL中如何快速更改数据库名称”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL中如何快速更改数据库名称”吧!1、新建数据库centos_old.mysql ...
    99+
    2023-06-27
  • Mybatis中如何获取生成的主键
    这篇文章主要介绍了Mybatis中如何获取生成的主键,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何获取生成的主键对于支持主键自增的数据库...
    99+
    2024-04-02
  • oracle中如何获得数据库的DBID信息
    1.查询v$database获得 由于DBID在控制文件和数据文件中都存在记录,所以如果能够mount数据库就可以查询v$database视图获得. 复制代码 代码如下:SQL&g...
    99+
    2022-11-15
    数据库 DBID
  • MyBatis如何获取数据库自生成的主键Id
    这篇文章将为大家详细讲解有关MyBatis如何获取数据库自生成的主键Id,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MyBatis获取数据...
    99+
    2024-04-02
  • 如何在MySQL中获得更好的搜索结果
    这篇文章主要为大家展示了“如何在MySQL中获得更好的搜索结果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在MySQL中获得更好的搜索结果”这篇文章吧。 ...
    99+
    2024-04-02
  • 如何解决MySQL中主库跑太快从库追不上的问题
    这篇文章主要介绍“如何解决MySQL中主库跑太快从库追不上的问题”,在日常操作中,相信很多人在如何解决MySQL中主库跑太快从库追不上的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • mysql之查找所有数据库中没有主键的表问题
    目录查找所有数据库中没有主键的表修改mysql数据表主键总结查找所有数据库中没有主键的表 select table_schema,table_name from information_schema.table...
    99+
    2023-03-23
    mysql查找数据库 查找数据库没有主键的表 mysql主键的表
  • 如何解决MySQL中gh-ost改双主表结构主键冲突问题
    如何解决MySQL中gh-ost改双主表结构主键冲突问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1)背景:最近帮业务方排...
    99+
    2024-04-02
  • Mac 终端快捷键设置:如何给 Mac 中的 Terminal 设置 Ctrl+Alt+T 快捷键快速启动
    Mac 电脑中正常是没有直接打开终端命令行的快捷键指令的,但可以通过 command+space 打开聚焦搜索,然后输入 ter 或者 terminal 全拼打开。但习惯了 linux 的同学会觉得这...
    99+
    2023-09-02
    macos mac
  • 数据库分库分表后如何解决主键唯一的问题
    本篇文章给大家分享的是有关数据库分库分表后如何解决主键唯一的问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在此之前我们介绍了数据库的分库分...
    99+
    2024-04-02
  • mysql中如何获取一个表的长度
    在MySQL中,可以通过以下几种方式获取一个表的长度(即表的记录数): 使用COUNT(*)函数: SELECT COU...
    99+
    2023-10-28
    mysql
  • 我们如何获取现有 MySQL 表中的列列表?
    假设我们忘记了现有表中的列名,那么我们可以使用 SHOWCOLUMNS 语句来获取列的列表 -mysql> SHOW COLUMNS from Employee\G *************************** 1. ro...
    99+
    2023-10-22
  • 使用MySQL索引如何快速检索数据库的案例
    这篇文章将为大家详细讲解有关使用MySQL索引如何快速检索数据库的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、索引的概念1、索引是一个排序的列表,在这个列表中存...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作