最近的文章列表

汇总destoon二次开发常用数据库操作

destoon在初始化系统后系统会自动连接数据库,并将数据库操作对象保存在$db。对于数据库操作方法请参考include/db_mysql.class.php函数原型,下面对常用数据库操作举例说明。

1、执行SQL语句

$db->query("INSERT INTO `{$DT_PRE}table` (`xxx`) VALUES ('yyy')");
$db->query("UPDATE `{$DT_PRE}table` SET `xxx`='yyy' WHERE
2014/6/27 Comments:
MySQL控制台执行外部sql脚本文件的命令source

sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件。基本步骤如下:
1、创建包含sql命令的sql脚本文件
文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:
--创建表,使用“--”进行注释
create table 表名称
(                   
  Guid Varchar(38) not null primary key,  
  Title Varchar(255),       
              
) TYPE=InnoDB;

2014/5/27 Comments:
SQLServer修改表、视图、存储过程、触发器、自定义函数的所有者(MSSQL)

批量修改:

EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '


单个修改:

exec sp_changeobjectowner '要改的表名','dbo'

只有所有者才能更改表的所有者


有很服务器:   消息   15001,级别   16,状态   1,过程   sp_changeobjectowner,行   38   
...

2014/2/11 Comments:
php输入值/表单提交参数过滤有效防止sql注入的方法

输入值/表单提交参数过滤,防止sql注入或非法攻击的方法:

代码如下:

/**
* 过滤sql与php文件操作的关键字
* @param string $string
* @return string
* @author zyb <zyb_icanplay@163.com>
*/
private function filter_keyword( $string ) {
$keyword = 'select|inse
2014/1/21 Comments:
SQL语句优化技术分析-ORACLE

为了让更多的新手受益,我抽空把SQL语句优化部分进行了整理,希望大家一起进步。

一、操作符优化
1、IN 操作符
用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:
ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。
推荐方案:在

2014/1/8 Comments: