python学习笔记6--操作Mysql

一、mysql操作

import pymysql

#连上mysql ip 端口号 密码 账号 数据库
#建立游标
#执行sql
#获取结果
#关闭连接、关闭游标

conn=pymysql.connect(host='211.149.218.16',user='jxz',passwd='123456',
                port=3306,db='jxz',charset='utf8')  #port 不要加引号


cur=conn.cursor()#建立游标,游标你就认为是仓库管理员
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)#需要指定游标的类型,字典类型,返回的结果就是字典类型
                                                #不指定返回的是tuple
cur.execute('select *from bt_stu limit 5;')
res=cur.fetchall()  #获取返回结果 是一个二维list
res=cur.fetchone() #只获取一条结果 是一个一维list
print(res)
print('fetchall',cur.fetchall())  #游标已到第二行,返回后,游标到最后
cur.scroll(0,mode='absolute')  #absolute 到最前面
cur.scroll(-1,mode='relative')#移动游标,相对于当前位置
cur.close()#关闭游标
conn.close()#关闭连接


#插入
sql="INSERT INTO 'bt_stu' ( 'real_name', 'sex', 'phone', 'class', 'type') VALUES ('suki', '1', '18612341231', '靠山屯','1');"
cur.execute(sql)
conn.commit() #修改数据需要提交

二、mysql封装

import pymysql
def op_mysql(host,user,passwd,db,sql,port=3306,charset='utf8'):
    conn=pymysql.connect(host=host,user=user,
                         passwd=passwd,
                         port=port,db=db,
                         charset=charset)
    cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
    #'select update delete insert'
    cur.execute(sql) #执行sql
    sql_start=sql[:6].upper() #取sql 首个单词(select),转化成大写
    if sql_start=='SELECT':#要是select返回查询结果
        res=cur.fetchall()
    else:
        conn.commit()
        res='Ok'
    cur.close()
    conn.close()
    return res  
posted @ 2018-04-26 14:03  可可的私房菜  阅读(166)  评论(0编辑  收藏  举报