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