用Python操作Mysql

平时的主要编程语言是Java,开发时也主要用Mysql,经常为了测试,调试的目的需要操作数据库,比如备份,插入测试数据,修改测试数据,有些时候不能简单的用SQL就能完成任务,或都很好的完成任务,用Java写又有点太麻烦了,就想到了Python。Python语法简洁,不用编译,可以经较好的完成任务。今天看了下Python对Mysql的操作,做一下记录。

首先,安装需要的环境,Mysql和Python就不说了,必备的东西。

主要是安装的MySQLdb,可以去sf.net下载,具体地址是http://sourceforge.net/projects/mysql-python/

如果用Ubuntu,直接

sudo apt-get install python-mysqldb

安装完成之后可以在Python解释器中测试一下

输入

Python代码  

  1. import MySQLdb #注意大小写!!

如果不报错,就证明安装成功了,可能继续了

MySQLdb在Python中也就相当于JAVA中的MySQL的JDBC Driver,Python也有类似的数据接口规范Python DB API,MySQLdb就是Mysql的实现。操作也比较简单和其它平台或语言操作数据库一样,就是建立和数据库系统的连接,然后给数据库输入SQL,再从数据库获取结果。

先写一个最简单的,创建一个数据库:

Python代码  

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. ###################################
  4. # @author migle
  5. # @date 2010-01-17
  6. ##################################
  7. #MySQLdb 示例
  8. #
  9. ##################################
  10. import MySQLdb
  11. #建立和数据库系统的连接
  12. conn = MySQLdb.connect(host=‘localhost‘, user=‘root‘,passwd=‘longforfreedom‘)
  13. #获取操作游标
  14. cursor = conn.cursor()
  15. #执行SQL,创建一个数据库.
  16. cursor.execute("""create database python """)
  17. #关闭连接,释放资源
  18. cursor.close();

创建数据库,创建表,插入数据,插入多条数据

Python代码  

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. ###################################
  4. # @author migle
  5. # @date 2010-01-17
  6. ##################################
  7. #MySQLdb 示例
  8. #
  9. ##################################
  10. import MySQLdb
  11. #建立和数据库系统的连接
  12. conn = MySQLdb.connect(host=‘localhost‘, user=‘root‘,passwd=‘longforfreedom‘)
  13. #获取操作游标
  14. cursor = conn.cursor()
  15. #执行SQL,创建一个数据库.
  16. cursor.execute("""create database if not exists python""")
  17. #选择数据库
  18. conn.select_db(‘python‘);
  19. #执行SQL,创建一个数据表.
  20. cursor.execute("""create table test(id int, info varchar(100)) """)
  21. value = [1,"inserted ?"];
  22. #插入一条记录
  23. cursor.execute("insert into test values(%s,%s)",value);
  24. values=[]
  25. #生成插入参数值
  26. for i in range(20):
  27. values.append((i,‘Hello mysqldb, I am recoder ‘ + str(i)))
  28. #插入多条记录
  29. cursor.executemany("""insert into test values(%s,%s) """,values);
  30. #关闭连接,释放资源
  31. cursor.close();

查询和插入的流程差不多,只是多了一个得到查询结果的步骤

Python代码  

    1. #!/usr/bin/env python
    2. #coding=utf-8
    3. ######################################
    4. #
    5. # @author migle
    6. # @date 2010-01-17
    7. #
    8. ######################################
    9. #
    10. # MySQLdb 查询
    11. #
    12. #######################################
    13. import MySQLdb
    14. conn = MySQLdb.connect(host=‘localhost‘, user=‘root‘, passwd=‘longforfreedom‘,db=‘python‘)
    15. cursor = conn.cursor()
    16. count = cursor.execute(‘select * from test‘)
    17. print ‘总共有 %s 条记录‘,count
    18. #获取一条记录,每条记录做为一个元组返回
    19. print "只获取一条记录:"
    20. result = cursor.fetchone();
    21. print result
    22. #print ‘ID: %s   info: %s‘ % (result[0],result[1])
    23. print ‘ID: %s   info: %s‘ % result
    24. #获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录
    25. print "只获取5条记录:"
    26. results = cursor.fetchmany(5)
    27. for r in results:
    28. print r
    29. print "获取所有结果:"
    30. #重置游标位置,0,为偏移量,mode=absolute | relative,默认为relative,
    31. cursor.scroll(0,mode=‘absolute‘)
    32. #获取所有结果
    33. results = cursor.fetchall()
    34. for r in results:
    35. print r
    36. conn.close()
时间: 2024-10-09 00:43:50

用Python操作Mysql的相关文章

python操作mysql ------- SqlAchemy正传

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1

python操作mysql数据库

连接数据库 输入值 存入数据库 关闭 import string import mysql.connector conn=mysql.connector.connect(user='root',password='test',database='dalian',use_unicode=True) cursor=conn.cursor() a=raw_input('enter an id: ') b=raw_input('enter a name: ') while(a!='quit' or b!

python操作MySQL

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 ? 1 pip3 install pymysql 使用操作 1.执行SQL + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/usr/bin/env python # -*-

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector-python 是MySQL官方的Python驱动 https://dev.mysql.com/doc/connector-python/en/ 安装: pip install mysql-connector 示例代码: https://github.com/mike-zhang/pyExample

Python开发【第十四篇】:Python操作MySQL

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1

Python操作Mysql基础教程

Python操作Mysql 最近在学习python,这种脚本语言毫无疑问的会跟数据库产生关联,因此这里介绍一下如何使用python操作mysql数据库.我python也是零基础学起,所以本篇博客针对的是python初学者,大牛可以选择绕道. 另外,本篇博客基于的环境是Ubuntu13.10,使用的python版本是2.7.5. MYSQL数据库 MYSQL是一个全球领先的开源数据库管理系统.它是一个支持多用户.多线程的数据库管理系统,与Apache.PHP.Linux共同组成LAMP平台,在we

Windows 下Python操作MySQL

1.环境要求(Win7 X64): python 2.7, MySQL-python-1.2.3.win-amd64-py2.7 :http://www.codegood.com/download/11/  (有需要32位的在这个地方下载https://pypi.python.org/pypi/MySQL-python) 注意:请看清楚自己的电脑位数,如果64位的系统使用32位的安装包会报如下错误: ImportError: DLL load failed: %1 不是有效的 Win32 应用程

Python操作Mysql实例代码教程在线版(查询手册)_python

实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding: UTF-8 -*- #安装MYSQL DB for pythonimport MySQLdb as mdb con = None try:    #连接mysql的方法:connect('ip','user','password','dbname')    con = mdb.connect('

Python操作MySQL以及中文乱码的问题

Python操作MySQL需要安装Python-MySQL可以从网上搜索一下,和一般的Python包一样安装 安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,不过又发现了烦人的乱麻问题,最后用了几个办法,解决了! 我用了下面几个措施,保证MySQL的输出没有乱麻:    1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)    2 MySQL数据库charset=utf-8     3 Python连