徐善通的随笔

千里之行, 始于足下



mysql 判断一张表是否存在的方法


查询表是否存在

使用 SHOW TABLES

SHOW TABLES LIKE '%tbl_tabl%';

结果:

alt

查询 INFORMATION_SCHEMA

// like 匹配
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = 'test' AND TABLE_NAME like '%tbl%';
// 完全匹配
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = 'test' AND TABLE_NAME = 'tbl_table';

结果:

alt

不存在就创建

不覆盖创建表

当表存在时就不创建

CREATE TABLE IF NOT EXISTS `table_name`  (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET = utf8

覆盖创建

不管表是否存在都创建表

// 先删除表
DROP TABLE IF EXISTS `table_name`;
// 再进行创建
CREATE TABLE `table_name`  (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET = utf8

从模板创建表

如果表不存在那么基于模板创建表结构,不包括索引

CREATE TABLE IF NOT EXISTS `my_table` LIKE `from_tbale`;

作者: 徐善通
地址: https://www.xstnet.com/article-129.html
声明: 除非本文有注明出处,否则转载请注明本文地址


我有话说



最新回复


正在加载中....

Copyrights © 2016-2019 醉丶春风 , All rights reserved. 皖ICP备15015582号-1