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()

 

posted @ 2016-12-04 14:57  七月的尾巴_葵花  阅读(470)  评论(0编辑  收藏  举报