关于 PDO 的最后一篇文章,我们就以查询结果集的操作为结束.在数据库的操作中,查询往往占的比例非常高.在日常的开发中,大部分的业务都是读多写少型的业务,所以掌握好查询相关的操作是我们学习的重要内容.和 mysqli 一样,PDO 对于查询的支持也是非常方便快捷的,通过几个函数就可以非常方便高效地操作各种查询语句. 在使用预处理语句的情况下,我们使用 execute() 执行之后,查询的结果集就会保存在 PDOStatement 对象中.对于数据的操作就转移到了 PHP 的对象中,所以我们需要…
要说 PDO 中最强大的功能,除了为不同的数据库提供了统一的接口之外,更重要的就是它的预处理能力,也就是 PDOStatement 所提供的功能.因为它的存在,才让我们可以安心地去使用而不用操心 SQL 语句的拼接不好所带来的安全风险问题.当然,预处理也为我们提升了语句的执行效率,可以说是 PDO 的另一大杀器. PDOStatement 类 PDOStatement 类其实就是代表一条预处理语句,并在该语句被执行后代表一个相关的结果集.它提供一些方法,让我们能够对这条预处理语句进行操作. $d…
今天这篇文章,我们来简单的学习一下 PDO 中的预处理语句以及事务的使用,它们都是在 PDO 对象下的操作,而且并不复杂,简单的应用都能很容易地实现.只不过大部分情况下,大家都在使用框架,手写的机会非常少. 预处理语句功能 预处理语句就是准备好一个要执行的语句,然后返回一个 PDOStatement 对象.一般我们会使用 PDOStatement 对象的 execute() 方法来执行这条语句.为什么叫预处理呢?因为它可以让我们多次调用这条语句,并且可以通过占位符来替换语句中的字段条件.相比直接…
关于事务的问题,我们就不多解释了,以后在学习 MySQL 的相关内容时再深入的了解.今天我们主要是对 PDO 中操作事务的一些小测试,或许能发现一些比较好玩的内容. 在 MyISAM 上使用事务会怎么样? 首先,相信只要是学过一点点的 MySQL 相关知识的人都知道,在 MySQL 中常用的两种表类型就是 InnoDB 和 MyISAM 这两种类型.当然,我们今天也不讲它们全部的区别,但有一个区别是最明显的,那就是 MyISAM 不支持事务.那么,如果我们在 PDO 操作中对 MyISAM 进行…
--Oracle中的复合查询 复合查询:包含集合运算(操作)的查询 常见的集合操作有: union: 两个查询的并集(无重复行.按第一个查询的第一列升序排序) union all:两个查询的并集(有重复行) intersect:两个查询的交集(无重复行.按第一个查询的第一列升序排序) minus: 两个查询的差集(无重复行.按第一个查询的第一列升序排序),取第一张表有而第二张表没有的所有记录 由于union.intersect.minus存在排序,故而对sql性能的影响很大,建议少用. --测试…
一.查询select 还记得第一篇示例中是如何读出数据库里3条数据的吗?就是调用了一个QueryForList方法,从方法名就知道,查询返回列表. 1.QueryForList  返回List<T>强类型数据集合 来看看方法重载: 从重载可以看出,其实只是3个参数不同的方法,分为泛型与非泛型两个版本而已. 主要说说,参数skipResults,表示从结果行中跳过skipResults行后返回,maxResults表示返回的行数.这个在分页中会用到. 下面来看一个最简单的示例: xml映射文件(…
Mysql高级操作 索引概述: 索引是高效获取数据的数据结构 索引结构: B+Tree() Hash(不支持范围查询,精准匹配效率极高) 树的区别: 二叉树:可能产生不平衡,顺序数据可能会出现链表结构 平衡二叉树:插入需要自旋,性能根据层级而定,性能不稳定 b+tree: 主键聚簇叶子节点存放数据,非叶子节点存放索引, 二级索引非叶子节点存放索引,叶子节点存放主键 索引优缺点: 优点: 大大加快查询速度 使用分组和排序时候可以显著减少分组和排序时间 唯一索引可以保证字段唯一 可以加速表与表之间的…
MyBatis 中实现SQL语句中in的操作 概括:应用myBatis实现SQL查询中IN的操作 1.数据库结构及其数据 2.mapper.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-…
PDO 已经是 PHP 中操作数据库事实上的标准.包括现在的框架和各种类库,都是以 PDO 作为数据库的连接方式.基本上只有我们自己在写简单的测试代码或者小的功能时会使用 mysqli 来操作数据库.注意,普通的 mysql 扩展已经过时了哦! PDO 实例 首先来看看一个 PDO 实例是如何初始化的. $dns = 'mysql:host=localhost;dbname=blog_test;port=3306;charset=utf8'; $pdo = new PDO($dns, 'root…
就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi 所生成的预处理语句的.其实操作方式之类也都比较相似,不外乎以绑定参数为主的一些针对 SQL 语句和获取结果集的操作. 参数绑定及操作属性 之前的文章中想必大家已经见过我们使用的 bind_param() 方法,它与 PDO 中的 bindParam() 方法有很大的不同. $stmt = $mysqli->prepare("insert into…
在之前的文章中,我们就已经接触过 MYSQLI_result 相关的内容.它的作用其实就是一个查询的结果集.不过在 PDO 中,一般直接通过 query() 或者 PDOStatement 对象进行查询之后就会返回结果.但在 MySQLi 中,会把查询到的结果也放入一个对象中,这就是 MySQLI_result 对象. MySQLI_result 对象属性 首先,我们要通过一段查询来获得一个 MySQLI_result 对象. $stmt = $mysqli->prepare("selec…
对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本.我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容.所以在这里,我们就不再多讲理论方面的东西了,直接上代码来看看 MySQLi 中这两大特性与 PDO 在使用上的区别. 事务处理 首先,我们还是要让 MySQLi 对于错误的语句也报出异常来.关于这个功能就和 PDO 很不一样了.在 PDO 中,我们直接指定连接的报错属性就可以了.而在 MySQLi 中,我们则需要指定 MySQLi_D…
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件-----------------------------------// $dsn="mysql:host=localhost;dbname=xsphp"; $username="root"; $passwd=""; try{ $options =…
环境 Oracle 11.2.0 + SQL Plus 问题 根据以下要求编写函数:将scott.emp表中工资低于平均工资的职工工资加上200,并返回修改了工资的总人数.PL/SQL中有更新的操作,执行此函数报如下错误:ORA-16551: 无法在查询中执行 DML 操作. 解决 在声明函数时加上: PRAGMA AUTONOMOUS_TRANSACTION; 并在执行完DML后COMMIT. 操作日志 --登录到Oracle C:\Users\Wentasy>sqlplus wgb SQL*…
前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的文章,大多都是以罗列记忆点的形式书写的,没有谈论实现细节和逻辑原理.作为个人笔记无可厚非,但是并不利于他人学习.希望能通过这种比较“费劲”的讲解,帮助我自己.也帮助读者们更好地学习Java.掌握Java. 无论你跟我一样需要应聘,还是说在校学生学习Java基础,都对入门和进一步启发学习有所帮助.(关…
http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解.本文将对Mapper.xml映射文件作更加细致的梳理,首先从Mapper.xml文件中的输入和输出映射开始.本文案例代码的编写是建立在前文MyBatis框架的学习(三)——Dao层开发方法案例基础之上的! 输入映射和输出映射 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个…
3.2.2 查询操作 6.15章节包含所有模型相关的API解释. 后面的内容基于如下的一个博客应用模型: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __str__(self): # __unicode__ on Python 2 return self.name class Autho…
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover").attr("class","one"); }); 2.给span块使用addClass增加样式.one $("#b2").click(function(){ $("span").addClass("one"…
一.JQuery中的DOM操作. 什么是DOM:DOM是一中和浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DOM简称文档对象模型,是Document Oject Model的简写形式. 二.内部插入和外部插入 1.内部插入 (1)append:向调用该方法的元素的内部的结尾处追加内容 a.append(content),插入之后内容为:<a标签头>a原来的内容+content<a标签尾> (2)appendTo:将调用的元素自身追加到指定的元素中的内部…
在编写一个数据库函数时,方法实现需要查询后进行修改,出现ora-14551的错误 create or replace function fun_DxcBillSn(tabType integer,tabName varchar2,fieldStr varchar2)return integer is serialSn integer; maxVal integer; nowMonth ); begin --获取当前时间的月份-- select to_char(Sysdate,'MM') into…
数据库操作在web开发中扮演着一个很重要的角色,网站中很多重要的信息都需要保存到数据库中.如用户名.密码等等其他信息.Django框架是一个基于MVT思想的框架,也就是说他本身就已经封装了Model类,可以在文件中直接继承过来.但是在Flask中,并没有把Model类封装好,需要使用一个扩展包,Flask-SQLAlchemy.它是一个对数据库的抽象,让开发者不用这些编写SQL语句,而是使用其提供的接口去操作数据库,这其中涉及到一个非常重要的思想:ORM什么是ORM呢?下面我们就来详细讲解一下.…
编写了一个oracle函数,函数体内实现一系列数据库的逻辑处理,涉及到数据的增删等操作,返回NCLOB类型. 然后通过查询方式调用函数: SELECT PKG.MY_FUN('A') FROM DUAL; 执行该sql报错:ORA-14551: 无法在查询中执行 DML 操作 处理方式:将函数修改为自治事务.加上 PRAGMA AUTONOMOUS_TRANSACTION 语句 示例如下: FUNCTION CALCULATE_MONTH_BONUS_DETAIL (CUR_MONTH IN N…
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 xxx 八 xxx 一 会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了.从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束.在通话…
表达式树就像是树形的数据结构,表达式树中的每一个节点都是表达式, 表达式树可以表示一个数学公式如:x<y.x.<.y都是一个表达式,并构成树形的数据结构 表达式树使lambda表达式的结构变得透明清楚, Expression<Func<Student, && s.age < ; 编译器将上面的表达式翻译成下面的表达式树 Expression.Lambda<Func<Student, bool>>( Expression.AndAlso(…
PHP中使用jQuery+Ajax实现分页查询多功能如何操作 1.首先做主页Ajax_pag.php 代码如下 <!DOCTYPE html> <html> <head> <meta charset = "UTF-8"> <title>Ajax做分页</title> <script src="bootstrap/js/jQuery-1.11.2min.js"></script&…
线程安全使用(四)   这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationTokenSource,CancellationTokenSource是用于取消线程,具体使用起来有点另类:首先定义实体,然后将其下的属性ToKen传递给线程,当需要取消线程时,调用下Cancel()方法.例子我依然采用了MSDN的例子,但我做了一些修改,这个例子虽然看起来挺复杂,但还是记录了许多内容…
接着上章,继续介绍MongoDB的查询. Querying on Embedded Documents 有两种方式查询嵌入式的子Documents:查询整个Document或者查询个别的键值对. 查询整个子Document和正常的查询是一样的. 我们有一个document: { "name":{ "first":"Joe", "last":"Schmoe" }, "age":45 } 我…
一.本将主要介绍 Union.Concat.Intersect.Except的使用操作 1.Union 查询昵称中带有Friend和带有Lee的用户 Linq (from a in Blog_Users where a.NickName.Contains("Lee") select a) .Union (from a in Blog_Users where a.NickName.Contains("Friend") select a) sql -- Region P…
对于编程语言来说,文件和目录的操作是其最最基础的功能.就像我们日常中最常见的图片上传.文件上传之类的功能,都需要文件和目录操作的支持.今天我们先来简单地学习一下 PHP 中关于目录操作的一些类和函数. 目录与路径分隔符 首先来看看两个常量,它们分别是目录与路径的分隔符号. echo DIRECTORY_SEPARATOR, PHP_EOL; // / echo PATH_SEPARATOR, PHP_EOL; // : DIRECTORY_SEPARATOR 常量在 Linux 系统中输出的就是…
iOS 上不建议在非主线程进行UI操作,在非主线程进行UI操作有很大几率会导致程序崩溃,或者出现预期之外的效果. 我开始不知道这一点,在子线程中进行了弹窗操作,结果程序就出问题了! 报的错误是(EXC_BAD_ACCESS(code=2,address=0xcc),0x1a0ad32: movl 204(%ecx), %edx ),我以为是空指针导致的内存泄露,用了很多方法,但这问题感觉很顽固,困扰了我很多天. 后来有位大牛指点了我,问我是不是在子线程进行这个弹窗操作...直到此时我才明白问题出…