python 2.7.11 + windows 10 连接 mysql学习记录

原创 2016年05月31日 13:15:18

1. 前言

最近在学习mysql 的相关内容, 于是考虑使用 python 去连接他, 学习一下之后发现, 使用python 去连接mysql, 真的好方便啊。

2. 基本流程

我们这里使用 3 种途径来连接 mysql, 分别是 connector, mysqldb, torndb
ps: 我们这里选用的数据库表的格式为:
这里写图片描述
ps: 图中的这个软件是 mysql workbench, 当然我们也可以使用 cmd控制台, 不过这个界面看上去更加直观一些, 嘻嘻嘻

2.1 mysql connectors

2.1.1 安装配置

- 首先进入 https://www.mysql.com/products/connector/ 页面, 选择相应版本的 python driver 下载安装, 我们这里选用的是 x64, python 2.7 版本的 msi installer, 链接: http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.3-py2.7-winx64.msi

2.1.2 查询

from __future__ import print_function

sql = ('select * from ipdata limit 10')

# mysql-connector
print('mysql-connector'.center(50, '='))
from mysql import connector

cnx = connector.Connect(host="127.0.0.1", user="root", password="zhyh2010", database="pythontest", charset = "utf8")
cnx.autocommit = True
db0 = cnx.cursor()

db0.execute(sql)
for row in db0:
    print(*row)

2.1.3 插入数据

sql = 'insert into `ipdata` (`startip`, `endip`, `country`, `local`) values (20, 21, "china", "happy")'
sql_tmp = 'insert into `ipdata` (`startip`, `endip`, `country`, `local`) values (%s, %s, %s, %s)'
values = [(21, 22, "china", "roman")]

print('mysql-connector'.center(50, '='))
from mysql import connector

cnx = connector.Connect(host="127.0.0.1", user="root", password="zhyh2010", database="pythontest", charset = "utf8")

cnx.autocommit = True
db0 = cnx.cursor()

print db0.execute(sql)
print db0.executemany(sql_tmp, values)

2.2 mysqldb

2.2.1 安装配置

- 首先进入 https://sourceforge.net/projects/mysql-python/ 下载相应的 mysqldb版本, 链接: https://sourceforge.net/projects/mysql-python/files/latest/download

2.2.2 查询数据库

#Mysqldb
print('Mysqldb'.center(50, "="))
import MySQLdb

def connect_mysql(db_host='127.0.0.1', user = "root",
                  passwd = "zhyh2010", db = "pythontest", charset="utf8"):
    conn = MySQLdb.connect(host=db_host, user = user, passwd=passwd, db=db, charset=charset)
    conn.autocommit(True)
    return conn.cursor()

db1 = connect_mysql()
db1.execute(sql)
for row in db1:
    print(*row)

2.2.3 查询数据

sql = 'insert into `ipdata` (`startip`, `endip`, `country`, `local`) values (20, 21, "china", "happy")'
sql_tmp = 'insert into `ipdata` (`startip`, `endip`, `country`, `local`) values (%s, %s, %s, %s)'
values = [(21, 22, "china", "roman")]

#Mysqldb
print('Mysqldb'.center(50, "="))
import MySQLdb

def connect_mysql(db_host='127.0.0.1', user = "root",
                  passwd = "zhyh2010", db = "pythontest", charset="utf8"):
    conn = MySQLdb.connect(host=db_host, user = user, passwd=passwd, db=db, charset=charset)
    conn.autocommit(True)
    return conn.cursor()

db1 = connect_mysql()
print db1.execute(sql), db1.lastrowid
print db1.executemany(sql_tmp, values), db1.lastrowid

2.3 torndb

2.3.1 安装配置

- torndb 的主页是: https://pypi.python.org/pypi/torndb, 不过我们这里直接采用 pip 安装:
- `pip install torndb`

2.3.2 查询数据库

#torndb
print('torndb1'.center(50, '='))
import torndb
import simplejson as json

db2 = torndb.Connection(
    host="127.0.0.1",
    database="pythontest",
    user="root",
    password="zhyh2010",
    charset="utf8"
)
rows = db2.query(sql)
for row in rows:
    print(json.dumps(row, ensure_ascii=False))

# print('torndb2'.center(50, '='))
# row = db2.get(sql)
# print(json.dumps(row, ensure_ascii=False))

print('torndb3'.center(50, '='))
row = db2.get('select * from ipdata limit 1')
print(json.dumps(row, ensure_ascii=False))

2.3.3 插入数据

sql = 'insert into `ipdata` (`startip`, `endip`, `country`, `local`) values (20, 21, "china", "happy")'
sql_tmp = 'insert into `ipdata` (`startip`, `endip`, `country`, `local`) values (%s, %s, %s, %s)'
values = [(21, 22, "china", "roman")]

print('torndb1'.center(50, '='))
import torndb
import simplejson as json

db2 = torndb.Connection(
    host="127.0.0.1",
    database="pythontest",
    user="root",
    password="zhyh2010",
    charset="utf8"
)
print db2.insert(sql)
print db2.insertmany(sql_tmp, values)

3. 小结

  1. 以上3种方式, 都可以方便的实现数据库操作
  2. 他们有着相同的流程:
Created with Raphaël 2.1.0startconnect to db增删改查end
版权声明:本文为博主原创文章,未经博主允许不得转载。

Windows环境下python2.7安装mysql-python

安装mysql-python
  • lcr_happy
  • lcr_happy
  • 2017年06月14日 22:09
  • 3147

python 2.7中安装mysql

python中安装mysql-db模块
  • kellyseeme
  • kellyseeme
  • 2016年05月24日 21:51
  • 2539

python2.7 mysql.connector的安装

将pyton2.7 MySQL.connector安装心得写下,供其他网友参考 1.去官网http://dev.mysql.com/downloads/connector/Python   ...
  • qq_35038153
  • qq_35038153
  • 2017年09月04日 21:14
  • 291

python 2.7 安装MySQLdb模块

1、先从网https://pypi.python.org/pypi/MySQL-python/1.2.5#downloadss下载 mysql-python安装包MySQL-python-1.2.5....
  • miss1128726
  • miss1128726
  • 2016年04月17日 21:34
  • 3653

python2.7.13安装MySQLdb模块及使用

命令行安装 pip install python-mysql 或者在pycharm包中安装 源码安装方式 访问: http://www.lfd.uci.edu/~gohlke/...
  • svap1
  • svap1
  • 2017年06月24日 13:06
  • 2470

MySQL-python-1.2.3 64位windows for python2.7

  • 2013年10月17日 09:37
  • 1.03MB
  • 下载

python2.7安装+mysql-window-64位安装+python连接操作mysql教程

相关软件下载地址 准备步骤 先安装mysql见教程httpjingyanbaiducomarticle642c9d34aa809a644a46f717html 安装python27见教程httpjin...
  • ZHAOLEI5911
  • ZHAOLEI5911
  • 2016年04月13日 16:26
  • 1967

Windows+Python2.7下安装MySQLdb驱动

下载与安装 Python中使用MySQL需要安装MySQLdb驱动,可以从CSDN下载内下, 目前支持最高Python版本号2.7,MySQL版本号5.1,详细描述如下: MyS...
  • cumtwys
  • cumtwys
  • 2014年06月18日 09:55
  • 1392

python2.7.12安装MySQLdb模块

访问http://www.lfd.uci.edu/~gohlke/pythonlibs/,下载MySQL_python-1.2.5-cp27-none-win_amd64.whl 将其拷贝到pyt...
  • fgwvip123
  • fgwvip123
  • 2016年08月31日 10:46
  • 3593

python2.7之MySQLdb模块 for linux安装

python2.7之MySQLdb模块 for linux安装 1.下载:MySQL-python http://sourceforge.net/projects/mysql-python/f...
  • ys1109
  • ys1109
  • 2013年12月16日 18:49
  • 3315
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python 2.7.11 + windows 10 连接 mysql学习记录
举报原因:
原因补充:

(最多只允许输入30个字)