-
buildSql();返回SQL语句
where('字段名','表达式','查询条件');
表达式 含义
EQ、= 等于(=)
NEQ、<> 不等于(<>)
GT、> 大于(>)
EGT、>= 大于等于(>=)
LT、< 小于(<)
ELT、<= 小于等于(<=)
LIKE 模糊查询
[NOT] BETWEEN (不在)区间查询
[NOT] IN (不在)IN 查询( 'id','in' ,'1,5,8'( [1,5,8] ) )
[NOT] NULL 查询字段是否(不)是NULL
[NOT] EXISTS EXISTS查询
EXP 表达式查询,支持SQL语法
> time 时间比较
< time 时间比较
between time 时间比较
notbetween time 时间比较
<!-- Db::table -->
Db::table('据库名')->where()->buildSql();
<!-- Db::name 方法同上 -->
Db::name('不戴前置数据库名')->where()->buildSql();
查看全部 -
方法都为返回影响数据的条数
where('字段名','表达式','查询条件');
<!-- Db::table -->
根据主键删除
Db::table('据库名')->delete(1);
条件删除
Db::table('据库名')->where('key','<',value)->delete();
<!-- Db::name 方法同上 -->
Db::name('不戴前置数据库名')->delete(1);
或者用SQL语句删除Db::execute(sql语句)
二维数组[
0 =>一维数组[key=>value,~~~]
,~~~
]
查看全部 -
方法都为返回影响数据的条数
<!-- Db::table -->
如果数据中包含主键,可以直接使用如果没有要加上->where('id', 1):
Db::table('据库名')->update($一维数组); ['key' => 'value','id'=>1]);
如不加第二个参数,默认值为1
支持延时更新,如果需要延时更新则传入第三个参数几秒
Db::table('据库名')->where('id', 1)->setDec('key', 5);自减第二参数是减少的值
Db::table('据库名') ->where('id', 1)->setInc('score',5);自增第二参数是增加的值
<!-- Db::name 方法同上 -->
Db::table('不戴前置数据库名')->update($一维数组);
或者用SQL语句更新Db::execute(sql语句)
二维数组[
0 =>一维数组[key=>value,~~~]
,~~~
]
查看全部 -
<!-- Db::name -->
Db::name('不加前缀数据库名')->insert($一维数组) 返回值是影响记录的行数
Db::name('不加前缀数据库名')->insertGetId($一维数组) 返回ID
Db::name('不加前缀数据库名')->insertAll($二维数组) 返回成功插入行数
<!-- Db::table 方法同上 -->
Db::table('据库名')->insert($一维数组);
或者用SQL语句插入Db::execute(SQL语句)
二维数组[
0 =>一维数组[key=>value]
]
查看全部 -
<!-- Db::query Db::execute -->
#使用sql语句方式查询数据库
$res = Db::query("select *from imooc_user";("select *from imooc_user where id=?",[1]);
$res =Db::execute("insert into imooc_user set username=?,password?,email=?",['imooc',md5('imooc'),'imooc@qq.com']);
<!-- Db::table -->
#selsect 返回所有记录 返回的结果是一个二维数组
#如果结果不存在 返回一个空数组
$res = Db::table('imooc_user')->select();
#find 返回一条记录 返回的结果是一个一维数组
#如果结果不存在返回NULL
$res = Db::table('imooc_user')->find();
#value 返回一条记录 并且是每条记录的某个字段值
#如果结果不存在 返回NULL
$res = Db::table('imooc_user')->value('username');
#column 返回一个一维数组 数组中的value值就是我们要获取的列的值
#如果存在第二个参数 就返回这个数组并且用第二个参数的值作为key值
#如果不存在返回NULL
$res = Db::table('imooc_user')->column('username');
<!-- Db::name 也有同上的方法-->
$res = Db::name('user')->select();
<!-- db 也有同上的方法-->
如果没有第三个参数每次就都会实例化一个
$res = db('user',[],false)->find();
查看全部 -
删除数据
$db = Db::name('不加前缀的数据表名');
$res = $db->where([key=>value, key=>value, ***]或者1=1删除全部)->delete(留空则用where,或者可以添加自增ID值删除) 返回影响行数
查看全部 -
更新数据
$db = Db::name('不加前缀的数据表名');
$db -> where([key => value, key => value, ***])->update([key => value, key => value, ***]) 返回影响行数
$db -> where([key => value, key => value, ***])->update(key => value) 返回影响行数,与update不同的是,只更新一条数据
$db -> where([key => value, key => value, ***])->setInc('INT字段', 自增数值默认1) 返回影响行数
$db -> where([key => value, key => value, ***])->setDec('INT字段', 自减数值默认1) 返回影响行数
查看全部 -
添加数据
$db = Db::name('不加前缀数据库名');
insert([key => value, key => value, ***]) 返回值是影响记录的行数
insertGetId([key => value, key => value, ***]) 返回自增ID
insertAll($数组) 返回成功插入行数,可和原数据长度作比较
查看全部 -
Db::table('数据库表名')->对象名 条件->where(key, value) 表名:查询值 不知能否添加条件判断,还是只能原生添加?
select ();返回所有记录 返回的结果是一个二维数组,不存在返回空数组
column(key, value) 返回列一维数组,key默认查询名,若存在第二个参数,则进行键值映射,value查询名,不存在返回空数组
find() 返回一条记录,返回的结果是一个一维数组,不存在返回NULL
value() 返回一条记录,并且是字条记录的某个字段值,结果不存在返回NULL
Db::name('不需前缀的表名') 开发中一般使用这个 其余参数同上
助手函数:db('不需前缀的表名') 功能同上,只是这种使用方法每次使用都需要实例化
Db::content() 数据库连接(惰性连接)
Db::query("SQL语句???", [value1, value2, value3]) 数据库语句(原生)
Db::execute("SQL语句???", [value1, value2, value3]) 数据库插入语句,返回影响条数(原生)
查看全部 -
在新版本的框架中,还需添加这么一行:
Container::get('app', [APP_PATH])->run()->send();
查看全部 -
上节课纠正: find返回的结果是 一维数组
查看全部 -
每一个模型文件都对应数据库中的一张表
查看全部 -
Model的文件名 = 类名 = 数据表去掉前缀后的名字,
之后就可以通过这个Model类来操作相应的数据表
查看全部 -
1. Db类的链式方法会返回一个Db类,我们可以对他继续使用Db链式方法
查看全部 -
1.执行Db::connect()并没有正在地连接数据库,只有在使用数据库的时候才会连接
查看全部
举报