数据库操作

燃烧的冰2020-01-17  359

有时开发功能时需要操作数据表,下面介绍 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);