在安装一些插件,
或者批量修改论坛的一些参数时,
由于数据库不支持或者批量修改的麻烦,
这就要需要对数据库进行升级。
现在通过一些常用的升级数据库的语句做一些本人肤浅的阐释(有些解释可能不规范,见谅,见谅):
1.增加一个表
- CREATE TABLE table_name
- (ziduan1 ziduanshuxing
- ……
- );
复制代码
说明:
CREATE TABLE是建表的意思,
table_name 是所建表的表名,
括号内是表中的字段及其属性。
表名、字段两端应该有这个符号(`,键盘上esc键下的那个键,注意要在英文状态)
举例:
- CREATE TABLE `cdb_lottery` (
- `id` mediumint(8) unsigned NOT NULL auto_increment,
- `username` varchar(15) NOT NULL default '',
- `isadmin` int(10) NOT NULL default '0',
- `lottery` int(10) NOT NULL default '0',
- `timing` int(10) NOT NULL default '0',
- `times` int(10) NOT NULL default '0',
- `finalno` int(10) NOT NULL default '0',
- `buytime` int(10) NOT NULL default '0',
- `winner` varchar(15) NOT NULL default '',
- `total` int(10) NOT NULL default '0',
- PRIMARY KEY (`id`)
- ) TYPE=MyISAM AUTO_INCREMENT=149 ;
复制代码
看了例子就应该很明白了吧。
(“)”后的那句我不懂。。。)
注:上述语句来源:
https://discuz.dismall.com/thread-263392-1-1.html
2.增加一个字段
- ALTER TABLE table_name ADD COLUMN column_name type default value;
复制代码
说明:
ALTER TABLE是改变表的意思,
column_name 是所增加的字段,
后为其属性。
表名、字段两端应该有这个符号(`,键盘上esc键下的那个键,注意要在英文状态)
举例:
- ALTER TABLE `mytable` ADD COLUMN `new_column` varchar(10) default '';
复制代码
3.增加一个一个列做为主键
- ALTER TABLE table_name ADD COLUMN column_name type auto_increment PRIMARY KEY;
复制代码
举例:
- ALTER TABLE `store` ADD COLUMN `book` int(10) auto_increment PRIMARY KEY;
复制代码
4.更改一个字段名
- ALTER TABLE table_name CHANGE name1 name2 type default value;
复制代码
name1为原来的字段名,name2为修改后的字段名。
举例:
- ALTER TABLE` myinfo` change `mobilephone` `cellphone` int(3) unsigned default 1;
复制代码
5.更改一个字段的默认值
- ALTER TABLE table_name ALTER column_name set default value;
复制代码
举例:
- ALTER TABLE `store` ALTER `book` set default '0';
复制代码
6.更改一个字段的数据类型
- ALTER TABLE table_name CHANGE COLUMN column_name column_name type;
复制代码
举例:
- ALTER TABLE `store` CHANGE COLUMN `book` varchar(20);
复制代码
7.插入新数据
- INSERT INTO table_name VALUES ('','',1);
复制代码
举例:
- INSERT INTO cdb_settings VALUES ('allowpay', '0');
- INSERT INTO cdb_settings VALUES ('allowmedalpay', '0');
- INSERT INTO cdb_settings VALUES ('senddays', '30');
- INSERT INTO cdb_settings VALUES ('holidaypay', '0');
- INSERT INTO cdb_settings VALUES ('allowpaylist', '0');
- INSERT INTO cdb_settings VALUES ('allowlist', '0');
- INSERT INTO cdb_settings VALUES ('listauthor', '0');
- INSERT INTO cdb_settings VALUES ('listforum', '0');
- INSERT INTO cdb_settings VALUES ('ae1', '0');
- INSERT INTO cdb_settings VALUES ('ae2', '0');
- INSERT INTO cdb_settings VALUES ('ae3', '0');
- INSERT INTO cdb_settings VALUES ('ae4', '0');
- INSERT INTO cdb_settings VALUES ('ae5', '0');
- INSERT INTO cdb_settings VALUES ('ae6', '0');
- INSERT INTO cdb_settings VALUES ('ae7', '0');
- INSERT INTO cdb_settings VALUES ('ae8', '0');
- INSERT INTO cdb_settings VALUES ('ld', '0');
复制代码
注:上述语句来源:
https://discuz.dismall.com/thread-319090-1-1.html
8.其他操作
这些操作很实用的。
这部分我不想写了,
论坛上有现成的。
转过来用一下。
来源:
https://discuz.dismall.com/viewthread.php?tid=211633
1.打开论坛内所有版区 回收站
- UPDATE `cdb_forums` SET `recyclebin` = '1' ;
复制代码
2.允许论坛内所有版区斑竹自行添加版规 不支持html
- UPDATE `cdb_forums` SET `alloweditrules` = '1';
复制代码
3.允许论坛内所有版区斑竹自行添加版规 支持html
- UPDATE `cdb_forums` SET `alloweditrules` = '2';
复制代码
4.论坛内所有版区 按最后回复时间自动关闭 31天
- UPDATE `cdb_forums` SET `autoclose` = '-31';
复制代码
5.论坛内所有版区 按发布时间自动关闭 31天
- UPDATE `cdb_forums` SET `autoclose` = '31';
复制代码
6.论坛内所有版区 不自动关闭
[quote]UPDATE `cdb_forums` SET `autoclose` = '0';
7.论坛内所有版区 支付宝关闭
- UPDATE `cdb_forums` SET `allowtrade` = '0';
复制代码
8.论坛内所有会员 拓展1积分变为100
- UPDATE `cdb_members` SET `extcredits1` = '100';
复制代码
9.论坛内所有会员 拓展1积分加100
- UPDATE `cdb_members` SET `extcredits1` = extcredits1 +100;
复制代码
10.论坛内所有版区 干扰码关闭
- UPDATE `cdb_forums` SET `jammer` = '0';
复制代码
11.论坛内所有版区 干扰码开启
- UPDATE `cdb_forums` SET `jammer` = '1';
复制代码
[/quote]
说了这么多,
其实了解下这些东东还是很有用的。
比如安装插件,
就可以判断数据库到底是怎么处理了一下~。 |