php larval 数据库when,Laravel DB类操作数据库
Laravel DB类操作数据库
laravel支持的数据库类型
MySQL
Pgsql
SQLite
SQL Server
laravel操作数据库所使用的扩展 pdo,一定要开启pdo扩展
配置连接数据库信息
在laravel中修改连接数据库的文件有两处
修改 .env文件
修改config/database.php文件。
laravel5.4之后对我们的数据库的编码就进行了默认改变,默认使用 utf8mb4
创建数据库
修改.env文件来连接数据库
通过配置后,发现,如果我们的数据表有前缀的话,在.env文件中不能去设置
到此我们的数据库的配置就完成了
注:表前缀,如果有则添加,没有可以不修改。
检查是否配置好
DB类执行原生SQL语句
// 添加操作
$ret = DB::insert('insert into test_member (name,age,email) values (:name,:age,:email)', [':name'='张三',':age'=20,':email'='admin@admin.com']);
// 修改操作
$ret = DB::update('update test_member set age=:age where id=:id', [':age' = 12, ':id' = 1]);
// 查询 select
# 查询单条
$ret = DB::selectOne("select * from web64_user where id=:id",[':id'=$id]);
# 查询多条
$ret = DB::select("select * from web64_user");
// 删除操作
$ret = DB::delete("delete from test_member where id=:id",[':id'=1]);
定义路由
创建控制器
php artisan make:controller MydbController
数据表
控制器
DB构建器操作数据库
查询(get/first)
table(表名),这里的表名,如查有前缀不用写。
# 查询多条 get all
# all不可以接where条件
// 查询所有无条件
$data = DB::table('user')-get(); // 默认 [‘*’]
// 查询所有,并指定字段 推荐使第一种方式
$data = DB::table('user')-get(['name','age']);
// 获取ID大于5的数据
$ret = DB::table('member')-where('id','=',5)-get();
// when 来进行条件的搜索
$kw = $request-get('kw','user');
// when字段 如果为真则执行匿名函数中的操作
$ret = DB::table('users')-when($kw,function (Builder $query) use ($kw){
$query-where('username','like',"%{$kw}%");
})-get();
# 查询单条记录
$ret = DB::table('member')-where('id', 5)-first();
# 获取某个具体的值
$ret = DB::table('member')-where('id',5)-value('name');
# 获取一列数据
$ret = DB::table('member')-pluck('name');
# 以ID为下标 name为值
$ret = DB::table('member')-pluck('name', 'id');
# 排序操作
$ret = DB::table('member')-orderBy('id','desc')-get();
# 查询总记录数
echo DB::table('member')-count();
# 分页获取数据
$ret = DB::table('member')-orderBy('id','desc')-offset(0)-limit(2)-get();
limit:表示限制输出的条数
offset:从什么地方开始,起始从0开始
$ret = DB::table('users')-whereIn('id',[2,3,5])-get()
$ret = DB::table('users')-whereBetween('id',[3,5])-get();
定义路由
控制器
添加数据操作(insert/ insertGetId)
对数据库中的某个表增加数据主要有两个方法可以实现,分别是insert()和insertGetId()
insert() 可以同时添加一条或多条,返回值是布尔类型。
insertGetId() 只能添加一条数据,返回自增的id。
// 添加数据
$ret = DB::table('member')-insert([
'name' = '张三丰',
'age' = 50,
'email' = 'ee@ee.com'
]);
// 添加数据并得到插入时的ID值
$id = DB::table('member')-insertGetId([
'name' = '小华',
'age' = 60,
'email' = 'ff@ff.com'
]);
// 添加多条记录
$ret = DB::table('member')-insert([
['name'='AAAA','age'=20,'email'='111@111.com'],
['name'='BBBB','age'=30,'email'='222@222.com'],
]);
修改数据(update)
$ret = DB::table('member')-where('id', 2)-update([
'name' = '修改一下',
'age' = 50
]);
删除数据(delete)
// 删除数据
$ret = DB::table('member')-where('id',2)-delete();
Laravel DB类操作数据库 相关文章
「Groovy」- 操作 HTML 文档 @20210209
问题描述 在 Jenkins Pipeline 中,我们需要对 HTML 文档进行多种操作。之前使用 XMLParser 及 XMLSlurper 库操作 HTML 文档时遇到很多问题,因为 HTML 文档结构松散(比如没有结束标签等等),不是标准的 XML 文件,因此导致 XML 解析失败。 该笔记将整理:
Laravel 视图
视图的用途是用来存放应用程序中 HTML 内容,并且能够将你的控制器层与展示层分开。 我们在控制器中使用助手函数【 view() 】来加载视图模板。 视图目录位置与命名 分配数据到模板 view(模板文件名称,关联数组)view(模板文件名称,compact('变量名1','变量名2
Laravel 表单验证
参考: https://learnku.com/docs/laravel/5.6/validation/1372 表单验证是为了防止访问者跳过客户端验证而造成的系统安全问题,一但非法用户绕过客户端验证而服务器端没有加以验证,这样就是很不安全了,所以项目必须要进行服务器端表单验证。 Laravel 提供
querydsl使用说明( jira插件里,查询数据的时候,可以使用jira内置的querydsl或者官方封装的工具包atlassian-pocketknife-querydsl来实现jira数据库表和插件表的联合查询)
概述 在jira插件开发过程中,数据库表的创建和数据的增删改查操作是使用ActiveObject模块完成的。但是,ao模块只能操作插件生成的表,无法和jira的内置表做关联查询操作。 然而作为jira的插件,很多时候,数据是需要和jira的数据进行关联查询的。 jira内置的
【Azure Redis 缓存】遇见Azure Redis不能创建成功的问题:至少一个资源部署操作失败,因为 Microsoft.Cache 资源提供程序未注册。
问题描述 在中国区微软云上创建Redis失败。收到的错误消息为: { "code": "DeploymentFailed", "message": "至少一个资源部署操作失败。请列出部署操作显示详细信息。有关用法详细信息,请参阅 https://aka.ms/DeployOperations。", "details": [ { "code":
力扣
原题 以下是我的代码,就是简单的字符串操作,ac但背离了题目,因为我之前没接触过trie 1 class Trie: 2 3 def __init__(self): 4 """ 5 Initialize your data structure here. 6 """ 7 self.trie = set() 8 9 def insert(self, word: str) - None:10 """11
使用python+flask 搭建web 项目(一) :操作本地mysql数据库
一、 先安装Mysql 到本地: 安装,配置,创建用户名,密码 设置端口号后 待创建链接时使用; 二、安装PyCharm(这个编辑器写python 比较方便); 配置环境变量; 三、进行项目创建 1. 打开pycharm,创建flask项目: File --New Project.. --- 网上的资料上大
判断字节字数
首先要明确的是在我们写入到数据库db中的字段的长度varchar(10),这个10是代表是十个字节 1字节(Byte)=8字位bai=8个二du进制zhi数1字位(bit)=1个二进制数1B=8b1KB=1024B1MB=1024KB1GB=1024MB 通常情况下,把baiB称为字节、b称为字位、KB称为千字节、MB称
CompletionService--实现take和poll的并行操作
CompletionService实际上可以看做是Executor和BlockingQueue的结合体。CompletionService在接收到要执行的任务时,通过类似BlockingQueue的put和take获得任务执行的结果。 CompletionService的一个实现是ExecutorCompletionService,ExecutorCompletionServi
Python3 并发编程之进程操作
运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现并发效果。 1.multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地
php larval 数据库when,Laravel DB类操作数据库相关推荐
- Laravel 数据库实例教程 —— 使用DB门面操作数据库
Laravel支持多种数据库,包括MySQL.Postgres.SQLite和SQL Server,在Laravel中连接数据库和查询数据库都非常简单,我们可以使用多种方式与数据库进行交互,包括原生S ...
- laravel db类
2.1.laravel支持的数据库类型 MySQL Pgsql SQLite SQL Server laravel操作数据库所使用的扩展 pdo,一定要开启pdo扩展 2.2.配置连接数据库信息 在l ...
- Android Studio中通过SQLiteDatabase类操作数据库
SQLite是一款轻型的数据库,主要用在嵌入式系统,它占用的资源非常低.SQLite不依赖第三方软件,也不需要安装.数据库中的信息都包含在一个文件中,这个文件可以自由地复制到其它目录或其它机器上. 在 ...
- 黄聪:使用Wordpress中的wpdb类操作数据库
WordPress包含一个操作数据库的类--wpdb,该类基于ezSQL(由Justin Vincent维护的数据库操作项目)编写,包含了其基本的功能. 使用说明 请不要直接调用wpdb类中的方法.W ...
- laravel使用migrate操作数据库迁移
数据库表单预创建 1.生成php文件 php artisan make:migration create_articles_table 2.执行php文件操作数据库 php artisan migra ...
- python多线程读取数据库数据_Python基于多线程操作数据库相关知识点详解
Python基于多线程操作数据库相关问题分析 本文实例分析了Python多线程操作数据库相关问题.分享给大家供大家参考,具体如下: python多线程并发操作数据库,会存在链接数据库超时.数据库连接丢 ...
- 数据库(DataBase,DB):关系型数据库 和 非关系型数据库
1.数据库(DataBase,DB) 数据库(DataBase,DB):指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合,还是以文件的方式存在服务器的电 ...
- 数据库1:数据库、DDL数据库定义语言、DML操作数据库语言、DQL条件查询语句
数据库 SQL(Structure Query Language)语言是数据库的核心语言. SQL语言共分为四大类:数据查询语言DQL,数据操做语言DML,数据定义语言DDL,数据控制语言DCL. 1 ...
- MySQL数据库应用第3章操作数据库
MySQL安装好以后,首先需要创建数据库,这是使用mysql各种功能的前提.本章将详细介绍数据的基本操作,主要内容包括数据库的创建和删除,不同类型的数据存储引擎和存储引擎的选择. 学习目标: 1.掌握 ...
- 数据库分类与四大类NoSQL数据库
0. 数据库分类 关系型数据库:Oracle.MySQL 非关系型数据库(NoSQL) Key-Value: 内存KV:Redis,Memcached 持久化KV:Redis,LevelDB Colu ...
最新文章
- TxQueryRunner类对结果集封装成bean、map及object的操作
- Linux 操作系统原理 — 进程与线程管理
- 线程 、进程、协程 三者区别
- Spring MVC - URL路径映射
- 取得select框的text
- 用自然语言指导强化学习agent打游戏,这是斯坦福的最新研究
- Smart Paster...great tool to paste large strings into Vs.net
- python快捷键设置_UltraEdit搭建Python IDE环境+设置快捷键
- 怎样建立一个bower私库
- 【数据库】pymysql数据库事务操作
- Python数据结构与算法(一)--算法和时间复杂度
- ExtJs 备忘录(1)—— Form表单(一) [ 控件使用 ]
- [深度学习-优化]dropout防止过拟合的理解
- java自动下载更新程序_android实现软件自动更新的步骤
- 外媒:英特尔未来10年可能投资950亿美元在欧洲新建8家芯片厂
- JavaScript console.log导致错误:“不赞成在主线程上使用同步XMLHttpRequest…”
- 【ElasticSearch】(七)浅析search_after 及 fromsize,scroll,search_after性能分析
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之32---BREW PUSH 服务...
- 【工具分享】分享一个移动端网络诊断工具(适用于安卓平台)
- 查找树莓派ip地址的几种方法