游标

Redis数据库的安装与基础操作

拜拜、爱过 提交于 2019-12-10 20:23:11
Redis数据库 Redis简介 Redis (Remote Dictionary Server)是用C语言编写的开源数据库,可以将数据放入内存,也可以持久化存储到磁盘 Redis不同于传统关系型数据库,以key-value的形式存储数据,value可以为string字符串、list列表、set集合、sorted sets有序集合、hash哈希等多种类型 Redis早期由意大利人Salvatore Sanfilippo开发(网名antirez),2010年作者受雇于VMWARE,2013年由子公司Pivotal Software支持,从2015年起,由Redis实验室支持其开发工作 Redis将数据放置与内存,性能优越,官方给的测试结果:读取数据速度是110000次/s,写入速度为81000次/s Redis开源免费,提供多种编程语言接口,包括主流的:java,python,php,c#等几十种编程语言,遵从BSD协定 适用于: 缓冲高并发读写的实时数据 网站最新信息列表,用户点击计数器,各类信息的实时排名 不适用于: 对事务要求高的业务 需要使用SQL的业务场景 Redis的安装 下载安装包 官网源码包下载 pkgs download rpm包下载 上传安装包至服务器 安装依赖及redis软件 相关文件位置 配置文件位置:/etc/redis.conf 数据文件位置:/var

Python数据库 API

浪尽此生 提交于 2019-12-10 01:21:51
1、SQL(结构化查询语言),是基于关系代数运算的一种数据查询语言,用于存取数据,查询、更新和管理关系型数据库系统。    SQL(Structure Query Language) 语言的内部再分类如下:      DDL: Data Difinition Language 数据定义语言,一般用来库和表头的创建和删除;      DML: Data Manipulation Language 数据操作语言,一般用来做表中数据的增加和删除;      DQL: Data Query Language 数据查询语言,用来在数据库中查询的语言;     DCL:Data Control Language 数据控制语言,一般是DBA才会用到的数据库用户管理及日常维护语言。 2、SQL数据库和NoSQL数据库   SQL数据库, 如:MySQL、Oracle、SQL Server、Sybase和DB2等。   非关系型数据库(NoSQL ) ,如:Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Riak,Tin, Flare, Lightcloud, KiokuDB,Scalaris, Kai, ThruDBd等 。 3、Python数据库API    DB-API

word 的使用技巧

馋奶兔 提交于 2019-12-09 16:20:00
1.word中游标使用可以进行不同方式的对齐(三种游标的使用) 2.在word中任意位置双击鼠标左键可以在该位置输入信息 3.如果编辑一页中的内容不想让下一页的内容滚动上来,可以使用分页符 4.经常使用的共功能不在功能区可以使用自定义快捷键 5.部分文字上下对齐可以在中间插入全角空格或通过调整字符宽度 6.通过游标对齐时,如果出现无论如何也不对齐的情况可以按住alt键进行对齐。 来源: 51CTO 作者: daheshuiman 链接: https://blog.51cto.com/163572/2454705

MySQL 处理海量数据时的一些优化查询速度方法

坚强是说给别人听的谎言 提交于 2019-12-08 18:18:08
在参与实际项目中,当 MySQL 表的数据量达到百万级时,普通的 SQL 查询效率呈直线下降,而且如果 where 中的查询条件较多时,其查询速度无法容忍。想想可知,假如我们查询淘宝的一个订单详情,如果查询时间高达几十秒,这么高的查询延时,任何用户都会抓狂。因此如何提高 SQL 语句查询效率,显得十分重要。 查询速度慢的原因 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O 吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 30 种 SQL 查询语句的优化方法: 1、应尽量避免在 where 子句中使用 != 或者 <> 操作符,否则将引擎放弃使用索引而进行全表扫描。 2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 1 select id from t where num is null ; 可以在 num 上设置默认值 0 ,确保表中 num 列没有 null 值,然后这样查询: 1

python操作数据库

蹲街弑〆低调 提交于 2019-12-07 22:42:26
Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比如说 transaction 、 trigger 和复杂的查询等。 python的数据库模块有统一的接口标准,所以数据库操作都有统一的模式,基本上都是下面几步(假设数据库模块名为db): 用db.connect创建数据库连接,假设连接对象为conn 如果该数据库操作不需要返回结果,就直接用conn.execute查询,根据数据库事务隔离级别的不同,可能修改数据库需要conn.commit 如果需要返回查询结果则用conn.cursor创建游标对象cur, 通过cur.execute查询数据库,用cur.fetchall/cur.fetchone/cur.fetchmany返回查询结果。根据数据库事 务隔离级别的不同,可能修改数据库需要conn.commit 关闭cur, conn 数据库连接对象: 打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作: commit()–事务提交 rollback()–事务回滚 close()

MYSQL 游标学习及使用实例

爱⌒轻易说出口 提交于 2019-12-07 11:59:26
who?(游标是什么?) 游标(cursor)官方定义:是系统为用户开通的一个数据缓冲区,存放sql执行结果。每个游标区都有一个名字,用户可以通过sql语句逐一从游标中获取记录,并赋值给变量,交由主语言进一步处理; 个人理解:感觉游标和指针相似,指定结果集后一行行执行; why?(为什么要学习游标) 游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作; 它还提供对基于游标位置而对表中数据进行删除或更新的能力; 而且,正是游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。 what?(游标的生命周期) --1.声明游标 --2.打开游标 --3.声明游标提取数据所要存放的变量 --4.定位游标到哪一行 使用实例 1、搭配while循环语句使用 # 代码使用目的:update t_shop表中的数据BEGIN -- 声明游标存储的变量 DECLARE v_shop_name varchar(255); DECLARE v_shop_area varchar(32); DECLARE done int DEFAULT 0; DECLARE chang_cursor CURSOR for select shop_name,shop_area from t_shop ; --

使用 HTML5 IndexedDB API

拟墨画扇 提交于 2019-12-06 22:48:04
HTML5 的一个重要特性是本地数据持久性,它使用户能够在线和离线访问 Web 应用程序。此外,本地数据持久性使移动应用程序更灵敏,使用的带宽更少,而且能够在低带宽场景中更高效地工作。HTML5 提供了一些本地数据持久性选项。第一个选项是 localstorage,它支持您使用一个简单的键值对来存储数据。IndexedDB(一个更加强大的选项)支持您本地存储大量对象,并使用健壮的数据访问机制检索数据。 IndexedDB API 取代了 Web Storage API,后者在 HTML5 规范中已不推荐使用。(但一些领先的浏览器仍然支持 Web Storage,其中包括苹果公司的 Safari 和 Opera Web 浏览器)与 Web Storage 相比,IndexedDB 具有多个优势,其中包括索引、事务处理和健壮的查询功能。本文将通过一系列的示例来展示如何管理 IndexedDB 数据库。(参见 下载 一节,获取示例的完整源代码。) 重要概念 一个网站可能有一个或多个 IndexedDB 数据库,每个数据库必须具有惟一的名称。 一个数据库可包含一个或多个对象存储。一个对象存储(由一个名称惟一标识)是一个记录集合。每个记录有一个键 和一个值。该值是一个对象,可拥有一个或多个属性。键可能基于某个键生成器,从一个键路径衍生出来,或者是显式设置。一个键生成器自动生成惟一的连续正整数

存储过程从定义开始

倖福魔咒の 提交于 2019-12-06 16:47:14
1. 使用存储过程的优点有: (1)存储过程在服务器端运行,执行速度快。 (2)存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。 (3)确保数据库的安全。使用存储过程可以完成所有数据库操作,并可通过编程方式控制上述操作对数据库信息访问的权限。 2.创建存储过程可以使用create procedure语句。 要在MySQL 5.1中创建存储过程,必须具有CREATE routine权限。要想查看数据库中有哪些存储过程,可以使用SHOW PROCEDURE STATUS命令。要查看某个存储过程的具体信息,可使用SHOWCREATE PROCEDURE sp_name命令,其中sp_name是存储过程的名称。 CREATE PROCEDURE的语法格式: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body 其中,proc_parameter的参数如下: [ IN | OUT | INOUT ] param_name type characteristic特征如下: language SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL

游标

纵然是瞬间 提交于 2019-12-06 09:52:16
游标 概念 游标可以对一个 select 的结果集进行处理,或是不需要全部处理,就会返回一个对记录集进行处理之后的结果。 游标实际上是一种能从多条数据记录的结果集中每次提取一条记录的机制。游标可以完成: # 允许定位到结果集中的特定行 # 从结果集的当前位置检索一行或多行数据 # 支持对结果集中当前位置的进行修改 由于游标是将记录集进行一条条的操作,所以这样给服务器增加负担,一般在操作复杂的结果集的情况下,才使用游标。 SQL Server 2005 有三种游标: T-SQL 游标、 API 游标、客户端游标。 游标的基本操作 游标的基本操作有定义游标、打开游标、循环读取游标、关闭游标、删除游标。 定义游标 d eclare cursor_name -- 游标名称 cursor [local | global] -- 全局、局部 [forward only | scroll] -- 游标滚动方式 [read_only | scroll_locks | optimistic] -- 读取方式 for select_statements -- 查询语句 [for update | of column_name ...] -- 修改字段 参数: forward only | scroll : 前一个参数,游标只能向后移动;后一个参数,游标可以随意移动 read_only : 只读游标

MySQL存储过程事务

余生长醉 提交于 2019-12-06 09:23:12
day61 保存在MySQL上的一个别名 > 一坨SQL语句 -- delimiter // -- create procedure p1() -- BEGIN -- select * from student; -- INSERT into teacher(tname) values("ct"); -- END// -- delimiter; call p1(); #把sql语句封装进p1中 注释内容(创建存储过程)执行完,可以通过call调用(执行存储过程)。 在函数中: 也可通过pymysql调用存储过程 1 import pymysql 2 3 #打开 4 conn = pymysql.connect(host= "localhost", user = 'root', password='112358', database = 'db3') 5 #拿 6 cursor = conn.cursor() 7 cursor.callproc('p1')#p1存储过程 8 result = cursor.fetchall() #拿 9 10 print(result) 11 #关闭数据库 12 cursor.close() 13 conn.close() cursor.callproc('p1') 执行结果: ((1, '男', 1, '理解'), (2, '女', 1, '钢蛋'