首页 > 后端开发 > Python教程 > python怎么连接mysql

python怎么连接mysql

爱喝马黛茶的安东尼
发布: 2019-06-25 15:28:10
原创
2767 人浏览过

python怎么连接mysql

python怎么连接mysql?下面给大家具体介绍MySQLdb的使用方法:

(1) 什么是MySQLdb?

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

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

1

2

3

4

$ tar zxvf MySQL-python-*.tar.gz

$ cd MySQL-python-*

$ python setup.py build

$ python setup.py install

登录后复制

相关推荐:《Python视频教程

(3) MySQLdb 的使用:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

#!/usr/bin/env python

# coding=utf-8

import MySQLdb

def connectdb():

    print('连接到mysql服务器...')

    # 打开数据库连接

    # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,

    并在TESTDB数据库中创建好表Student

    db = MySQLdb.connect("localhost","hp","Hp12345.","TESTDB")

    print('连接上了!')

    return db

def 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的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板