python可以用哪些数据库

数据库分类

早期数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。

而在当今的互联网中,通常把数据库分为两类,即关系型数据库和非关系型数据库。

关系型数据库

关系型数据库是指采用了关系模型来组织数据的数据库,而关系模型是由二维表及其联系组成的数据组织。

优点:

1、易于维护:都是使用表结构,格式一致;

2、使用方便:SQL语言通用,可用于复杂查询;

3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

1、读写性能比较差,尤其是海量数据的高效率读写;

2、固定的表结构,灵活度稍欠;

3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

目前主流的关系型数据库有

MYSQL

目前使用最广泛的开源、多平台的关系型数据库,支持事务、符合ACID、支持多数SQL规范

SQL Server

支持事务、符合ACID、支持多数SQL规范,属于商业软件,需要注意版权和licence授权费用

Oracle

支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,功能最强大、最复杂、市场占比最高的商业数据库

Postgresql

开源、多平台、关系型数据库,功能最强大的开源数据库,需要python环境,基于postgresql的TimeScaleDB,是目前比较火的时序数据库之一。(更多学习内容,请点击python学习网)

非关系型数据库

非关系型数据库也称为NOSQL(Not Only SQL),作为关系型数据库的一个补充,能在特定场景和特点问题下发挥高效率和高性能。

常见的非关系型数据库类型有键值(Key-Value)存储数据库和面向文档数据库(Document-oriented)

键值存储数据库类似hash,通过key做添加、删除、查询,性能高,优势在于简单、易部署、高并发,主要产品有

Redis

开源、Linux平台、key-value键值型Nosql数据库,简单稳定,非常主流的、全数据in-momory、定位于“快”的键值型nosql数据库

Memcaced

一个开源的、高性能的、具有分布式内存对象的缓存系统,通过它可以减轻数据库负载,加速动态的web应用

面向文档数据库以文档的形式存储,每个文档是一系列数据项的集合,每个数据项有名称与对应的值,主要产品有

MongoDB

开源、多平台、文档型nosql数据库,“最像关系型数据库”,定位于“灵活”的nosql数据库。适用于网站后台数据库(更新快、实时复制)、小文件系统(json,二进制)、日志分析系统(数据量大的文件)。

知识点扩展:

Python的数据库支持

经过两个多月的学习,我们对Python的基础语法大概都已经学完了,接下来我们要把我们学到的东西逐步用到应用的层面上。今天,我们要学的是,用Python实现数据库的对接。

我们先来讲一下什么是api,在编程语言的学习中,我们经常会接触到api这个词,那么究竟什么是api,简单来说就是一个接口,像java的api,有一个专门的api文档提供查询。Python数据库的api是DB API。我们主要讲的api版本是DB API2.0。

Python DB API有三个模块属性:

1、apilevel:这个属性主要是用来定义使用的Python DB API 的版本,像我们上面说的DB API 2.0;

2、threadsafety:这个是用来定义模块的线程安全度;

该参数是一个0到3的整数,0表示线程不能共享模块,1表示线程可共享模块本身,2表示线程可共享模块和连接, 但不能共享游标,3表示模块是绝对线程安全的。

3、paramstyle:这个属性定义在SQL查询中使用哪种参数风格,这里说明一下,SQL是指数据库的意思。

这个我们就不具体讲了,因为现在刚接触新知识,引入这个知识点,会很容易感到迷茫。

到此这篇关于python可以用哪些数据库的文章就介绍到这了,更多相关python支持哪些数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python接口测试数据库封装实现原理

    引言 做接口测试的时候,避免不了操作数据库.因为数据校验需要,测试数据初始化需要.一些参数化场景需要等. 数据库操作框架设计 这里主要操作mysql数据库,整体思路: 封装实现 具体代码实现: import pymysql import json class OperateMysql(object): def __init__(self): # 数据库初始化连接 self.connect_interface_testing = pymysql.connect( "localhost",

  • python数据库编程 ODBC方式实现通讯录

    Python 数据库编程,ODBC方式实现通讯录,供大家参考,具体内容如下 #-*-coding:utf-8-*- import pyodbc import os def SelectInfo(hcon,hcur): hcur.execute('select * from PassMapT') ptitle=('ID','Item','Pwd','other') print(ptitle) result=hcur.fetchall() for item in result: print(item

  • Python3标准库之dbm UNIX键-值数据库问题

    1. dbm UNIX键-值数据库 dbm是面向DBM数据库的一个前端,DBM数据库使用简单的字符串值作为键来访问包含字符串的记录.dbm使用whichdb()标识数据库,然后用适当的模块打开这些数据库.dbm还被用作shelve的一个后端,shelve使用pickle将对象存储在一个DBM数据库中. 1.1 数据库类型 Python提供了很多模块来访问DBM数据库.具体选择的默认实现取决于当前系统上可用的库以及编译Python时使用的选项.特定实现有单独的接口,这使得Python程序可以与用其

  • Python实现查找数据库最接近的数据

    这是我的数据库student,好比输入一个值为32,查询id最接近32的整行数据,可以用以下代码 import pymysql value=32 conn = pymysql.connect(host='39.106.168.84', user='xxxxxxx', password='xxxxxxx', port=3306, db='flask_topvj_net') cur = conn.cursor() sql="select * from `student` order by abs(`

  • python pymysql链接数据库查询结果转为Dataframe实例

    我就废话不多说了,大家还是直接看代码吧! import pymysql import pandas as pd def con_sql(db,sql): # 创建连接 db = pymysql.connect(host='127.0.0.1', port=3308, user='name', passwd='password', db=db, charset='utf8') # 创建游标 cursor = db.cursor() cursor.execute(sql) result = curs

  • Python使用sqlite3模块内置数据库

    1.python内置的sqlite3模块,创建数据库中的表,并向表中插入数据,从表中取出所有行,以及输出行的数量. #!/usr/bin/env python3 #创建SQLite3内存数据库,并创建带有四个属性的sales表 #sqlite3模块,提供了一个轻量级的基于磁盘的数据库,不需要独立的服务器进程 import sqlite3 #使用':memory:'在内存中创建了一个数据库,创建了连接对象con来代表数据库 con = sqlite3.connect(':memory:') #创建

  • 利用python生成一个导出数据库的bat脚本文件的方法

    实例如下: # 环境: python3.x def getExportDbSql(db, index): # 获取导出一个数据库实例的sql语句 sql = 'mysqldump -u%s -p%s -h%s -P%d --default-character-set=utf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql' %(db['user'], db['pwd'], db['host'], db['port'], index, db['serv

  • Python 模拟员工信息数据库操作的实例

    1.功能简介 此程序模拟员工信息数据库操作,按照语法输入指令即能实现员工信息的增.删.改.查功能. 2.实现方法 • 架构: 本程序采用python语言编写,关键在于指令的解析和执行:其中指令解析主要运用了正则表达式来高效匹配有效信息:指令执行通过一个commd_exe主执行函数和增.删.改.查4个子执行函数来实现,操作方法主要是运用面向对象方法将员工信息对象化,从而使各项操作都能方便高效实现.程序主要函数如下: (1)command_exe(command) 指令执行主函数,根据指令第一个字段

  • Python实现将sqlite数据库导出转成Excel(xls)表的方法

    本文实例讲述了Python实现将sqlite数据库导出转成Excel(xls)表的方法.分享给大家供大家参考,具体如下: 1. 假设已经安装带有sliqte 库的Python环境 我的是Python2.5 2. 下载 python xls 写操作包(xlwt)并安装 下载地址: http://pypi.python.org/pypi/xlwt 3. 下面就是代码(db2xls.py): import sqlite3 as sqlite from xlwt import * #MASTER_COL

  • Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例

    本文实例讲述了Python实现读写sqlite3数据库并将统计数据写入Excel的方法.分享给大家供大家参考,具体如下: src = 'F:\\log\\mha-041log\\rnd-log-dl.huawei.com\\test' # dst = sys.argv[2] dst = 'F:\\log\\mha-041log\\rnd-log-dl.huawei.com\\test\\mha-041log.db' # dst_anylyzed = sys.argv[3] dst_anylyze

  • python使用Berkeley DB数据库实例

    本文实例讲述了python使用Berkeley DB数据库的方法,分享给大家供大家参考. 具体实现方法如下: try: from bsddb import db except ImportError: from bsddb3 import db print db.DB_VERSION_STRING #检测是否有bsddb包 def irecords(curs): record = curs.first() while record: yield record record = curs.next

  • Python实现连接postgresql数据库的方法分析

    本文实例讲述了Python实现连接postgresql数据库的方法.分享给大家供大家参考,具体如下: python可以通过第三方模块连接postgresql. 比较有名的有psycopg2和python3-postgresql (一)psycopg2 ubuntu下安装 sudo apt-get install python3-psycopg2 创建一个test.py文件 import psycopg2 # 数据库连接参数 conn = psycopg2.connect(database="te

  • Python实现备份MySQL数据库的方法示例

    本文实例讲述了Python实现备份MySQL数据库的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- #导入模块 import MySQLdb import time import datetime import os """ Purpose: 备份数据库 Created: 2015/5/12 Modified:2015/5/12 @author: guoyJoe ""&quo

  • Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法

    本文实例讲述了Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Purpose: 生成日汇总对账文件 Created: 2015/4/27 Modified:2015/5/1 @author: guoyJoe """ #导入模块 import MySQLdb import time impor

  • python 连接各类主流数据库的实例代码

    本篇博文主要介绍Python连接各种数据库的方法及简单使用 包括关系数据库:sqlite,mysql,mssql 非关系数据库:MongoDB,Redis 代码写的比较清楚,直接上代码 1.连接sqlite # coding=utf-8 # http://www.runoob.com/sqlite/sqlite-python.html import sqlite3 import traceback try: # 如果表不存在,就创建 with sqlite3.connect('test.db')

  • python远程连接MySQL数据库

    本文实例为大家分享了python远程连接MySQL数据库的具体代码,供大家参考,具体内容如下 连接数据库 这里默认大家都已经配置安装好 MySQL 和 Python 的MySQL 模块,且默认大家的DB内表和访问账号权限均已设置无误,下面直接代码演示: # -*- coding: utf-8 -*- """ Created on Fri Dec 30 10:43:35 2016 @author: zhengyongzhe """ import M

随机推荐