mysql判断表是否存在

发布时间:2023-05-16

一、mysql判断表是否存在不存在建立

如果在创建表之前需要先判断该表是否已经存在,如果不存在则创建,如果存在则不做任何操作。可以通过 IF NOT EXISTS 参数实现。示例如下:

CREATE TABLE IF NOT EXISTS `students` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

二、mysql查询表是否存在

可以通过 SHOW TABLES 语句查询当前数据库中是否存在某个表。如果存在,则该表名将会被返回,否则将返回一个空的结果集。

SHOW TABLES LIKE 'students';

如果 students 表存在,则将返回结果集。否则将返回空结果集。

三、mysql判断表是否存在来删除表

如果要删除一个表,可以事先通过判断表是否存在来确定是否需要执行 DROP TABLE 语句。示例代码如下:

DROP TABLE IF EXISTS `students`;

四、mysql判断表是否存在表

如果要判断一个表是否为表对象,可以使用 TABLE_TYPE='BASE TABLE' 来判断。示例代码如下:

SELECT TABLE_NAME, TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME = 'students'
AND TABLE_TYPE='BASE TABLE';

五、mysql判断表是否存在临时表

如果要判断一个表是否为临时表,可以使用 TABLE_TYPE='TEMPORARY' 来判断。示例代码如下:

SELECT TABLE_NAME, TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME = 'temp_table'
AND TABLE_TYPE='TEMPORARY';

六、判断mysql数据表是否存在

可以通过判断 INFORMATION_SCHEMA 中的表信息来确定数据表是否存在。如果存在则说明该表已经被创建,否则该表不存在。

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME = 'students';

如果返回值是 1,则该表存在。否则该表不存在。

七、mysql判断分区是否存在

如果要判断一个表的分区是否存在,则可以使用 PARTITION_NAME 来判断。示例代码如下:

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.PARTITIONS
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME = 'students'
AND PARTITION_NAME = 'p0';

如果返回值是 1,则该分区存在。否则该分区不存在。

八、mysql判断数据是否存在

可以使用 SELECT COUNT(*) 来判断表中是否存在某些数据。如果返回值是大于 0,则说明数据存在,否则数据不存在。

SELECT COUNT(*)
FROM students
WHERE name = '张三';

如果返回值大于 0,则说明该数据存在。否则该数据不存在。

九、mysql判断索引是否存在

可以使用 INFORMATION_SCHEMA.STATISTICS 来判断某个索引是否存在。如果存在则会返回一行记录,否则返回空结果集。示例代码如下:

SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME = 'students'
AND INDEX_NAME = 'idx_name';

如果返回结果集,则说明该索引存在。否则该索引不存在。