"My title", "name" => "My Name", "date" => "My date");$this->db->insert("mytable", $data);// Pr"/>

文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2017-06-13 03:28

关注

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")

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

下面是使用对象的例子:



$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() 方法一样):

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.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);

 

 

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

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯