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 

 

posted on 2018-01-31 00:17  可爱的春哥  阅读(112)  评论(0)    收藏  举报

导航