文章目录
准备操作
student表
这里我提供数据库表,数据自己添加吧…
CREATE TABLE `student` (
`id` int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
`NAME` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
INSERT INTO student VALUES(NULL,'小马',55);
INSERT INTO student VALUES(NULL,'小腾',45);
INSERT INTO student VALUES(NULL,'小飞',55);
INSERT INTO student VALUES(NULL,'小炎',20);
控制器
php artisan make:controller DbController
web.php控制器路由配置
Route::get('db/add','DbController@add');
Route::get('db/del','DbController@del');
Route::get('db/update','DbController@update');
Route::get('db/select','DbController@select');
配置
.env文件中的配置
config中的database.php配置
我比较偏向于第一种(.env),两种选择其中一个即可。
使用env函数,表示先从env文件里面获取,如果获取成功则使用,如果获取失败,则使用env函数的第二个参数。
引入门面
查阅app.php后,发现DB门面已经被定义过别名了,所以直接使用别名即可。
获取表实例
DB::table(表名);
插入数据
insert()
insert(数组)
可以同时添加一条或多条,返回值是布尔类型。
public function add() {
$db = DB::table('student');
$db -> insert([
[
'name' => '小李',
'age' => 23
],
[
'name' => '小L',
'age' => 13
],
]);
}
温馨提示:截图中显示了三条,是因为我同时执行完insert()和insertGetId()的结果
insertGetId()
- insertGetId(一维数组)
只能添加一条数据,返回自增的id。
public function add() {
$db = DB::table('student');
$db -> insertGetId([
'name' => '小X',
'age' => 10
]);
}
温馨提示:截图中显示了三条,是因为我同时执行完insert()和insertGetId()的结果
修改数据
update()
- update()
修改任意字段,返回所受影响的行数
public function update() {
$db = DB::table('student');
$db -> update([
'age' => 0
]);
}
where
- where(字段, 运算符, 值)
如果运算符为“=”,则第二个参数可以不写 - 如何表示 and ?
where() -> where() -> where() …
- 如何表示or ?
where() -> orWhere() -> orWhere() …
加入条件判断
public function update() {
$db = DB::table('student');
$db -> where('id','>','104') -> update([
'age' => 15
]);
}
increment()
- increment(字段[, 递增值])
某个字段递增,默认值1
public function update() {
$db = DB::table('student');
$db -> where('id','=','104') -> increment('age',5);
}
decrement()
- decrement(字段[, 递减值])
某个字段递减,默认值1
public function update() {
$db = DB::table('student');
$db -> where('id','=','116') -> decrement('age');
}
查询数据
get()
- get()
查询所有
public function select() {
echo "<pre>";
$db = DB::table('student');
print_r($db -> get());
}
get() + where()
public function select() {
$db = DB::table('student');
// 查询id > 104 或 age = 0 的数据
$data = $db -> where('id','>','104') -> orWhere('age','=','0') -> get();
dd($data);
}
查询单行数据
- first()
获取第一条数据
public function select() {
$db = DB::table('student');
$data = $db -> first();
dd($data);
}
获取某个具体的值
- value(字段)
获取这个字段的值
public function select() {
$db = DB::table('student');
$data = $db -> where('id','=','116') -> value('age');
dd($data);
}
获取某些字段数据
- select(字段1, 字段2…)
查询这些字段
public function select() {
$db = DB::table('student');
$data = $db -> select('age','name') -> get();
dd($data);
}
排序操作
- orderBy(字段,排序规则)
对字段进行排序
public function select() {
$db = DB::table('student');
$data = $db -> orderBy('age','desc') -> get();
dd($data);
}
分页操作
- offset(a)
偏移量 - limit(a)
获取条目
public function select() {
$db = DB::table('student');
$data = $db -> offset(0) -> limit(2) -> get();
dd($data);
}
删除数据
delete()
- delete()
删除一条
public function del() {
DB::table('student') -> where('id','=','101') -> delete();
}
truncate
- truncate()
删除整表
public function del() {
DB::table('student') -> truncate();
}
执行任意的SQL语句
因为这些纯粹就是SQL语句,此处就不详细演示了。
执行任意insert、update、delete语句
- DB::statement(SQL语句)
执行任意select语句
- DB::select(SQL语句)