python操作MySQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python操作MySQL相关的知识,希望对你有一定的参考价值。

#coding=utf-8
 
import MySQLdb
 
conn = MySQLdb.connect(host=localhost,user=root,passwd=123456,charset=utf8)
cursor = conn.cursor()
try:
    #创建数据库
    DB_NAME = test
    cursor.execute(DROP DATABASE IF EXISTS %s %DB_NAME)
    cursor.execute(CREATE DATABASE IF NOT EXISTS %s %DB_NAME)
    conn.select_db(DB_NAME)
 
    #创建表
    TABLE_NAME = t_user
    cursor.execute(CREATE TABLE %s(id int primary key,name varchar(30)) %TABLE_NAME)
 
    #插入单条数据
    value = [1,alexzhou1]
    cursor.execute(INSERT INTO t_user values(%s,%s),value)
 
    #批量插入数据
    values = []
    for i in range(2,10):
        values.append((i,alexzhou%s %(str(i))))
    cursor.executemany(INSERT INTO t_user values(%s,%s),values)
 
    #查询记录数量
    count = cursor.execute(SELECT * FROM %s %TABLE_NAME)
    print total records: %d,count
 
    #查询一条记录
    print fetch one record:
    result = cursor.fetchone()
    print result
    print id: %s,name: %s %(result[0],result[1])
 
    #查询多条记录
    print fetch five record:
    results = cursor.fetchmany(5)
    for r in results:
        print r
 
    #查询所有记录
    #重置游标位置,偏移量:大于0向后移动;小于0向前移动,mode默认是relative
    #relative:表示从当前所在的行开始移动,absolute:表示从第一行开始移动
    cursor.scroll(0,mode=absolute)
    results = cursor.fetchall()
    for r in results:
        print r
 
    cursor.scroll(-2)
    results = cursor.fetchall()
    for r in results:
        print r
 
    #更新记录
    cursor.execute(UPDATE %s SET name = "%s" WHERE id = %s %(TABLE_NAME,zhoujianghai,1))
    #删除记录
    cursor.execute(DELETE FROM %s WHERE id = %s %(TABLE_NAME,2))
 
    #必须提交,否则不会插入数据
    conn.commit()
except:
    import traceback
    traceback.print_exc()
    conn.rollback()
finally:
    cursor.close()
    conn.close()

 

以上是关于python操作MySQL的主要内容,如果未能解决你的问题,请参考以下文章

部分代码片段

Python操作Mysql实例代码教程在线版(查询手册)_python

常用python日期日志获取内容循环的代码片段

linux中怎么查看mysql数据库版本

python 有用的Python代码片段

Python 向 Postman 请求代码片段