步骤:
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)