Python操作MySQL
在Python使用MySQL之前,先要保证已经下载好了MySQLclient(MySQLdb),确保Python已经有了MySQLdb模块。
下面以简单实例来学习:
# coding:utf-8
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "root", "forum", charset = "utf8")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("show tables")
# 使用fetchone获取一条数据
data = cursor.fetchone()
# 使用fetchall获取所有数据
datas = cursor.fetchall()
print ("table one : %s" % data)
print ("table all : " , datas)
# 关闭数据库
db.close()
下面再展示一下数据库的增删查改。
插入数据
# coding:utf-8
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "root", "forum", charset = "utf8")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO root(name,password)
values("python", "123456")"""
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库
db.commit()
except:
# 回滚
db.rollback()
# 关闭数据库
db.close()
注意:
-
三引号:Python允许一个字符串跨多行,可包含换行符,制表符等;同时三引号也可以作为注释
-
commit():修改数据的操作需要提交才能写入到数据库中。
删除数据
# coding:utf-8
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "root", "forum", charset = "utf8")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM ROOT WHERE id = %s" % (3)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库
db.commit()
except:
# 回滚
db.rollback()
# 关闭数据库
db.close()
查询数据
# coding:utf-8
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "root", "forum", charset = "utf8")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM root where id < %s" % (20)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
result = cursor.fetchall()
print ("dates : " ,result)
# 获取到每个字段
for row in result:
id = row[0]
username = row[1]
password = row[2]
print ("id: %s , username: %s, password: %s" % (id, username, password))
except:
print ("Error Query ...")
# 关闭数据库
db.close()
输出结果:
dates : ((1, 'root', 'root'), (2, 'python', '123456'))
id: 1 , username: root, password: root
id: 2 , username: python, password: 123456
修改数据
# coding:utf-8
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "root", "forum", charset = "utf8")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE root set password = %s where id = %s" % ("1234", 2)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库
db.commit()
except:
# 回滚
print ("Error Update ...")
db.rollback()
# 关闭数据库
db.close()