python操作Mysql实例

发布时间:2019-08-13 07:35:02编辑:auto阅读(1072)

    本文介绍了Python操作mysql,执行SQL语句,获取结果集,遍历结果集,取得某个字段,获取表字段名,将图片插入数据库,执行事务等各种代码实例和详细介绍。

    实例1、获取MYSQL的版本

    #!/usr/bin/env python  
    import MySQLdb as mdb  
    try:  
        con=mdb.connect('localhost','root','123','test') #连接mysql的方法 
        cur=con.cursor() #所有的查询,都在连接con的一个模块cursor上面运行的 
        cur.execute('SELECT VERSION()') #执行一个查询 
        data = cur.fetchone() #取得上面查询的结果,是单个结果 
        cur.close() #关闭 
        print "Database version:%s" %data  
        con.close()  
    except mdb.Error:  
         print "Mysql Error %d: %s" % (e.args[0], e.args[1])

    实例2、创建一个表并且插入输入

    #!/usr/bin/env python

    import MySQLdb as mdb

    try:

        con=mdb.connect('localhost','root','123','test')

        cur=con.cursor()

        cur.execute("CREATE TABLE IF NOT EXISTS Writers(Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))")

        cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")

        cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")

        cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")

        cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")

        cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")

    except mdb.Error:

         print "Mysql Error %d: %s" % (e.args[0], e.args[1])


    运行结果,登陆数据库进行查看

    mysql> select * from Writers;

    +----+-------------------+

    | Id | Name |

    +----+-------------------+

    | 1 | Jack London |

    | 2 | Honore de Balzac |

    | 3 | Lion Feuchtwanger |

    | 4 | Emile Zola |

    | 5 | Truman Capote |

    +----+-------------------+


    实例3、python使用select获取mysql的数据并遍历

    #!/usr/bin/env python

    import MySQLdb as mdb

    try:

        con=mdb.connect('localhost','root','123','test')

        cur=con.cursor()

        cur.execute("SELECT * FROM Writers")

        rows = cur.fetchall() #使用fetchall函数,将结果集(多维元组)存入rows里面

        for row in rows: #依次遍历结果集,发现每个元素,就是表中的一条记录,用一个元组来显示

            print row

    except mdb.Error:

         print "Mysql Error %d: %s" % (e.args[0], e.args[1])


    运行结果

    (1L, 'Jack London')

    (2L, 'Honore de Balzac')

    (3L, 'Lion Feuchtwanger')

    (4L, 'Emile Zola')

    (5L, 'Truman Capote')

    上面的代码,用来将所有的结果取出,不过打印的时候是每行一个元组打印,现在我们使用方法,取出其中的单个数据。

    #!/usr/bin/env python

    import MySQLdb as mdb

    try:

        con=mdb.connect('localhost','root','123','test')

        cur=con.cursor()

        cur.execute("SELECT * FROM Writers")

        numrows = int(cur.rowcount) #使用cur.rowcount获取结果集的条数

        for i in range(numrows): #循环numbrows次,每次取出一行数据

            row = cur.fetchone() #每次取出一行,放到row中,这是一个元组(id,name)

            print row[0],row[1] #直接输出两个元素

    except mdb.Error:

         print "Mysql Error %d: %s" % (e.args[0], e.args[1]


    运行结果

    1 Jack London

    2 Honore de Balzac

    3 Lion Feuchtwanger

    4 Emile Zola

    5 Truman Capote


关键字

上一篇: Python代理设置

下一篇: python中For循环