Python之pymysql数据库的简单使用
【摘要】1、准备数据库demo_tempcreatedatabasedemo_temp;2、连接数据库importpymysql cursors connect=pymysql connect( host=& 39;127 0 0 1& 39;
1、准备数据库demo_temp
create database demo_temp;
2、连接数据库
import pymysql.cursors
connect = pymysql.connect(
host='127.0.0.1',
user='root',
password='123',
db='demo_temp',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
3、创建表
import pymysql.cursors
# 连接数据库
connect = pymysql.connect(
host='127.0.0.1',
user='root',
password='123',
db='demo_temp',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
# 创建表users
with connect.cursor() as cursor:
sql = """
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT ,
user CHAR(30),
passwd CHAR(20))
"""
cursor.execute(sql)
connect.close()
相关推荐:《Python视频教程》
4、一个简单的增、删、改、查实例
import pymysql.cursors
# 连接数据库
connect = pymysql.connect(
host='127.0.0.1',
user='root',
password='123',
db='demo_temp',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
with connect.cursor() as cursor: # 创建游标
# 创建表
sql = """
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT ,
user CHAR(30),
passwd CHAR(20))
"""
cursor.execute(sql)
# 向表中插入数据
sql = """
INSERT INTO users (user,passwd) VALUES ('小明','123')
"""
cursor.execute(sql)
connect.commit() # 插入数据后必须更新
# 查询数据
sql = """
select * from users
"""
cursor.execute(sql)
ret = cursor.fetchone() # 提取查询数据
print(ret)
# 修改数据
sql = """
update users set user='葫芦娃' where id=1
"""
cursor.execute(sql)
# 再次查询数据
sql = """
select * from users
"""
cursor.execute(sql)
ret = cursor.fetchone() # 提取查询数据
print(ret)
connect.close() # 关闭数据库连接
打印内容如下
{'id': 1, 'user': '小明', 'passwd': '123'}
{'id': 1, 'user': '葫芦娃', 'passwd': '123'}
5、简单的事务
import pymysql.cursors
# 连接数据库
connect = pymysql.connect(
host='127.0.0.1',
user='root',
password='123',
db='demo_temp',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
try:
with connect.cursor() as cursor: # 创建游标
# 插入数据
sql = """
INSERT INTO users (user,passwd) VALUES ('11111','123')
"""
cursor.execute(sql)
# 更新数据
sql_1 = """
update users set user='葫芦娃' where id=1
"""
cursor.execute(sql_1)
raise NameError # 更新数据时主动抛出异常
except Exception as e:
connect.rollback() # 事务回滚
connect.commit()
connect.close() # 关闭数据库连接
通过下面的小动画我们可以看出,这里模拟在更新数据时出现问题。而插入数据时没有问题的。然后执行事务回滚,最终数据没有被写入到数据库中。
就业培训申请领取
环球青藤
官方QQ群扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群
最新文章
Python编程各地入口
环球青藤官方微信服务平台
刷题看课 APP下载
免费直播 一键购课
代报名等人工服务
Python编程热点排行