游标

MYSQL数据库基础用法

旧巷老猫 提交于 2019-11-27 06:05:22
数据库概述 数据存储阶段 人工管理阶段 缺点:数据无法共享,不能单独保持,数据存储量有限 文件管理阶段 优点:数据可以长期保存,可以存储大量的数据,使用简单 缺点:数据一致性差,数据查找修改不方便,数据冗余度可能比较大 数据库管理阶段 优点:数据阻止结构化降低了冗余度,提高了增删改查的效率,容易扩展,方便程序调用,做自动化处理 缺点:需要使用sql 或者 其他特定的语句,相对比较复杂 数据库应用 融机构,游戏网站,购物网站,论坛网站...... 基础感念   数据:能够输入到计算机中并被识别处理的信息集合   数据结构:研究一个数据集合中数据之间关系的   数据库:按照数据结构,存储管理数据的仓库.数据库是在数据库管理系统管理和控制下,在一定介质上的数据集合   数据库管理系统:管理数据库的软件,用于建立和维护数据库   数据库系统:由数据库和数据库管理系统,开发工具等组成的集合 数据库分类和常见数据库 关系型数据库和非关系型数据库   关系型:采用关系模型(二维表)来组织数据结构的数据库   非关系型:不采用关系模型组织数据结构的数据库 开源数据库和非开源数据库   开源:MySQL,SQLite,MongoDB   非开源:Oracle,DB2,SQL_Server 常见的关系型数据库   MySQL,Oracle,SQL_Server,DB2,SQLite

[翻译]PyMongo官方文档

北城以北 提交于 2019-11-27 05:55:53
PyMongo官方文档翻译 周煦辰 2016-06-30 这是本人翻译的PyMongo官方文档。现在网上分(抄)享(袭)的PyMongo博客文章很多,一方面这些文章本就是抄袭的,谈不上什么格式美观,另一方面其实这些博客已经落后很久了,根本是不能作为参考的。遂自己翻译了一下。渣翻译请见谅,能看懂就行。 本翻译文档包含以下内容: 使用PyMongo插入数据 使用PyMongo查询数据 使用PyMongo更新数据 使用PyMongo删除数据 使用PyMongo进行数据聚合 使用PyMongo创建索引 原文地址见链接: 原文地址 PyMongo是一个用于MongoDB的Python工具,也是一个被推荐的Python操作MongoDB数据库的方式。 使用步骤 安装PyMongo Linux或者OS X系统 你可以只用pip工具安装: pip install pymongo Windows系统下 使用Windows安装工具,详见 https://pypi.python.org/pypi/pymongo/ 。 引入pymongo 在一个Python交互shell中完成此过程,或者也可以在其他Python环境中完成,例如Python脚本、Python模块、Python项目。 从pymongo中引入MongoClicent。 from pymongo import MongoClient

DB2 SQL RR/RS/CS/UR四个级别(转)

走远了吗. 提交于 2019-11-27 04:46:38
1.RR隔离级别:在此隔离级别下, DB2会锁住所有相关的纪录。在一个SQL语句执行期间,所有执行此语句扫描过的纪录都会被加上相应的锁。具体的锁的类型还是由操作的类型来决定,如果是读取,则加共享锁;如果是更新,则加独占锁。由於会锁定所有為获得SQL语句的结果而扫描的纪录,所以锁的数量可能会很庞大,这个时候,索引的增加可能会对SQL语句的执行有很大的影响,因為索引会影响SQL语句扫描的纪录数量。 2.RS隔离级别:此隔离级别的要求比RR隔离级别稍弱,此隔离级别下会锁定所有符合条件的纪录。不论是读取,还是更新,如果SQL语句中包含查询条件,则会对所有符合条件的纪录加相应的锁。 如果没有条件语句, 也就是对表中的所有记录进行处理,则会对所有的纪录加锁。 3.CS隔离级别:此隔离级别仅锁住当前处理的纪录。 4.UR隔离级别:此隔离级别下,如果是读取操作,不会出现任何的行级锁。 对于非只读的操作,它的锁处理和CS相同。 DB2默认的隔离级别是CS。 DB2默认的隔离级别是CS。 即游标稳定性。即游标稳定性。 详细说明: 当多个用户访问同一数据库时会发生的现象介绍如下: 在单用户环境中,每个事务都是顺序执行的,而不会遇到与其他事务的冲突。但是,在多用户环境下,多个事务可以(而且常常)同时执行。因此每个事务都有可能与其他正在运行的事务发生冲突。有可能与其他事务发生冲突的事务称为交错的 或并行的

小菜鸟之数据库

十年热恋 提交于 2019-11-27 03:44:44
数据库复习提纲之文字版(这个只是自己整理文案,答案是查的,勿喷,谢谢,希望给别人一些帮助) 1 、 Oracle和 SQL server2005的区别 Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是 甲骨文公司 的一款 关系数据库管理系统 。 它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。 sql server数据库:美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的 数据库管理系统 ,实现了与WindowsNT的有机结合,提供了基于 事务 的企业级信息管理系统方案 两者的区别: (1)操作的平台不同 Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。而SQL Server却只能在Windows上运行了。   但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性

【Python pymysql】

早过忘川 提交于 2019-11-27 02:53:21
原文: http://106.13.73.98/__/31/ 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetchmany() > 补充: > > > 建立链接时间过长后会自动断开链接,可像下面这样解决: > ```python > conn.ping(reconnect=True) > ``` > 检查链接是否还存在,参数`reconnect=True` 表示如果链接已不存在,则重新建立链接 > > 补充: > # 回滚,通常用于事务conn.rollback() pymysql模块用于在Python程序中操作数据库. 该模块本质是一个套接字客户端软件. Windows安装命令:pip3 install pymysql 基本使用: # 准备数据库、数据和远程用户: mysql> select * from blog.userinfo;+----+------+-----+| id | name | pwd |+----+------+-----+| 1 | zyk | ___ |+----+------+-----+1 row in set (0.00 sec) mysql> show grants for 'zyk'@'%';+---------

【Python pymysql】

北慕城南 提交于 2019-11-27 02:52:43
原文: http://106.13.73.98/__/31/ 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetchmany() > 补充: > > > 建立链接时间过长后会自动断开链接,可像下面这样解决: > ```python > conn.ping(reconnect=True) > ``` > 检查链接是否还存在,参数`reconnect=True` 表示如果链接已不存在,则重新建立链接 > > 补充: > # 回滚,通常用于事务conn.rollback() pymysql模块用于在Python程序中操作数据库. 该模块本质是一个套接字客户端软件. Windows安装命令:pip3 install pymysql 基本使用: # 准备数据库、数据和远程用户: mysql> select * from blog.userinfo;+----+------+-----+| id | name | pwd |+----+------+-----+| 1 | zyk | ___ |+----+------+-----+1 row in set (0.00 sec) mysql> show grants for 'zyk'@'%';+---------

大型数据库设计原则

萝らか妹 提交于 2019-11-27 01:39:44
  一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。笔者依据多年来设计和使用数据库的经验,提出以下一些设计准则,供同仁们参考。    命名的规范   不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库。    游标(Cursor)的慎用   游标提供了对特定集合中逐行扫描的手段,一般使用游标逐行遍历数据,根据取出的数据不同条件进行不同的操作。尤其对多表和大表定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等特甚至死机,笔者在某市《住房公积金管理系统》进行日终帐户滚积数计息处理时,对一个10万个帐户的游标处理导致程序进入了一个无限期的等特(后经测算需48个小时才能完成)(硬件环境:Alpha/4000 128Mram ,Sco Unix

pymysql 模块的使用

自闭症网瘾萝莉.ら 提交于 2019-11-27 01:05:29
pymysql 模块的使用 一、pymysql的下载和使用 (1)pymysql模块的下载 pip3 install pymysql (2)pymysql的使用 # 实现:使用Python实现用户登录,如果用户存在则登录成功(假设该用户已在数据库中) import pymysql user = input('请输入用户名:') pwd = input('请输入密码:') # 1.连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='', db='db8', charset='utf8') # 2.创建游标 cursor = conn.cursor() #注意%s需要加引号 sql = "select * from userinfo where username='%s' and pwd='%s'" %(user, pwd) print(sql) # 3.执行sql语句 cursor.execute(sql) result=cursor.execute(sql) #执行sql语句,返回sql查询成功的记录数目 print(result) # 关闭连接,游标和连接都要关闭 cursor.close() conn.close() if result: print('登陆成功') else

python连接mysql

孤者浪人 提交于 2019-11-27 01:03:11
import pymysql#使用pymysql模块 conn=pymysql.connect(host='127.0.0.1',post=3306,user='root',passwd='zero',db='mysql')#连接数据库 cousor=conn.cursor()#建立游标 sql="CREATE TABLE TEST(name INT,id VARCHAR(20))"#建立数据表 创建表只能一次,创建完关闭 cousor.execute(sql)#将数据表写入游标位置下 ret=cousor.execute("INSERT INTO TEST(id,name)VALVES(1,"cui"),(2,"ling")")#插入数据 插入完记得注释,执行一次插入一个数据 print(ret)#打印数据 res=cousor.execute("SELECT * FROM TEST")#查询TEST表下的行数 查询内容:1.one=cousor.fatchone() 2.many=cousor.fatchmany() 3.all=cousor.fatchall() print(res)#打印查询结果 print(one)#查询一个数据 print(many)#查询多个数据 print(all)#查询全部数据 调游标位置:1.cousor.scroll(1,model=

【Python pymysql】 -- 2019-08-11 19:26:12

帅比萌擦擦* 提交于 2019-11-27 00:15:24
原文: http://106.13.73.98/__/31/ 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetchmany() > 补充: > > > 建立链接时间过长后会自动断开链接,可像下面这样解决: > ```python > conn.ping(reconnect=True) > ``` > 检查链接是否还存在,参数`reconnect=True` 表示如果链接已不存在,则重新建立链接 > > 补充: > # 回滚,通常用于事务conn.rollback() pymysql模块用于在Python程序中操作数据库. 该模块本质是一个套接字客户端软件. Windows安装命令:pip3 install pymysql 基本使用: # 准备数据库、数据和远程用户: mysql> select * from blog.userinfo;+----+------+-----+| id | name | pwd |+----+------+-----+| 1 | zyk | ___ |+----+------+-----+1 row in set (0.00 sec) mysql> show grants for 'zyk'@'%';+---------