数据库对象

PyMysql

走远了吗. 提交于 2019-12-22 06:14:16
如何安装pymysql 1.为什么要安装? pymysql是用来连接python和mysql之间的通道,在使用python编程时,通过他来和mysql数据库进行交互 2.怎么安装? 1. 直接用pip安装,pip install pymysql 2. 去github上下载pymysql的安装包, https://github.com/PyMySQL/PyMySQL 将安装包解压到自己某个盘符 在linux下输入命令 tar -zxvf pymysql-master.zip 进入pymysql根目录下打开终端执行命令 python setup.py install pymysql 使用流程 1. 建立数据库连接(db = pymysql.connect(...)) 2. 创建游标对象(cur = db.cursor()) 3. 游标方法: cur.execute("insert ....") 4. 提交到数据库或者获取数据 : db.commit()/db.fetchall() 5. 关闭游标对象 :cur.close() 6. 断开数据库连接 :db.close() 常用函数 db = pymysql.connect(参数列表) host :主机地址,本地 localhost port :端口号,默认3306 user :用户名 password :密码 database :库

BUFFER CACHE和SHARED POOL原理

廉价感情. 提交于 2019-12-21 22:19:25
http://blog.csdn.net/wanghai__/article/details/4881492 Buffer Cache LRU与Dirty List 在Buffer Cache中, Oracle 通过几个链表进行内存管理。 LRU list用于维护内存中的Buffer,按照LRU 算法 进行管理。 数据库 初始化时,所有的Buffer都被Hash到LRU list上管理。当需要从数据文件上读取数据时,首先要在LRU List上寻找Free的Buffer,然后读取数据到Buffer Cache中;当数据被修改之后,状态变为Dirty,就可以被移动至Dirty List,Dirty List上的都是候选的可以被DBWR写出到数据文件的Buffer,一个Buffer要么在LRU List上,要么在Dirty List上存在,不能同时存在于多个list。 Buffer Cache 的原理及使用 : ①当一个Server进程需要读数据到Buffer Cache中时,首先必须判断该数据在Buffer中是否存在,如果存在且可用,则获取该数据,根据LRU算法在LRU List上移动该Block;如果Buffer中不存在数据,则需要从数据文件上读取。 ②在读取数据之前,Server进程需要扫描LRU List寻找Free的Buffer

HTML5本地存储——Web SQL Database与indexedDB

流过昼夜 提交于 2019-12-21 05:05:26
  虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就无能为力了,灵活大不够强大。我们经常在数据库中处理大量结构化数据,html5引入Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的方言是SQLlite。这个文档曾经在W3C推荐规范上,但规范工作已经停止了。目前已经陷入了一个僵局:目前的所有实现都是基于同一个SQL后端(SQLite),但是我们需要更多的独立实现来完成标准化。 接下来将和W3C力推的IndexedDB做比较,看看为什么要废弃这种方案。Web SQL Database 规范中定义的三个核心方法: openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象 transaction:这个方法允许我们根据情况控制事务提交或回滚 executeSql:这个方法用于执行SQL 查询。 openDatabase 我们可以使用这样简单的一条语句,创建或打开一个本地的数据库对象 var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);

前端存储之indexedDB

落花浮王杯 提交于 2019-12-21 05:04:06
在前一个阶段的工作中,项目组要开发一个平台,为了做出更好的用户体验,实现快速、高质量的交互,从而更快得到用户的反馈,要求在前端把数据存储起来,之后我去研究了下现在比较流行的前端存储数据库,找到了indexedDB,于是便对indexedDB做了一个较为深入的探索,此文就是记录探索过程的一些心得体会。 indexedDB为何物 在使用一个技术之前,先搞清楚它是什么,这对你的理解很重要,从DB就可以看出,它肯定是一个数据库,而说到数据库,有两种不同类型的数据库,就是关系型数据库和非关系型数据库,关系型数据库如Mysql、Oracle等将数据存储在表中,而非关系型数据库如Redis、MongoDB等将数据集作为个体对象存储。indexedDB就是一个非关系型数据库,它不需要你去写一些特定的sql语句来对数据库进行操作,因为它是nosql的,数据形式使用的是json, indexedDB出现的意义 也许熟悉前端存储的会说,不是有了LocalStorage和Cookies吗?为什么还要推出indexedDB呢?其实对于在浏览器里存储数据,你可以使用cookies或local storage,但它们都是比较简单的技术,而IndexedDB提供了类似数据库风格的数据存储和使用方式。 首先说说Cookies,英文直接翻译过来就是小甜点,听起来很好吃,实际上并不是

浏览器数据库 IndexedDB 教程

为君一笑 提交于 2019-12-21 05:00:29
浏览器数据库 IndexedDB 教程 阅读 171 收藏 23 2018-08-12 原文链接: mp.weixin.qq.com 腾讯云优惠套餐免费赠送50GB对象存储空间,加8元可选1年域名服务,助力学生党秒变云计算达人。 cloud.tencent.com 概述 随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。 现有的浏览器数据储存方案,都不适合储存大量数据:Cookie 的大小不超过4KB,且每次请求都会发送回服务器;LocalStorage 在 2.5MB 到 10MB 之间(各家浏览器不同),而且不提供搜索功能,不能建立自定义的索引。所以,需要一种新的解决方案,这就是 IndexedDB 诞生的背景。 通俗地说,IndexedDB 就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。IndexedDB 允许储存大量数据,提供查找接口,还能建立索引。这些都是 LocalStorage 所不具备的。就数据库类型而言,IndexedDB 不属于关系型数据库(不支持 SQL 查询语句),更接近 NoSQL 数据库。 IndexedDB 具有以下特点。 (1)键值对储存。 IndexedDB 内部采用对象仓库(object store)存放数据。所有类型的数据都可以直接存入,包括

Flask系列:数据库

a 夏天 提交于 2019-12-21 01:54:42
这个系列是学习《Flask Web开发:基于Python的Web应用开发实战》的部分笔记 对于用户提交的信息,包括 账号、文章 等,需要能够将这些数据保存下来 持久存储的三种方法: 文件:shelve(pickle 和 DBM 的结合)等,提供类似字典的对象接口 关系型数据库(SQL) 非关系型数据库(NoSQL) 其他 通常会使用数据库保存信息,并向数据库发起查询获取信息 SQL,关系型数据库 关系型数据库把数据存储在表中,表在程序中通过 Python 的类实现。例如,订单管理程序的数据库中可能有表 customers、products 和 orders。 表的列数是固定的,行数是可变的。 列 定义表所表示的实体的 数据属性 。例如,customers表中可能有 name、address、phone 等列。表中的 行 定义各列对应的 真实数据 。 表中有个特殊的列,称为 主键 ,其值为表中 各行的唯一标识符 。表中还可以有称为 外键 的列,引用 同一个表或不同表 中 某行的主键 。行之间的这种联系称为 关系 ,这是关系型数据库模型的基础。 从这个例子可以看出,关系型数据库存储数据很高效,而且 避免了重复 。将这个数据库中的用户角色重命名也很简单,因为角色名只出现在一个地方。一旦在 roles 表中修改完角色名,所有通过 role_id 引用这个角色的用户都能立即看到更新。

[转贴]什么是ORM

夙愿已清 提交于 2019-12-21 01:09:17
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示者额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。 面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的

Oracle事务和常用数据库对象

孤者浪人 提交于 2019-12-20 22:50:40
博文结构 事务的使用 索引的使用 视图的作用 序列、同义词的使用 分区表的概念 一.事务 Oracle通过事务来保证数据库中数据的一致性。 事务的含义 事务就是业务上的一个逻辑单元,它能够保证其中对数据所有的操作要么全部成功,要么全部失败 事务开始于一条可执行的SQL语句,继续执行事务主体,然后结束于以下的任意一种情况。 显式提交(commit): 当事务遇到cormmit指令时,将结束事务并永久保存所有更改的数据。 显式回滚(ollback); 当事务遇到rollback指令时,也将结束事务的执行,但是此时它回滚 所有更改的数据到事务开始时的原始值,即取消更改。 DDL语句:一旦用户执行了DDL (Data DefinitionLanguage,数据定义语言,如 CREATE. DROP 等)语句,则之前所有的DML (Data Manipulation Language,数据操作语言)操作将作为一 个事务提交.这种提交称为隐式提交。 正常结束程序:如果Oracle数据库应用程序正常结束,如使用SQL Plus工具更改了数据, 而正常退出该程序(输入"exit"), 则Oracle 自动提交事务。 非正常地结束程序:当程序崩溃或意外中止时,所有数据更改都被回滚,这种回滚称为隐 式回滚。. 事务的特点 事务的四个特性,即原子性(Atomicity). - 致性

MyBatis框架之基本知识介绍

假如想象 提交于 2019-12-19 04:09:41
前身背景: 前身是iBatis,为Apache的一个开源项目。2010年迁移到了Google Code,改名为MyBatis.2013年迁移到Github。 MyBatis框架以及ORM MyBatis是一个开源的数据持久层框架,内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射。作为持久层框架,主要思想是将程序中的大量的SQL语句分离出来,配置在相应的配置文件中,这样可以在不修改代码的情况下,直接在配置文件中的修改SQL。 ORM(Object/Relational Mapping)对象关系映射。是一种数据持久化的技术。在对象模型和关系型数据库之间建立关系,并且提供了一种机制,通过JavaBean对象去操作数据库表中的数据。MyBatis通过简单的XML或者注解进行配置和原始映射,将实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。 MyBatis环境搭建: 1.下载jar包, 官方网站: http://mybatis.org .(目前官网在国内受限制,若可以访问到,所有下载链接全部引导至github上-----推荐下载mybatis-3.2.2.zip和mybatis-3-mybatis-3.2.2.zip) github网址:https://github.com/mybatis/mybatis-3/releases. 2

ORM实现原理

久未见 提交于 2019-12-18 13:10:41
1.什么是ORM ORM的全称是Object Relational Mapping,即对象关系映射。它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。 2.什么是Hibernate 对于Hibernate的称呼有很多,比如工具、技术、框架以及解决方案等,这些都可以,重要的是大家要知道它的作用。在这里我习惯性称它为框架,它是一种能实现ORM的框架。能实现ORM这个功能的框架有很多,Hibernate可以说是这些框架中最流行、最受开发者关注的,甚至连JBoss公司也把它吸收进来,利用它在自己的项目中实现ORM功能。 3.ORM的实现原理 现在在Java领域大家对Hibernate的讨论很多,比如它的优缺点、如何应用、错误如何解决以及把它和Struts/Spring等框架相结合作为整个系统的解决方案。在这里我想和大家探讨一些更深层次的话题,那就是Hibernate是如何实现ORM的功能?如果让我们自己开发一款实现ORM功能的框架需要怎么做?其实这些问题就是围绕着一个词,那就是“映射”,如果我们知道如何实现这种映射那么我们也能够开发出自己的一款ORM框架。会使用Hibernate的开发人员都知道,在使用它实现ORM功能的时候,主要的文件有:映射类