首页 > 代码库 > mysql基础(五)之pymysql
mysql基础(五)之pymysql
pymysql模块:
pip3 install pymysql -i https://pypi.douban.com/simple
Python模块:对数据库进行操作(SQL语句)
1. Python实现用户登录
2. MySQL保存数据
- 连接、关闭(游标)
- execute() -- SQL注入
- 增删改: conn.commit() 可以返回受影响的行数
- fetchone fetchall
- 获取插入数据自增ID
-scroll 移动游标位置
1 #实现增删改 2 3 import pymysql 4 conn = pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘123‘,database=‘db1‘) 5 cursor=conn.cursor() 6 7 sql="insert into userinfo4(username,password) values(‘root‘,‘123123‘)" 8 r = cursor.execute(sql) # 返回受影响的行数 9 10 sql = "insert into userinfo(username,password) values(%s,%s)"11 r = cursor.executemany(sql,[(‘egon‘,‘sb‘),(‘laoyao‘,‘BS‘)])12 13 conn.commit() # 增删改操作必须进行提交14 print(r)15 cursor.close()16 conn.close()17 18 19 # 查20 import pymysql21 conn = pymysql.connect(host="localhost",user=‘root‘,password=‘123‘,database="db1")22 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)23 sql = "select * from userinfo4"24 cursor.execute(sql)25 26 cursor.scroll(1,mode=‘relative‘) # 相对当前位置移动27 cursor.scroll(2,mode=‘absolute‘) # 相对绝对位置移动28 result = cursor.fetchone() #获取一行29 print(result)30 31 result = cursor.fetchall() #获取全部32 print(result)33 34 result = cursor.fetchmany(2) #获取指定行数 一般不用,而在sql语句中限定行数35 print(result)36 cursor.close()37 conn.close()38 39 40 #获取新插入数据的自增id cursor.lastrowid41 # 当为一张表插入一行数据时,并不知道它的自增id是多少,那么在对他的相关联的表(外键)进行插入操作时可以使用lastrowid查看id42 import pymysql43 44 conn = pymysql.connect(host="localhost",user=‘root‘,password=‘123‘,database="db1")45 cursor = conn.cursor()46 sql = "insert into userinfo4(username,password) values(‘asdfasdf‘,‘123123‘)"47 cursor.execute(sql)48 conn.commit()49 print(cursor.lastrowid)50 cursor.close()51 conn.close()
sql注入:
1 import pymysql 2 name= input(‘用户名‘) 3 passwd=input(‘密码‘) 4 conn =pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘123‘,database=‘db1‘,charset=‘utf8‘) 5 cursor=conn.cursor() 6 7 cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #设置返回的数据的格式为字典 8 9 10 sql=‘select * from userinfo4 where username="%s" and password="%s"‘%(name,passwd)11 12 #sql=‘select * from userinfo4 where username="alex" -- " and password="%s"‘%(name,passwd)13 14 cursor.execute(sql)15 result =cursor.fetchone()16 17 cursor.close()18 conn.close()19 20 if result:21 print(‘yes!‘)22 else:23 print(‘no‘)
Navicat(客户端)
创建表
新建查询
转储sql文件
数据备份:
备份数据和表结构
mysqldump -u root db1 > db1.sql -p 当前目录下
备份表结构
mysqldump -u root -d db1 > db1.sql -p
导入数据库:
create databases db5;
mysql -u root -d db5 < db1.sql -p
mysql基础(五)之pymysql
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。