有时开发功能时需要操作数据表,下面介绍 wellcms 开发插件操作数据表。
关于数据库字典请查看 install/install.sql 有详细备注,官网不在贴出。
判断数据表、字段、和索引,增删查改都需要包含下面这个文件,在php页面增加如下代码。
include _include(APP_PATH . 'model/db_check.func.php');
// ------------判断数据表 website_link 是否存在------------
if (db_find_table($db->tablepre . 'website_link')) { echo 'Yes'; } else { echo 'No'; }
// ------------判断数据表 website_comment_pid 表 fid_pid 索引是否存在------------
if (db_find_index($db->tablepre . 'website_comment_pid', 'fid_pid')) { echo 'Yes'; } else { echo 'No'; }
// ------------判断数据表 forum 表 well_thread_rank 字段是否存在------------
if (db_find_field($db->tablepre . 'forum', 'well_thread_rank')) { echo 'Yes'; } else { echo 'No'; }
// ------------增加数据表 test ------------
$sql = "CREATE TABLE `{$db->tablepre}test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `rank` tinyint(3) unsigned NOT NULL DEFAULT '0', `create_date` int(11) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8";
// ------------删除数据表 test ------------
$sql = "DROP TABLE IF EXISTS `{$db->tablepre}test`;"; $r = db_exec($sql);
// ------------数据表 test 表 增加字段 image_url 字段------------
$sql = "ALTER TABLE `{$db->tablepre}test` ADD `image_url` CHAR( 120 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `orgfilename`;"; $r = db_exec($sql);
// ------------数据表 test 表 删除字段 image_url 字段------------
$sql = "ALTER TABLE `{$db->tablepre}test` DROP `image_url`;"; $r = db_exec($sql);
// ------------数据表 test 表 增加索引 rank 字段------------
$sql = "ALTER TABLE `{$db->tablepre}test` ADD INDEX `rank` ( `rank` );"; $r = db_exec($sql);
// ------------数据表 test 表 删除索引 rank 字段------------
$sql = "ALTER TABLE `{$db->tablepre}test` DROP INDEX `rank`;"; $r = db_exec($sql);