码迷,mamicode.com
首页 > 数据库 > 详细

python 连接mysql

时间:2018-01-26 17:07:24      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:失败   nec   __name__   存在   回滚   for   update   post   l数据库   

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

import MySQLdb

def connectdb():
print(‘连接到mysql服务器...‘)
# 打开数据库连接
# 用户名:root, 密码:root.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TEST,并在TEST数据库中创建好表Student
db = MySQLdb.connect("localhost","root","root","test")
print(‘连接上了!‘)
return db

#删除表
def dropteble(db,sql):
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 如果存在表Sutdent先删除
cursor.execute(sql)

#创建表
def createtable(db,sql):
# 使用cursor()方法获取操作游标
cursor = db.cursor()
cursor.execute(sql)

#插入数据
def insertdb(db,sql):
# 使用cursor()方法获取操作游标
cursor = db.cursor()

try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
print ‘插入数据成功!‘
except:
# Rollback in case there is any error
print ‘插入数据失败!‘
db.rollback()

#查询
def querydb(db,sql):
# 使用cursor()方法获取操作游标
cursor = db.cursor()
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
print row
except:
print "Error: unable to fecth data"

#删除
def deletedb(db,sql):
# 使用cursor()方法获取操作游标
cursor = db.cursor()
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
print ‘删除数据成功!‘
except:
print ‘删除数据失败!‘
# 发生错误时回滚
db.rollback()

#修改
def updatedb(db,sql):
# 使用cursor()方法获取操作游标
cursor = db.cursor()
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
print ‘修改数据成功!‘
except:
print ‘更新数据失败!‘
# 发生错误时回滚
db.rollback()

#关闭资源
def closedb(db):
db.close()



def main():
dropteble_sql=‘DROP TABLE IF EXISTS Student‘

createtable_sql="""CREATE TABLE Student (
ID CHAR(10) NOT NULL,
Name CHAR(8),
Grade INT )"""

insertdb_sql="""INSERT INTO Student
VALUES (‘001‘, ‘CZQ‘, 70),
(‘002‘, ‘LHQ‘, 80),
(‘003‘, ‘MQ‘, 90),
(‘004‘, ‘WH‘, 80),
(‘005‘, ‘HP‘, 70),
(‘006‘, ‘YF‘, 66),
(‘007‘, ‘TEST‘, 100)"""

querydb_sql="SELECT * FROM Student"
deletedb_sql="DELETE FROM Student WHERE Grade = ‘%d‘" % (100)
updatedb_sql="UPDATE Student SET Grade = Grade + 3 WHERE ID = ‘%s‘" % (‘003‘)

db = connectdb() # 连接MySQL数据库
dropteble(db,dropteble_sql) #删除表
createtable(db,createtable_sql) # 创建表
insertdb(db,insertdb_sql) # 插入数据
print ‘\n插入数据后:‘
querydb(db,querydb_sql)
deletedb(db,deletedb_sql) # 删除数据
print ‘\n删除数据后:‘
querydb(db,querydb_sql)
updatedb(db,updatedb_sql) # 更新数据
print ‘\n更新数据后:‘
querydb(db,querydb_sql)

closedb(db) # 关闭数据库


if __name__ == ‘__main__‘:
main()

python 连接mysql

标签:失败   nec   __name__   存在   回滚   for   update   post   l数据库   

原文地址:https://www.cnblogs.com/Jerry1104/p/8359923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!