一、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';
如果返回结果集,则说明该索引存在。否则该索引不存在。