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类操作数据库相关推荐

  1. Laravel 数据库实例教程 —— 使用DB门面操作数据库

    Laravel支持多种数据库,包括MySQL.Postgres.SQLite和SQL Server,在Laravel中连接数据库和查询数据库都非常简单,我们可以使用多种方式与数据库进行交互,包括原生S ...

  2. laravel db类

    2.1.laravel支持的数据库类型 MySQL Pgsql SQLite SQL Server laravel操作数据库所使用的扩展 pdo,一定要开启pdo扩展 2.2.配置连接数据库信息 在l ...

  3. Android Studio中通过SQLiteDatabase类操作数据库

    SQLite是一款轻型的数据库,主要用在嵌入式系统,它占用的资源非常低.SQLite不依赖第三方软件,也不需要安装.数据库中的信息都包含在一个文件中,这个文件可以自由地复制到其它目录或其它机器上. 在 ...

  4. 黄聪:使用Wordpress中的wpdb类操作数据库

    WordPress包含一个操作数据库的类--wpdb,该类基于ezSQL(由Justin Vincent维护的数据库操作项目)编写,包含了其基本的功能. 使用说明 请不要直接调用wpdb类中的方法.W ...

  5. laravel使用migrate操作数据库迁移

    数据库表单预创建 1.生成php文件 php artisan make:migration create_articles_table 2.执行php文件操作数据库 php artisan migra ...

  6. python多线程读取数据库数据_Python基于多线程操作数据库相关知识点详解

    Python基于多线程操作数据库相关问题分析 本文实例分析了Python多线程操作数据库相关问题.分享给大家供大家参考,具体如下: python多线程并发操作数据库,会存在链接数据库超时.数据库连接丢 ...

  7. 数据库(DataBase,DB):关系型数据库 和 非关系型数据库

    1.数据库(DataBase,DB) 数据库(DataBase,DB):指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合,还是以文件的方式存在服务器的电 ...

  8. 数据库1:数据库、DDL数据库定义语言、DML操作数据库语言、DQL条件查询语句

    数据库 SQL(Structure Query Language)语言是数据库的核心语言. SQL语言共分为四大类:数据查询语言DQL,数据操做语言DML,数据定义语言DDL,数据控制语言DCL. 1 ...

  9. MySQL数据库应用第3章操作数据库

    MySQL安装好以后,首先需要创建数据库,这是使用mysql各种功能的前提.本章将详细介绍数据的基本操作,主要内容包括数据库的创建和删除,不同类型的数据存储引擎和存储引擎的选择. 学习目标: 1.掌握 ...

  10. 数据库分类与四大类NoSQL数据库

    0. 数据库分类 关系型数据库:Oracle.MySQL 非关系型数据库(NoSQL) Key-Value: 内存KV:Redis,Memcached 持久化KV:Redis,LevelDB Colu ...

最新文章

  1. TxQueryRunner类对结果集封装成bean、map及object的操作
  2. Linux 操作系统原理 — 进程与线程管理
  3. 线程 、进程、协程 三者区别
  4. Spring MVC - URL路径映射
  5. 取得select框的text
  6. 用自然语言指导强化学习agent打游戏,这是斯坦福的最新研究
  7. Smart Paster...great tool to paste large strings into Vs.net
  8. python快捷键设置_UltraEdit搭建Python IDE环境+设置快捷键
  9. 怎样建立一个bower私库
  10. 【数据库】pymysql数据库事务操作
  11. Python数据结构与算法(一)--算法和时间复杂度
  12. ExtJs 备忘录(1)—— Form表单(一) [ 控件使用 ]
  13. [深度学习-优化]dropout防止过拟合的理解
  14. java自动下载更新程序_android实现软件自动更新的步骤
  15. 外媒:英特尔未来10年可能投资950亿美元在欧洲新建8家芯片厂
  16. JavaScript console.log导致错误:“不赞成在主线程上使用同步XMLHttpRequest…”
  17. 【ElasticSearch】(七)浅析search_after 及 fromsize,scroll,search_after性能分析
  18. 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之32---BREW PUSH 服务...
  19. 【工具分享】分享一个移动端网络诊断工具(适用于安卓平台)
  20. 查找树莓派ip地址的几种方法

热门文章

  1. burpsuite https 社区版_BurpSuit添加CA证书拦截HTTPS通信
  2. 前端程序员兼职?不妨来试试这几个方法
  3. android 服务英文,Android recovery 模式 中英文对照
  4. MT7682参考手册,MT7682芯片资料介绍
  5. Java用ListArray以人名的姓氏排队
  6. 编译原理实验四 语义分析及中间代码生成
  7. 一生至少原谅的三个人
  8. 医院排队叫号系统源码
  9. 建立“顾客购买图书”的活动图(使用泳道)
  10. ts封装,H264和aac 封装成为ts,并生成m3u8