mysql 查看数据库大小的方法。 mysql> show databases; mysql> use information_schema; 查询所有数据库大小: #仅查询数据大小 select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES; #仅查询索引大小 select concat(round(sum(INDEX_LENGTH/1024/1024),2),'MB') as data from TABLES; select concat(round(sum(DATA_LENGTH/1024/1024)+sum(INDEX_LENGTH/1024/1024),2),'MB') as data from TABLE......
Redis是我们开发中常用的数据库,今天和大家分享的就是redis持久化的2种方式:RDB(Redis DataBase)和AOF(Apend Only File),希望对大家学习redis有帮助,一起来看看吧。 一.概念介绍 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Apend Only File)。 RDB方式 RDB方式是一种快照式的持久化方法,将某一时刻的数据持久化到磁盘中。 redis在进行数据持久化的过程中,会先将数据写入到一个临时文件中,......
使用phpExcel导出xls数据,将需要导出的数据格式成类似如下数组: Array ( [财务] => Array ( [0] => Array ( [0] => Array ( [width] => 6 [value] => ID [align] => center ) [1] => Array ......
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(set) 和 有序集合(zset)等类型。 1. string(字符串)类型 string 是 redis 最基本的类型,你......
示例,现在有一用户操作日志表,现在需要获取所有用户各自最早的一次日志和最晚的一次日志,如下: 获取所有用户最早的一次日志记录: SELECT log.*, MIN(log.create_time) AS create_time FROM ( SELECT `id`, `uid`, `type`, `create_time` FROM user_log ORDER BY create_time ASC ) log GROUP BY uid; 获取所有用户最晚的一次日志记录: SELECT log.*, MAX(log.create_time) AS create_time FROM ( SELE......
现在有一个用户日志表,每一个用户从注册开始就产生第一条日志,后续各种动作都会产生不同的日志,现在要获取所有用户的第一条日志和最后一条日志列表。 获取所有用户最早的一次日志记录: select log.*, MIN(log.create_time) create_time from (select `id`, `uid`, `type`, `create_time` from user_log order by create_time asc) as log group by uid; 获取所有用户最晚的一次日志记录: select log.*, MAX(log.create_......
php输出json数据方法。 /** * 输出json * @param string $msg 提示信息 * @param int $errcode 错误代码 * @param array $append_array 附加信息 */ function echoJson($msg, $errcode = 0, $append_array = []) { header('content-type:application/json;charset=utf-8'); $result = ['errcode' => $errcode, 'msg' => $msg]; $append_array && $result += $append_array; echo json_encode($result); ......
php输出json数据方法。 /** * 输出json * @param string $msg 提示信息 * @param int $errcode 错误代码 * @param array $append_array 附加信息 */ function echoJson($msg = '操作成功', $errcode = 0, $append_array = []) { header('content-type:application/json;charset=utf-8'); $result = ['errcode' => $errcode, 'msg' => $msg]; $append_array && $result += $append_array; echo json_encode(......
PHP是一种弱类型语言:PHP的变量没有数据类型的概念,可以存放任意的数据类型。数据本身都是有数据类型的,数据是人为分类的,分成不同的类型。在PHP中所讲的数据类型指的是变量所保存的数据本身。通常都是用变量的数据类型来代替变量所保存的数据的数据类型。 PHP将数据类型分为三大类八小类: 标量数据类型 整型(integer) 浮点型(float) 布尔型(boolean) 字符串型(string) 复合数据类型 数组(array) 对象(object)......
常见索引的基本概念 约束: 主键约束【主键索引】 唯一约束【唯一索引】 外键约束【外键索引】 索引: 聚集索引 联合索引 覆盖索引 部分索引【前缀索引】 索引的优缺点 优点: 提高数据检索效率 提高表之间的 JOIN 效率 利用唯一性索引,保证数据的唯一性 提高排序和分组效率 缺点: 消耗更多的物理存储 数据变更时,索引也需要更新,降低了插入、更新效率 索引的使用建议: 经常检索的列 经常用于表连接的列 经常排序/......
mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意,other_values是一个逗号,分隔的字符串,如:1,2,3 1 常规方案 那如果更新多条数据为不同的值,可能很多人会这样写: for......
最近用wordpress做了一个外包项目,记录一下自己写的一个通过页面别名获取页面数据的方法,代码如下: /** * 根据别名检索内容 * * @global wpdb $ wpdb WordPress数据库抽象对象。 * * @param string|array $page_slug 页面别名 * @param string $output 可选。 所需的返回类型。 OBJECT,ARRAY_A或ARRAY_N之一,对应于 * 分别是WP_Post对象,关联数组或数字数组。 默认OBJECT。 * @param string|array $post_type ......
本文我们就是要通过laravel的一对多的关联模型来快速实现数据的调用。 假如我们现在有两张表:user 和 posts,每个 user 可以拥有多个 posts,而每一篇 posts 只能属于一个 user,两者的关系是明显的一对多关系。 user 表和 posts 表表结构如下: CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` char(30) NOT NULL DEFAULT 'php.hhsy.cc' COMMENT '名称', `ctime` timestamp NULL ......
关于事务的知识可参考本站: 关于数据库(MySQL)事务 关于数据库事务的一些说明 laravel框架内使用事务 想要在laravel框架中使用数据库事务中运行一连串操作,可以使用 DB 类的 transaction 方法。 使用 transaction 方法时不需要手动回滚或提交,如果事务闭包中抛出异常,事务将会自动回滚;如果闭包执行成功,事务将会自动提交。 DB::transaction(function () { if (!DB::table('users')->update(['votes' => 1])......
关于数据库事务的一些说明。 一.什么是事务 事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。 二.什么时候使用事务 对数据库的数据进行批量或连表操作时,为了保证数据的一致性和正确性,我们需要添加事务管理机制进行管理。当对数据库的数据进行操作失败时,事务管理可以很好保证所有的数据回滚到原来的数据,如果操作成功,则保证所有需要更新的数据持久化。 三.事务的特征事......
原先一直以为要实现跨域请求只能用jsonp,只能支持GET请求,后来了解到使用POST请求也可以实现跨域,但是需要在服务器增加Access-Control-Allow-Origin和Access-Control-Allow-Headers头。下面说明下两个不同的方法实现的方式和原理。 JSONP实现跨域 常用的jquery实现跨域调用 $.ajax({ url: "http://php.hhsy.cc/php/crossdomain/index.php", dataType: "jsonp", jsonp: "callback", context: document......
php5.4 以后,json_encode增加了 JSON_UNESCAPED_UNICODE , JSON_PRETTY_PRINT 等几个常量参数。使显示中文与格式化更方便。 header('content-type:application/json;charset=utf8'); $arr = array( 'status' => true, 'errMsg' => '', 'member' =>array( array( 'name' => 'hh.hhsy.cc', 'status' => '1' ) ) ); echo json_encode($arr......
本篇文章记录一下php laravel框架下的常见的数据库CURD操作以及数据库连贯操作的用法。 一、Selects 检索表中的所有行 $user_list = DB::table('users')->get(); foreach ($user_list as $user){ var_dump($user->name); } 从表检索单个行 $user = DB::table('users')->where('name', 'John')->first(); //相当于:$user = DB::table('users')->where(['name', '=', 'John'])->first(); var_dump($user->name); 检索......
Laravel 对验证应用的输入数据提供了多中途径的实现。默认的,Laravel 的基础控制器类使用了 ValidatesRequests trait,该性状允许使用各种强大的验证约束来验证 HTTP 的输入请求。 为了了解 Laravel 强大的验证功能,下面我们以一个完整的示例来描述表单的验证,并将表单验证的错误信息显示给用户。 (1)定义路由 首先,让我们假定我们在 app/Http/routes.php 文件中拥有下述的路由: // 显示页面 Route::get('post/create'......
mysql创建数据库并指定字符集,创建数据库 并指定字符集。 命令: CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建用户 2.CREATE USER 'username'@'host' IDENTIFIED BY 'password'; host为可以登录的主机地址,如果任何主机都可以,设置为% 给用户授权 GRANT privileges ON databasename.tablename TO 'username'@'host'; privileges - 用户的操作权限,如SELECT , INSERT ,......
首先要记住json_encode返回的是字符串, 而json_decode返回的是对象。 判断数据不是JSON格式: function is_not_json($str) { return is_null(json_decode($str)); } 判断数据是合法的json数据: (PHP版本大于5.3) function is_json($string) { json_decode($string); return (json_last_error() == JSON_ERROR_NONE); } json_last_error() 函数返回数据编解码过程中发生的错误。 注意: json编解码所操作字符串......
Mysql查询数据表中某字段值重复的数据,主要是通过 group by 和 having 语法,具体如下。 group by : 根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。 having : 筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用 having 条件过滤出特定的组,也可以使用多个分组标准进行分组。 示例: 查询user表中,username字段值重复的数据及重复次数 select username,count(*) as count......
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。 本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对......
最近在修改一个HTML页面的JS的时候遍历JSON对象,却怎么也调试不通过。在获取 json.length的时候总是undefined,各种调试不对,于是网上搜了下,发现JSON对象根本没有length属性,一些比较权威的参考文档也没有提到json有length这个属性。但是奇怪的是我明明记得json有length,而且还用过,程序能够正确运行。 经过一番细细研究,发现在JSON中,有两种结构:对象和数组,对象是没有length这个属性,而数组结构是有的,下面分别......
一、数据库设计的一般流程 1.概述 包括课程设计选题、项目背景、课程设计报告编写目的、课程设计报告的组织等内容。 2.课程设计任务的需求分析 2.1设计任务 2.2设计要求 2.3需求描述的规范文档 3.概念结构设计 3.1概念结构设计工具(E-R模型) 3.2XXX子系统(局部) 3.2.1子系统描述 3.2.2分E-R图 3.2.3说明 3.3YYY子系统 3.3.1子系统描述 3.3.2 分E-R图 3.3.3 说明 …… 3......
在对数据库的性能监控上经常会提到QPS和TPS这两个名词,下面就分别简单的分享一下关于MySQL数据库中的QPS和TPS的意义和计算方法。 1 TPS: 每秒事务量,通过以下方式来得到客户端应用程序所请求的 TPS 值,计算方法如下: Questions = SHOW GLOBAL STATUS LIKE 'Questions'; Uptime = SHOW GLOBAL STATUS LIKE 'Uptime'; QPS=Questions/Uptime 2 QPS: 每秒Query 量,这里的QPS 是指MySQL Server 每秒执行的Query总量,计......
MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。 MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYIndex)。 InnoDB是事务型引擎,支持回滚、崩溃恢复能力、多版本并发控制、ACID事务,支持行级锁定(InnoD......
最近因工作的需要,需要统计各种报表数据,SQL语句写的都是超长超复杂的,现在仅总结一些比较基础的SQL关于时间方面的统计知识。 现在假设有这样一张订单数据表: CREATE TABLE `order` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `order_sn` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '订单编号,保证唯一', `create_at` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `succ......
不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入或修改。 插入或修改的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方法的选择。 插入分析 MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例: 连接:(3) 发送查询给服务器:(2) 分析查询:(2) 插入记录:(1x记录大小) 插入......