CI查询构造器类(插入数据、更新数据、删除数据)「建议收藏」

CI查询构造器类(插入数据、更新数据、删除数据)「建议收藏」1. 插入数据 1.1 $this->db->insert() 该方法根据你提供的数据生成一条 INSERT 语句并执行,它的参数是一个**数组** 或一个**对象**,下面是使用数组的例子: $d…

CI查询构造器类(插入数据、更新数据、删除数据)

$data = array(
    "title" => "My title",
    "name" => "My Name",
    "date" => "My date"
);

$this->db->insert("mytable", $data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ("My title", "My name", "My date")

代码100分

第一个参数为要插入的表名,第二个参数为要插入的数据,是个关联数组。

下面是使用对象的例子:

代码100分/*
class Myclass {
    public $title = "My Title";
    public $content = "My Content";
    public $date = "My Date";
}
*/

$object = new Myclass;
$this->db->insert("mytable", $object);
// Produces: INSERT INTO mytable (title, content, date) VALUES ("My Title", "My Content", "My Date")

第一个参数为要插入的表名,第二个参数为要插入的数据,是个对象。

 

1.2  $this->db->get_compiled_insert()

该方法和 $this->db->insert() 方法一样根据你提供的数据生成一条 INSERT 语句,但是并不执行。

 

例如:

$data = array(
    "title" => "My title",
    "name"  => "My Name",
    "date"  => "My date"
);

$sql = $this->db->set($data)->get_compiled_insert("mytable");
echo $sql;

// Produces string: INSERT INTO mytable (`title`, `name`, `date`) VALUES ("My title", "My name", "My date")

第二个参数用于设置是否重置查询(默认情况下会重置,正如 $this->db->insert() 方法一样):

代码100分echo $this->db->set("title", "My Title")->get_compiled_insert("mytable", FALSE);

// Produces string: INSERT INTO mytable (`title`) VALUES ("My Title")

echo $this->db->set("content", "My Content")->get_compiled_insert();

// Produces string: INSERT INTO mytable (`title`, `content`) VALUES ("My Title", "My Content")

上面的例子中,最值得注意的是,第二个查询并没有用到 $this->db->from() 方法, 也没有为查询指定表名参数,但是它生成的 SQL 语句中有 INTO mytable 子句。 这是因为查询并没有被重置(使用 $this->db->insert() 方法会被执行并被重置, 使用 $this->db->reset_query() 方法直接重置)。

 

1.3  $this->db->insert_batch()

 

该方法根据你提供的数据生成一条 INSERT 语句并执行,它的参数是一个**数组** 或一个**对象**,下面是使用数组的例子:

$data = array(
    array(
        "title" => "My title",
        "name" => "My Name",
        "date" => "My date"
    ),
    array(
        "title" => "Another title",
        "name" => "Another Name",
        "date" => "Another date"
    )
);

$this->db->insert_batch("mytable", $data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ("My title", "My name", "My date"),  ("Another title", "Another name", "Another date")

第一个参数为要插入的表名,第二个参数为要插入的数据,是个二维数组。

 

2. 更新数据

2.1  $this->db->replace()

该方法用于执行一条 REPLACE 语句,REPLACE 语句根据表的**主键**和**唯一索引** 来执行,类似于标准的 DELETE + INSERT 。 使用这个方法,你不用再手工去实现 select()update()delete() 以及 insert() 这些方法的不同组合,为你节约大量时间

例如:

$data = array(
    "title" => "My title",
    "name"  => "My Name",
    "date"  => "My date"
);

$this->db->replace("table", $data);

 

 

注解这个方法不支持批量插入。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10173.html

(0)
上一篇 2023-01-24
下一篇 2023-01-24

相关推荐

  • Python字符串操作:轻松处理文本数据

    Python字符串操作:轻松处理文本数据对于在Python中处理文本数据的工程师来说,熟练掌握字符串操作是至关重要的。字符串操作可以让我们轻松地处理各种文本数据,使我们能够编写出更高效、更可靠的代码。这篇文章将从几个方面详细阐述Python中的字符串操作。

    2024-03-08
    82
  • mysql大表更新_sql根据一个表更新另一个表

    mysql大表更新_sql根据一个表更新另一个表MySQL中给一张千万甚至更大量级的表添加字段一直是比较头疼的问题,遇到此情况通常该如果处理?本文通过常见的三种场景进行案例说明。 1、 环境准备 数据库版本: 5.7.25-28(Perc

    2023-03-14
    144
  • druid配置_druid配置登录

    druid配置_druid配置登录DruidDataSource配置兼容DBCP,但个别配置的语意有所区别。 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将

    2023-03-20
    151
  • oracle使用索引_oracle 索引查询

    oracle使用索引_oracle 索引查询第四章索引和事务 1. 什么是索引?有什么用? 1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的目录。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可

    2023-02-05
    160
  • 袋鼠云数据中台专栏_协同编程

    袋鼠云数据中台专栏_协同编程一、前言 作为全链路数字化技术与服务提供商,袋鼠云提供了从数据湖、大数据基础平台、离线开发、实时开发、数据服务、数据治理、指标管理、客户数据洞察、数据孪生可视化等全产品体系的服务。 围绕着“行业应用”

    2023-06-12
    136
  • 什么是爬虫软件

    什么是爬虫软件在互联网时代,数据是一种重要的资源。而如何快速、准确地获取海量数据成为了人们关注的焦点。这时,爬虫技术应运而生。爬虫软件是一种可以模拟人类高效浏览网页、采集数据的程序工具。在本文中,我们将为您详细介绍什么是爬虫软件,以及它们的功能和应用场景。

    2024-07-05
    46
  • SQL优化很难怎么办?给你一个简单暴力的办法

    SQL优化很难怎么办?给你一个简单暴力的办法今天给大家带来一个比较简单SQL优化案例,来分析一下开发人员经常感到不解一个问题——视图合并导致的SQL变慢 例如: 一个运维人员(这里的运维指的是,在现有的系统上,进行稍微修改) 因为业务上的改变…

    2022-12-21
    143
  • Python数据挖掘入门指南

    Python数据挖掘入门指南近年来,数据挖掘成为了各行业的热门方向,Python语言在数据挖掘领域的应用已经越来越广泛,成为专业人士和研究者们的首选语言之一。

    2024-04-16
    76

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注