Python 操作mysql
1.利用pip3安装pymysql模块
pip3 install pymysql 需要将pip3所在路径添加到环境变量中
2.操作mysql
更新
1 #__author: Lobin 2 #__date: 2018/1/30 3 import pymysql 4 conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='student',charset='utf8') 5 cursor=conn.cursor() 6 r=cursor.execute("update student set name='贾如祥'") 7 conn.commit() 8 cursor.close() 9 conn.close()
删除
1 #__author: Lobin 2 #__date: 2018/1/30 3 import pymysql 4 conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='student',charset='utf8') 5 cursor=conn.cursor() 6 r=cursor.execute("delete from student ") 7 conn.commit() 8 cursor.close() 9 conn.close()
增加单条 execute
1 #__author: Lobin 2 #__date: 2018/1/30 3 import pymysql 4 conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='student',charset='utf8') 5 cursor=conn.cursor() 6 r=cursor.execute("insert into student(id,name,gender) values(1,'耿艳春','男') ") 7 conn.commit() 8 cursor.close() 9 conn.close()
增加多条 executemany
1 #__author: Lobin 2 #__date: 2018/1/30 3 import pymysql 4 conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='student',charset='utf8') 5 cursor=conn.cursor() 6 r=cursor.executemany("insert into student(id,name,gender) values(%s,%s,%s)",[(3,'黄少波','男'),(4,'王腾飞','男')]) 7 conn.commit() 8 cursor.close() 9 conn.close()
当选择插入数据时,禁止使用拼接字符串的方式,推荐使用传递参数的方式
查询
1 #__author: Lobin 2 #__date: 2018/1/30 3 import pymysql 4 conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='student',charset='utf8') 5 cursor=conn.cursor() 6 r=cursor.execute('select * from student') 7 print(r) 8 result=cursor.fetchall() 9 print(result) 10 cursor.close() 11 conn.close() 12 #4 13 #((1, '耿艳春', '男'), (2, '耿艳春2', '男2'), (3, '黄少波', '男'), (4, '王腾飞', '男'))
选择fetchall函数时,取所有数据;fetchone函数时,取前一条数据;fetchmany(n)函数时,取前n条数据,默认取出来的数据为“元组”类型。
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置
- cursor.scroll(1,mode='relative') # 相对当前位置移动
- cursor.scroll(2,mode='absolute') # 相对绝对位置移动
3.SQL注入
字符串拼接
4.设置查询出来的数据为“字典”类型
# 游标设置为字典类型
1 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
1 #__author: Lobin 2 #__date: 2018/1/30 3 import pymysql 4 conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='student',charset='utf8') 5 cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) 6 r=cursor.execute('select * from student') 7 print(r) 8 result=cursor.fetchmany(2) 9 print(result) 10 cursor.close() 11 conn.close() 12 13 #4 14 #[{'id': 1, 'name': '耿艳春', 'gender': '男'}, {'id': 2, 'name': '耿艳春2', 'gender': '男2'}]
5.获取最新自增ID
1 new_id = cursor.lastrowid
浙公网安备 33010602011771号