pymysql是外部模块需引入
连接mysql数据库中的某个库
import pymysql #导入pymysql模块
db=pymysql.connect(host='127.0.0.1',user='root',password='123',database='class')
# 获取库 .connect 建立连接 host=数据库ip user=用户名 password=密码 database=数据库
创建表
import pymysql #导入pymysql模块
db=pymysql.connect(host='127.0.0.1',user='root',password='123',database='class')
# 获取库 .connect 建立连接 host=数据库ip user=用户名 password=密码 database=数据库
cur=db.cursor()
# 使用cursor()方法获取 操作游标
# 游标:游标的设计是一种数据缓冲区的思想,用来存放sql语句执行结果。
# 游标是在先从数据表中检索除数据之后才能继续灵活操作的技术。类似于指针,指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个。
cur.execute('drop table if exists employee')
# 使用execute()方法执行sql语句 删除表employee 如果它存在
sql=input('>>>')
# 写入创建表的sql语句
cur.execute(sql)
# 使用execute()方法执行sql语句
db.close()
# 关闭数据库连接
修改(增/删/改)表中数据
import pymysql #导入pymysql模块
db=pymysql.connect(host='127.0.0.1',user='root',password='123',database='class')
# 获取库 .connect 建立连接 host=数据库ip user=用户名 password=密码 database=数据库
cur=db.cursor(cursor=pymysql.cursors.DictCursor)
# 使用cursor()方法获取 操作游标
# cursor=pymysql.cursors.DictCursor 是将获取信息以字典形式存储
# 游标:游标的设计是一种数据缓冲区的思想,用来存放sql语句执行结果。
# 游标是在先从数据表中检索除数据之后才能继续灵活操作的技术。类似于指针,指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个。
sql=input('>>>')
# 写入sql语句
try:
cur.execute(sql)
# 执行sql语句并存在于游标
db.commit()
# 提交到数据库执行
except:
db.rollback()
# 若发生错误则回滚
db.close()
# 关闭数据库连接
查询表中数据
获取所有 fetchall( ) ps:(因占用内存 故不常用)
import pymysql #导入pymysql模块
db=pymysql.connect(host='127.0.0.1',user='root',password='123',database='class')
# 获取库 .connect 建立连接 host=数据库ip user=用户名 password=密码 database=数据库
cur=db.cursor(cursor=pymysql.cursors.DictCursor)
# 使用cursor()方法获取 操作游标
# 游标:游标的设计是一种数据缓冲区的思想,用来存放sql语句执行结果。
# 游标是在先从数据表中检索除数据之后才能继续灵活操作的技术。类似于指针,指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个。
sql=input('>>>')
# 写入创建表的sql语句
try:
cur.execute(sql)
# 执行sql语句并存在于游标
results=cur.fetchall()
# 获取所有的记录列表
for row in results:
nid=row[0]
age=row[1]
sex=row[2]
print(f'id={nid},age={age},sex={sex}')
except:
print('Error:unable to fetch data')
db.close()
# 关闭数据库连接
获取下一条信息 fetchone( )
import pymysql #导入pymysql模块
db=pymysql.connect(host='127.0.0.1',user='root',password='123',database='class')
# 获取库 .connect 建立连接 host=数据库ip user=用户名 password=密码 database=数据库
cur=db.cursor(cursor=pymysql.cursors.DictCursor)
# 使用cursor()方法获取 操作游标
# 游标:游标的设计是一种数据缓冲区的思想,用来存放sql语句执行结果。
# 游标是在先从数据表中检索除数据之后才能继续灵活操作的技术。类似于指针,指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个。
sql=input('>>>')
# 写入创建表的sql语句
try:
cur.execute(sql)
# 执行sql语句并存在于游标
results=cur.fetchone()
# 获取一条记录
print(results)
except:
print('Error:unable to fetch data')
db.close()
# 关闭数据库连接
获取多条数据 fetchmany( ) ps:(常用于分页)
import pymysql #导入pymysql模块
db=pymysql.connect(host='127.0.0.1',user='root',password='123',database='class')
# 获取库 .connect 建立连接 host=数据库ip user=用户名 password=密码 database=数据库
cur=db.cursor(cursor=pymysql.cursors.DictCursor)
# 使用cursor()方法获取 操作游标
# 游标:游标的设计是一种数据缓冲区的思想,用来存放sql语句执行结果。
# 游标是在先从数据表中检索除数据之后才能继续灵活操作的技术。类似于指针,指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个。
sql=input('>>>')
# 写入创建表的sql语句
# cur.execute(sql)
# # 使用execute()方法执行sql语句
try:
cur.execute(sql)
# 执行sql语句并存在于游标
results=cur.fetchmany(int)
# 获取int条记录 超过数据总量无影响
print(results)
except:
print('Error:unable to fetch data')
db.close()
# 关闭数据库连接