1.首先连接MySQL
mydb = pymysql.connect(
host="localhost",
user="root",
passwd="passwd",
db="runoob_db")
db打开runoob_db这个表
2.创建游标
游标是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果,先要打开游标,操作结束之后需要关闭游标,和先连接MySQL结束时关闭MySQL一样。
cursor = mydb.cursor()
3.打开游标之后,我们需要写sql语句,然后用execute()方法执行写的sql语句。
sql = "select * from test"
cursor.execute(sql)
或者直接在execute()中写sql语句。
cursor.execute('select * from test')
4.提交到数据库中执行commit()方法。
mydb.commit()
5.可以输出查询到的数据。
print(cursor)
for i in cursor:
print(i)
6.关闭游标,关闭数据库连接。
cursor.close()
mydb.close()
7.用with方法写了一个源码。
import pymysql
class DB():
def __init__(self,host='localhost',port=3306,db='',user='root',passwd='root',charset='utf8'):
#建立连接
self.conn = pymysql.connect(host=host,port=port,db=db,user=user,passwd=passwd,charset=charset)
#创建游标 操作设置为字典类型
self.cur = self.conn.cursor(cursor = pymysql.cursors.DictCursor)
def __enter__(self):
return self.cur
def __exit__(self,exc_type,exc_val,exc_tb):
#提交数据库并执行
self.conn.commit()
#关闭游标
self.cur.close()
#关闭数据库
self.conn.close()
if __name__ == '__main__':
with DB(host='localhost',db='runoob_db',user='root',passwd='wk13305653731') as db:
db.execute('select * from test')
print(db)
for i in db:
print(i)