|
|
官方数据字典:http://faq.comsenz.com/library/database/x3/x3_index.htm
数据库规范:
http://open.discuz.net/?ac=document&page=dev_coderule
字段类型
| 字段类型 | 存储空间(b) | UNSIGNED | 取值范围 | | tinyint | 1 | 否 | -128~127 | | 是 | 0~255 | | smallint | 2 | 否 | -32768~32767 | | 是 | 0~65535 | | mediumint | 3 | 否 | -8388608~8388607 | | 是 | 0~16777215 | | int | 4 | 否 | -2147483648~2147483647 | | 是 | 0~4294967295 | | bigint | 8 | 否 | -9223372036854775808~9223372036854775807 | | 是 | 0~18446744073709551615
| 数据表的插入操作(增)
方法名:
DB::insert()
参数解释:
$table:插入的数据表明
$data:插入的数据,字段对应值
$return_insert_id:是否返回插入数据的ID
$replace:是否使用replace into
$silent:操作失败是否不提示(默认提示)
repelce into 特性:
当原始表中存在不能重复的数据,replace into 就相当于update(更新);
当原始表中不存在不能重复的数据,replace into 就相当于insert into(插入);
代码示例:
- <?php
- echo DB:insert('test_db',array(
- 'id'='1',
- 'name'='ppc',
- ),true<span style="line-height: 1.5;">,true</span><span style="line-height: 1.5;">);</span>
复制代码
数据表的删除操作(删)
方法名:
DB:delete()
参数解释:
$table:要删除数据的表名
$condition:要删除的条件(如:id>2)
$limit:删除满足条件的条目数
$unbuffered:是否使用无缓存查询(默认为true。删除不需要缓存任何结果)
代码示例:
- <?php
- DB::delete('test_db','id>2',1,true);
- ?>
复制代码
数据表的更新操作(改)
方法名:
DB::update()
参数解释:
$table:更新数据的表名
$data:更新的数据,字段对应值,是一个数组形式,如array('name'=>'admin')
$condition:更新的条件(如:id>8)
$unbuffered:是否使用无缓存查询(省内存)
$low_priority:是否采用无锁表更新(可参考数据库锁操作,不常用)
代码示例:
- <?php
- DB::update('test_db',array(
- 'neme'=>'root',
- ),'id>8');
复制代码 绑定查询的参数解释(查)
| 表达式 | 数据处理 | | % t | DB::table()自动添加表前缀 | | %d | intval() 对数据进行整形化操作 | | %s | addslashes对数据进行转义,防止注入漏洞,常用户字符串操作 | | %n | IN(1,2,3)在集合中查询表ID值在1,2,3集合里的任意一个 | | %f | sprintf('%f',$var)将数据格式化成浮点型,常用于浮点型操作 | | %i | 不做任何处理(使用不多) |
数据表查询操作(单条)
方法名:DB::fetch_first()
参数解释:
$sql:查询数据的SQL语句
$arg:绑定查询的参数
$silent:查询失败时是否不提示
代码示例:
- <?php
- $id = 1;
- $data = DB::fetch_first("SELECT * FROM %t WHERE id = %d",array('test_db',$id
复制代码 数据表查询操作(多条)
方法名:
DB::fetch_all()
参数解释:
$sql:查询数据的SQL语句
$arg:绑定查询的参数
$keyfield:一维索引的字段名称(必须为唯一值)
$silent:查询失败时是否不提示
代码示例:
- <?php
- $data = DB::fetch_all("SELECT * FROM %t WHERE id>= %d AND id<= %d",
- array(
- 'test_db',7,10
- ),'id');
- /*数组中数据的个数与sql语句中表达式的个数是一样的
- 以上%t与‘test_db’对应,第一个%d与array中的7对应,第二个%d与array中的10对应
- */
- debug($data);
复制代码 数据表查询操作(单字段查询),主要用语统计查询方法名:
DB::result_first()
参数解释:
$sql:查询数据的SQL语句
$arg:绑定查询的参数
$silent:查询失败时是否不提示
代码实例1:
- <?php
- echo DB::result_first("SELECT name FROM %t WHERE id=%d",array(
- 'test_db',1
- ));
复制代码 代码实例2:
- <?php
- echo DB::result_first("SELECT COUNT(*) FROM %t",array(
- 'test_db'
- ));
复制代码
思考:取最大值MAX,等等。
|
|