在python中链接mysql数据库,并进行增删改查

数据库在开发过程当中是最多见的,基本上在服务端的编程过程当中都会使用到,mysql是较常见的一种数据库,这里介绍python若是链接到数据库中,并对数据库进行增删改查。python

安装mysql的python扩展

使用MySQLdb第三方扩展库链接mysql,首先在python解析器下,查看MySQLdb是否已经安装,命令以下:mysql

import MySQLdb

若是没有安装会出现下面的错误:web

ImportError: No module named MySQLdb

安装MySQLdb ,分不一样的平台,在windows下,在链接https://pypi.python.org/pypi/MySQL-python/1.2.5 下载MySQL-python-1.2.5.win32-py2.7.exe 进行安装,安装的过程跟普通的软件并无什么区别。sql

centos下使用命令进行安装:数据库

sudo yum install MySQL-python

安装完成后,在进行import MySQLdb 就不会再报错了。编程

链接mysql,并进行增删改查

一般在进行数据库操做时,程序使用的是以下的过程:windows

  • 链接数据库,返回链接句柄centos

  • 使用链接句柄进行SQL语句的操做svg

  • 关闭数据库链接函数

以下的代码更加能过看清这个过程:

#!/usr/bin/python
#coding=utf-8

"""
start python 项目
"""


import MySQLdb

conn= MySQLdb.connect(
        host='localhost',
        port = 3306,
        user='root',
        passwd='123456',
        db ='test',
        )
cur = conn.cursor()



#执行sql语句
cur.execute("insert into bugingcode values('阿猫学编程')")
conn.commit()

#返回数据
cur.execute("select * from bugingcode")
datacur = cur.fetchall()
print datacur


#关闭链接
cur.close()
conn.close()

MySQLdb中经常使用函数

  • MySQLdb 链接数据库:

    1. conn= MySQLdb.connect #链接数据库
    2. cur = conn.cursor() #返回当前句柄
    3. commit() #提交
    4. rollback() #回滚
  • cursor执行sql语句的方法:

    1. execute(self, query, args): 执行单条sql语句,接收的参数为sql语句自己和使用的参数列表,返回值为受影响的行数

    2. callproc(self, procname, args) :用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数

    3. executemany(self, query, args): 执行单挑sql语句,可是重复执行参数列表里的参数,返回值为受影响的行数

    4. nextset(self) 移动到下一个结果集

  • cursor用来接收返回值的方法:

    1. fetchall(self): 接收所有的返回结果行.

    2. fetchmany(self, size=None) :接收size条返回结果行.若是size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.

    3. fetchone(self): 返回一条结果行.

    4. rowcount 这是一个只读属性,并返回执行execute() 方法后影响的行数。

    5. scroll(self, value, mode=’relative’) :移动指针到某一行; 若是mode=’relative’,则表示从当前所在行移动value条,若是 mode=’absolute’,则表示从结果集的第一行移动value条.

  • 关闭链接

关闭当前句柄:

cur.close()

关闭当前链接:

conn.close()

进一步封装

MySQLdb 的封装,在网上有不少封装类,能够选择一个或者根据本身的需求,写一个适合本身的链接库。

更多教程:阿猫学编程