python操作数据库

步骤:

a)     导入mysql模块: import pymysql

b)     新建连接:conn = pymysql.connect(host='192.168.1.40',user='mysql',password='123456',port=3306,db='musql',charset='utf8',autocommit=True) #autocommit自动提交,注意没有添加自动提交时,后面代码要再写一下提交conn.commit()#必须提交一下才可以再库里看到

c)     创建游标,类似于仓库管理员,帮拿东西:cur =conn.cursor()#建立游标,类似仓库管理员,管理员来拿东西给你

d)     写sql: sql = 'select * from bd_myuser;'

e)     执行sql: res = cur.execute(sql)#l执行sql,只是执行sql,并不会返回结果数据

f)      获取返回结果:print(cur.fetchall())#获取所有返回结果数据,print(cur.fetchone())#只取一条数据时返回

g)     关闭游标:cur.close()#关掉游标

h)     关闭连接:conn.close()#关闭连接

import pymysql   #pymysql属于第三方模块,需要提前安装

conn=pymysql.connect(host='192.168.1.40',user='mysql',
                password='123456',port=3306,
                db='mysql',charset='utf8',autocommit=True)
#autocommit=True 自动提交,不用再写commit
cur=conn.cursor(pymysql.cursors.DictCursor) #建立游标--如仓库管理员角色  ()里加的游标类型会让返回数据变成字典显示

sql='select * from db_myuser;'  #查看数据库中的db_myuser表
res=cur.execute(sql) #只是执行sql,并不会返回具体数据
print(res) #返回共有几条数据:82  
print(cur.fetchall()) #查看执行sql后获取的数据,表中的所有数据
print(cur.fetchone()) #只取一条数据
 sql='insert into app_myuser (username,passwd,is_admin) values("test202","234234",1);' #插入一条数据 res=cur.execute(sql) #只是执行sql,并不会返回具体数据 conn.commit() 

#增删改(upadte insert delete)操作需要commit,不然不会存入数据库里,可用autocommit取代 cur.close()#关闭游标 conn.close()#关闭连接
#定义一个函数,进行数据库操作
def my_db(host,user,passwd,db,sql,port=3306,charset='utf8',autocommit=True): conn = pymysql.connect(host=host,user=user,password=passwd, db=db,port=port,charset=charset,autocommit=autocommit) cur = conn.cursor() cur.execute(sql) res = cur.fetchall()#拿到所有数据后,下面的fetchone将拿不到数据
res1 =cur.fetchone() cur.close() conn.close()
return res DB=my_db(host='192.168.1.40',user='mysql',sql='select * from db_myuser;', passwd='123456',port=3306, db='mysql',charset='utf8',autocommit=True) print(DB)

 

posted @ 2018-12-10 17:06  blueteer  阅读(182)  评论(0编辑  收藏  举报