sql 查询没有主键的表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 查询没有主键的表相关的知识,希望对你有一定的参考价值。

--1 tips
SELECT NAME FROM SYS.TABLES
EXCEPT
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'

--2 tips
SELECT * FROM SYSOBJECTS A 
WHERE XTYPE='U' 
AND NOT EXISTS(SELECT 1 FROM SYSOBJECTS WHERE XTYPE='PK' AND PARENT_OBJ=A.ID )

--MySQL
select table_schema,table_name 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'
);

以上是关于sql 查询没有主键的表的主要内容,如果未能解决你的问题,请参考以下文章

SQL 函数在没有主键的表中列出列

如何在SQL Server中获取具有复合主键的表列表?

查询mysql没有主键的表

动态查找带有主键的表

如何查找MySQL中查询慢的SQL语句

oracle怎么查询所有的表有没有主键