标题: windows + C++ 判断mysql是否存在某张表 [打印本页] 作者: lusspan 时间: 2008-5-31 14:36 标题: windows + C++ 判断mysql是否存在某张表 今天因为要做一程序,在mysql里面查找是否存在某张表,特意,在网上找了好久,终于找到了.其实也算不上原创,发在下面,与大家一起分享.
方法1:直接检测并创建
CREATE TABLE if not exists helloworld (
PLAYERID int(11) NOT NULL DEFAULT '0',
PLAYERNAME varchar(100) DEFAULT NULL,
SEVID int(11) NOT NULL DEFAULT '0',
SEVNAME varchar(100) DEFAULT NULL,
TOTALMARK decimal(20,1) NOT NULL DEFAULT '0.0',
TOTALRANK int(11) NOT NULL DEFAULT '0',
ONLINESEC int(11) NOT NULL DEFAULT '0',
ONLINEHOUR int(11) NOT NULL DEFAULT '0',
ONLINEMIN int(11) NOT NULL DEFAULT '0',ONLINESECOND int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`PLAYERID`,`SEVID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
方法2:也是使用脚本,但这种我只在管理器里面成功过,在代码里面感觉要处理这个还有点困难.
show TABLES like 'buzidao';
方法3:使用脚本,我认为此种方法最好了.
先用Database对象去执行脚本use information_schema;
然后用Recordset对象执行脚本
select count(*) AS table_count from tables where table_schema = '数据库名' and table_name = '表名'
接下来,可以依据列名去获取表的个数.
方法4:使用脚本,较第三种简单
select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'buzidao'