热门IT资讯网

python连接mysql方法简析

发表于:2024-11-28 作者:热门IT资讯网编辑
编辑最后更新 2024年11月28日,下文主要给大家带来python连接mysql方法简析,希望python连接mysql方法简析能够带给大家实际用处,这也是我编辑这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。(1) 什么是My

下文主要给大家带来python连接mysql方法简析,希望python连接mysql方法简析能够带给大家实际用处,这也是我编辑这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

(1) 什么是MySQLdb?

MySQLdb是用于Python连接MySQL数据库的接口,它实现了Python数据库API规范 V2.0,基于MySQL C API 上建立的。

(2) 源码安装 MySQLdb: https://pypi.python.org/pypi/MySQL-python

$ tar zxvf MySQL-python-*.tar.gz$ cd MySQL-python-*$ python setup.py build$ python setup.py install

(3) MySQLdb 的使用:

#!/usr/bin/env python# coding=utf-8import MySQLdbdef connectdb():    print('连接到mysql云服务器...')    # 打开数据库连接    # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,    并在TESTDB数据库中创建好表Student    db = MySQLdb.connect("localhost","hp","Hp12345.","TESTDB")    print('连接上了!')    return dbdef createtable(db):    # 使用cursor()方法获取操作游标     cursor = db.cursor()    # 如果存在表Sutdent先删除    cursor.execute("DROP TABLE IF EXISTS Student")    sql = """CREATE TABLE Student (            ID CHAR(10) NOT NULL,            Name CHAR(8),            Grade INT )"""    # 创建Sutdent表    cursor.execute(sql)def insertdb(db):    # 使用cursor()方法获取操作游标     cursor = db.cursor()    # SQL 插入语句    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)"""    #sql = "INSERT INTO Student(ID, Name, Grade) \    #    VALUES ('%s', '%s', '%d')" % \    #    ('001', 'HP', 60)    try:        # 执行sql语句        cursor.execute(sql)        # 提交到数据库执行        db.commit()    except:        # Rollback in case there is any error        print '插入数据失败!'        db.rollback()def querydb(db):    # 使用cursor()方法获取操作游标     cursor = db.cursor()    # SQL 查询语句    #sql = "SELECT * FROM Student \    #    WHERE Grade > '%d'" % (80)    sql = "SELECT * FROM Student"    try:        # 执行SQL语句        cursor.execute(sql)        # 获取所有记录列表        results = cursor.fetchall()        for row in results:            ID = row[0]            Name = row[1]            Grade = row[2]            # 打印结果            print "ID: %s, Name: %s, Grade: %d" % \                (ID, Name, Grade)    except:        print "Error: unable to fecth data"def deletedb(db):    # 使用cursor()方法获取操作游标     cursor = db.cursor()    # SQL 删除语句    sql = "DELETE FROM Student WHERE Grade = '%d'" % (100)    try:       # 执行SQL语句       cursor.execute(sql)       # 提交修改       db.commit()    except:        print '删除数据失败!'        # 发生错误时回滚        db.rollback()def updatedb(db):    # 使用cursor()方法获取操作游标     cursor = db.cursor()    # SQL 更新语句    sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003')    try:        # 执行SQL语句        cursor.execute(sql)        # 提交到数据库执行        db.commit()    except:        print '更新数据失败!'        # 发生错误时回滚        db.rollback()def closedb(db):    db.close()def main():    db = connectdb()    # 连接MySQL数据库    createtable(db)     # 创建表    insertdb(db)        # 插入数据    print '\n插入数据后:'    querydb(db)     deletedb(db)        # 删除数据    print '\n删除数据后:'    querydb(db)    updatedb(db)        # 更新数据    print '\n更新数据后:'    querydb(db)    closedb(db)         # 关闭数据库if __name__ == '__main__':    main()

对于以上关于python连接mysql方法简析,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。


0