Python操作MySQL MongoDB Oracle三大数据库深入对比

目录
  • 1. Python操作Oracle数据库
  • 2. Python操作MySQL数据库
  • 3. Python操作MongoDB数据库

作为数据分析师,掌握一门数据库语言,是很有必要的。

今天黄同学就带着大家学习两个关系型数据库MySQL、Oracle,了解一个非关系数据库MongoDB。

1. Python操作Oracle数据库

这一部分的难点在于:环境配置有点繁琐。不用担心,我为大家写了一篇关于Oracle环境配置的文章。

Python操作Oracle使用的是cx_Oracle库。需要我们使用如下命令提前安装:

pip insatll cx_Oracle

① Python链接Oracle服务器的3种方式

# ① 用户名、密码和监听写在一起
import cx_Oracle
db = cx_Oracle.connect('scott/a123456@DESKTOP-V4LKB10:1521/orcl')

# ② 用户名、密码和监听分开写
import cx_Oracle
db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")

# ③ 配置监听并连接
import cx_Oracle
moniter = cx_Oracle.makedsn('192.168.2.1',1521,'orcl')
db = cx_Oracle.connect('scott','a123456',moniter)

② Python怎么获取Oracle中的数据?

这里有三种常用的方法,分别为大家进行介绍。

Ⅰ fetchone():一次获取一条记录;

import cx_Oracle
# 注意:一定要加下面这两行代码,负责会中文乱码;
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")
cursor = db.cursor()

cursor.execute('select count(*) from emp1')
aa = cursor.fetchone()
print(aa)
cursor.execute('select ename,deptno,sal from emp1')
for i in range(aa[0]):
    a,b,c = cursor.fetchone()
    d = "我的名字叫{},所在部门是{},工资是{}美元".format(a,b,c)
    display(d)
db.close()

结果如下:

Ⅱ fetchall():一次获取所有记录;

import cx_Oracle
# 注意:一定要加下面这两行代码,负责会中文乱码;
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")
cursor = db.cursor()

cursor.execute('select ename,deptno,sal from emp1')
aa = cursor.fetchall()
# print(aa)
for a,b,c in aa:
    d = "我的名字叫{},所在部门是{},工资是{}美元".format(a,b,c)
    display(d)
db.close()

结果如下:

Ⅲ 使用pandas中的read_sql()方法,将提取到的数据直接转化为DataFrame进行操作;

import cx_Oracle
import pandas as pd
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

db = cx_Oracle.connect("scott","a123456","192.168.2.1:1521/orcl")
cursor = db.cursor()

df1 = pd.read_sql("select * from emp where deptno=20",db)
display(df1)

df2 = pd.read_sql("select * from emp where deptno=30",db)
display(df2)

结果如下:

2. Python操作MySQL数据库

MySQL数据库应该是国内应用最多的数据库。大多数公司一般都是使用的该数据库。这也就是很多学生在毕业之前都会选择学习该数据库知识,用于面试。

Python操作MySQL使用的是cx_Oracle库。需要我们使用如下命令提前安装:

pip insatll pymysql

更多细节参考:Python操作Oracle详解!

① Python链接MySQL服务器

import pymysql 

db = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='spiders',charset=' utf8')

这里面有六个参数,需要为大家一一介绍一下:

参数host:mysql服务器所在的主机的ip;

参数user:用户名;

参数password:密码;

参数port:连接的mysql主机的端口,默认是3306;

参数db:连接的数据库名;

参数charset:当读取数据出现中文会乱码的时候,需要我们设置一下编码;我们使用python操作数据库的时候,那么python就相当于是client,我们是用这个client来操作mysql的server服务器,python3默认采用的utf8字符集,我的mysql服务器默认采用latin1字符集,因此mysql中创建的每张表,都是建表的时候加了utf8编码的,因此这里设置的应该就是connection连接器的编码;

② Python怎么获取MySQL中的数据?

Ⅰ fetchone():一次获取一条记录;

import  pymysql

db = pymysql.connect(host='localhost',user='root',db='huangwei',password='123456',port=3306,charset='utf8')
cursor = db.cursor()
cursor.execute('select count(*) from person')
aa = cursor.fetchone()
print(aa)
cursor.execute('select name,age from person')
for i in range(aa[0]):
    a,b = cursor.fetchone()
    c = "我的名字叫{},今年{}岁".format(a,b)
    display(c)
db.close()

结果如下:

Ⅱ fetchall():一次获取所有记录;

import  pymysql

db = pymysql.connect(host='localhost',user='root',db='huangwei',password='123456',port=3306,charset='utf8')
cursor = db.cursor()
cursor.execute('select name,age from person')
aa = cursor.fetchall()
# print(aa)
for a,b in aa:
    c = "我的名字叫{},今年{}岁".format(a,b)
    display(c)
db.close()

结果如下:

Ⅲ 使用pandas中的read_sql()方法,将提取到的数据直接转化为DataFrame进行操作;

import pymysql
import pandas as pd
db = pymysql.connect(host='localhost',user='root',db='huangwei',password='123456',port=3306,charset='utf8')
cursor = db.cursor()
df1 = pd.read_sql("select * from student where ssex='男'",db)
display(df1)
df2 = pd.read_sql("select * from student where ssex='女'",db)
display(df2)

结果如下:

3. Python操作MongoDB数据库

这一部分主要带大家对比学习:关系型数据和非关系型数据库的不同之处。咱们了解一下即可,不必过深研究,因为数据分析师基本不会使用这种数据库。

Python操作MongoDB使用的是pymongo库。需要我们使用如下命令提前安装:

pip insatll pymongo

更多细节参考:Python操作MongoDB详解!

① Python链接MongoDB服务器

from pymongo import MongoClient

conn = MongoClient("localhost",27017)

② Python怎么获取MongoDB中的数据?

Ⅰ 查询部分文档;

res = collection.find({"age": {"$gte": 19}})
for row in res:
	print(row)

Ⅱ 查询所有文档;

res = collection.find()
for row in res:
	print(row)

Ⅲ 统计查询;

res = collection.find().count()
print(res)

Ⅳ 根据 id 查询;

这里需要引入第三方库。

from bson.objectid import ObjectId
res = collection.find({"_id":ObjectId("5cc506289e1d88c95465488e")})
print(res[0])

Ⅴ 升序排序;

res = collection.find().sort("age")
for row in res:
	print(row)

Ⅵ 降序排序;

这里也需要引入第三方库。

import pymongo
res = collection.find().sort("age",pymongo.DESCENDING)
for row in res:
	print(row)

Ⅶ 分页查询

res = collection.find().limit(3).skip(5)
for row in res:
	print(row)

以上就是Python操作MySQL MongoDB Oracle三大数据库深入对比的详细内容,更多关于Python操作MySQL MongoDB Oracle对比的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python简单连接MongoDB数据库的方法

    本文实例讲述了Python连接MongoDB数据库的方法.分享给大家供大家参考,具体如下: Python使用pymongo操作MongoDB数据库,首先需要安装pymongo模块,如下示例是通过pymongo连接MongoDB数据库,带用户名和密码: from pymongo import MongoClient import datetime client = MongoClient('mongodb://tanteng:123456@localhost:27017/') db = clien

  • python连接mongodb数据库操作数据示例

    作者: wyh草样 出处:https://www.cnblogs.com/wyh0923/p/14047466.html 1.数据库配置类 MongoDBConn.py #encoding=utf-8 ''' Mongo Conn连接类 ''' import pymongo class DBConn: conn = None servers = "mongodb://localhost:27017" def connect(self): self.conn = pymongo.Conn

  • Python操作MongoDb数据库流程详解

    1.简介 MongoDB是一个基于分布式文件存储的文档数据库,可以说是非关系型(NoSQL,Not Only SQL)数据库中比较像关系型数据库的一个,具有免费.操作简单.面向文档.自动分片.可扩展性强.查询功能强大等特点,对大数据处理支持较好,旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB文档类似于JSON对象.字段值可以包含其他文档,数组及文档数组. 2.应用 MongoDB数据库可以到网

  • python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例

    MongoDB简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. MongoDB应用场景 大而复杂的数据 移动和社会基础设施数据 内容管理和交付 用户数据 管理数据中心

  • Python操作MySQL MongoDB Oracle三大数据库深入对比

    目录 1. Python操作Oracle数据库 2. Python操作MySQL数据库 3. Python操作MongoDB数据库 作为数据分析师,掌握一门数据库语言,是很有必要的. 今天黄同学就带着大家学习两个关系型数据库MySQL.Oracle,了解一个非关系数据库MongoDB. 1. Python操作Oracle数据库 这一部分的难点在于:环境配置有点繁琐.不用担心,我为大家写了一篇关于Oracle环境配置的文章. Python操作Oracle使用的是cx_Oracle库.需要我们使用如

  • 浅谈Mysql、SqlServer、Oracle三大数据库的区别

    一.MySQL 优点: 体积小.速度快.总体拥有成本低,开源: 支持多种操作系统: 是开源数据库,提供的接口支持多种语言连接操作 : MySQL的核心程序采用完全的多线程编程.线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源.用多线程和C语言实现的mysql能很容易充分利用CPU: MySql有一个非常灵活而且安全的权限和口令系统.当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证: 支持ODBC for Windows, 支持所有的ODB

  • Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法

    本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: unixODBC FreeTDS pyodbc cx_Oracle 欢迎转载,请注明作者.出处. 作者:张正 QQ:176036317 如有疑问,欢迎联系. 本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQ

  • Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】

    本文实例讲述了Python操作MySQL数据库的两种方式.分享给大家供大家参考,具体如下: 第一种 使用pymysql 代码如下: import pymysql #打开数据库连接 db=pymysql.connect(host='1.1.1.1',port=3306,user='root',passwd='123123',db='test',charset='utf8') cursor=db.cursor()#使用cursor()方法获取操作游标 sql = "select * from tes

  • Python操作MySQL数据库9个实用实例

    在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-python-1.2.3.win-amd64-py2.7.exe 实例 1.取得 MYSQL 的版本 # -*- coding: UTF-8 -*- #安装 MYSQL DB for python import MySQLdb as mdb con

  • Python操作MySQL数据库的三种方法总结

    1. MySQLdb 的使用 (1) 什么是MySQLdb? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. (2) 源码安装 MySQLdb: https://pypi.python.org/pypi/MySQL-python $ tar zxvf MySQL-python-*.tar.gz $ cd MySQL-python-* $ python setup.py buil

  • Python操作mysql数据库实现增删查改功能的方法

    本文实例讲述了Python操作mysql数据库实现增删查改功能的方法.分享给大家供大家参考,具体如下: #coding=utf-8 import MySQLdb class Mysql_Oper: def __init__(self,host,user,passwd,db): self.host=host self.user=user self.passwd=passwd self.database=db def db_connecet(self): try: #连接 conn=MySQLdb.

  • Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例

    本文实例讲述了Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法.分享给大家供大家参考,具体如下: demo.py(查询,取出一条数据,fetchone): from pymysql import * def main(): # 创建Connection连接 conn = connect(host='localhost',port=3306,user='root',password='mysql',database='jing_do

  • Python操作MySQL数据库的方法

    pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1') # 创建游标 cursor = conn.cursor() # 执行SQL,并返回收影响行数 eff

  • Python操作MySQL数据库实例详解【安装、连接、增删改查等】

    本文实例讲述了Python操作MySQL数据库.分享给大家供大家参考,具体如下: 1.安装 通过Python连接MySQL数据库有很多库,这里使用官方推荐的MySQL Connector/Python库,其官网为:https://dev.mysql.com/doc/connector-python/en/. 通过pip命令安装: pip install mysql-connector-python 默认安装的是最新的版本,我安装的是8.0.17,对应MySQL的8.0版本.MySQL统一了其相关

随机推荐