
点击蓝字,关注我

pip install pymysql或者通过PyCharm后台操作

# 语法示例import pymysqldb = pymysql.connect(host='localhost',user='root',password="123456",database='school',port=3306,charset="utf8")

import pymysql# 打开数据库连接db = pymysql.connect(host="localhost", user="root", password="123456", database="school")# 使用cursor()方法创建一个游标对象cursorcursor = db.cursor()# 撰写SQL语句sql = "select * from student"# 执行SQL语句cursor.execute(sql)# 获取数据results = cursor.fetchall()# 打印结果print(results)# 关闭数据库连接db.close()
游标的概念
游标的设计是一种数据缓冲区的思想,用来存放SQL语句执行的结果。游标是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
尽管游标能遍历结果中的所有行,但一次只指向一行。
游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作。
执行SQL代码
遍历获取查询结果

增加表
import pymysql# 打开数据库连接db = pymysql.connect(host="localhost", user="root", password="123456", database="school")# 使用cursor()方法创建一个游标对象cursorcursor = db.cursor()# 使用预处理语句创建表sql = "create table ceshi (id int primary key, name char(8), age int)"# 执行SQL语句cursor.execute(sql)# 关闭数据库连接db.close()
增加数据
import pymysql# 打开数据库连接db = pymysql.connect(host="localhost", user="root", password="123456", database="school")# 使用cursor()方法获取操作游标cursor = db.cursor()# SQL插入语句sql = "insert into ceshi values(1, 'Toiny', 25)"try:cursor.execute(sql) # 执行SQL语句db.commit() # 提交到数据库执行except:db.rollback() # 如果发生错误则回滚# 关闭数据库连接db.close()
知识点:
支持事务的储存引擎,MySQL8.0默认是innodb。
commit() 提交事务。
记录的增删改操作需要提交事务,其他不需要。
rollbak() 回退事务,当事务执行到一半报错时整个事务操作都会回退。

import pymysql# 打开数据库连接db = pymysql.connect(host="localhost", user="root", password="123456", database="school")# 使用cursor()方法获取操作游标cursor = db.cursor()# SQL删除语句sql = "delete from ceshi where age >= 20"try:cursor.execute(sql) # 执行SQL语句db.commit() # 提交到数据库执行except:db.rollback() # 如果发生错误则回滚# 关闭数据库连接db.close()

import pymysql# 打开数据库连接db = pymysql.connect(host="localhost", user="root", password="123456", database="school")# 使用cursor()方法获取操作游标cursor = db.cursor()# SQL更新语句sql = "update ceshi set age = 25 where age = 22"sql1 = "select * from ceshi"try:cursor.execute(sql) # 执行SQL语句cursor.execute(sql1) # 执行SQL语句db.commit() # 提交到数据库执行except:db.rollback() # 如果发生错误则回滚# 打印数据print(cursor.fetchall())# 关闭数据库连接db.close()

import pymysql# 打开数据库连接db = pymysql.connect(host="localhost", user="root", password="123456", database="school")# 使用cursor()方法创建一个游标对象cursorcursor = db.cursor()# SQL查询语句sql = "select * from student"try:cursor.execute(sql) # 执行SQL语句# results = cursor.fetchone() # 逐条获取数据results1 = cursor.fetchall() # 获取全部数据for row in results1:name = row[3]sex = row[1]print("name=%s,sex=%s" % (name, sex))except:print("Error: unable to fetch data")# 关闭数据库连接db.close()
知识点:
fetchone():该方法获取下一个查询结果集。结果集是一个对象。
fetchall():接受全部的返回结果行。
rowcount:这是一个只读属性,并返回执行execute()方法后影响的行数。

分享、在看与点赞
只要你点,我们就是胖友

文章转载自Linux技术宅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




