环境
Python2.7+MySQL+eclipse
用Python操作数据库首先要引入MySQLdb模块
什么是MySQLdb?
MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。
如何安装MySQLdb?
安装MySQLdb,请访问 http://sourceforge.net/projects/mysql-python,(Linux平台可以访问:https://pypi.python.org/pypi/MySQL-python))从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。
数据库连接
示例:
连接数据库前,请先确认以下事项:
- 已经创建了数据库 test.
- testB数据库中已经创建了表 test1
- test1表字段为 id,name,password。
- 连接数据库test使用的用户名为 “root” ,密码为 “root”,(可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令)。
- 机子上已经安装了 Python MySQLdb 模块
1. 打开数据库连接
#coding=utf-8
import MySQLdb
#连接数据库 参数 1.ip 2.user 3.password 4.数据库名 5.编码格式
db=MySQLdb.connect("localhost","root","root","test",charset='utf8')
2.使用cursor()方法获取操作游标
# 使用cursor()方法获取操作游标
cursor = db.cursor()
3.使用execute方法执行SQL语句
# sql 语句
sql=".....要执行的sql语句" #sql语句
#执行sql
cursor.execute(sql)
4.事务控制
#提交到数据库执行
db.commit()
#回滚
db.rollback()
5.关闭数据库连接
# 关闭数据库连接
db.close()
整体代码(增删改查)
#coding=utf-8
import MySQLdb
#连接数据库 参数 1.ip 2.user 3.password 4.数据库名 5.编码格式
db=MySQLdb.connect("localhost","root","root","test",charset='utf8')
cursor=db.cursor()
# sql 语句
sql1="insert into test1 values('2','李四','456')" #数据库插入操作
sql2="update test1 set password='789' where id='2'" #数据库修改操作
sql3="delete from test1 where id='1'" #数据库删除操作
sql4="select id,name,password from test1" #数据库查询操作
try:
#执行sql
cursor.execute(sql1) #增
cursor.execute(sql2) #改
cursor.execute(sql3) #删
cursor.execute(sql4) #查
#提交到数据库执行
db.commit()
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
id=row[0]
name=row[1]
password=row[2]
print "id=%s,name=%s,password=%s"%(id,name,password)
except:
#发生错误时回滚
db.rollback()
print '操作失败'
#关闭数据库
db.close()