<转载>pymysql连接mysql数据库,在Python中的常用应用(增、删、改、查)


提示:以下是本篇文章正文内容,下面案例可供参考,案例转载于《Python快乐编程:web开发》实体书籍。

一、创建Mysql数据库与数据表

mysql -u root -p:命令行进入mysql数据库

# 查看所有数据库
SHOW DATABASES;

# 创建数据库hotel
CREATE DATABASE hotel;

# 使用数据库hotel
use hotel;

# 创建status表
create table status
(
    statusid   int(11),
    statusname varchar(60),
    isempty    int(11),
    isclear    int(11),
    primary key (statusid)
);

# 查看表status数据
select * from status;

# 创建style表
create table style
(
    styleid   int(11) AUTO_INCREMENT,
    stylename varchar(60),
    bedstyle  varchar(20),
    bedamount int(10),
    price     FLOAT(10),
    PRIMARY KEY (styleid)
);

# 删除表style(该mysql命令选择性地执行)
# drop table style;

# 向表style插入数据
INSERT INTO style(stylename, bedstyle, bedamount, price)
VALUES ('单人房间', '单人高级套房', 1, 1000),
       ('单人间', '单人高级套间', 1, 1000),
       ('普通单人间', '普通单人床', 1, 200),
       ('普通双人间', '普通双人床', 1, 1000),
       ('豪华双人间', '豪华双人床', 1, 2000),
       ('一般双人间', '普通单人间', 2, 800),
       ('总统套间双人间', '总统套间双人床', 1, 5000);

# 查看表style数据
SELECT * FROM style;

# 修改表style中数据
update style set stylename = '豪华单人间',bedstyle = '豪华单人床',price = 500 where styleid = 1;

# 删除表中数据
delete from style where styleid = 2;

二、添加数据到表中

import pymysql


# 连接数据库
conn = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='root',
    db='hotel',
    charset='utf8'
)

# 获取游标
cursor = conn.cursor()

'''1、添加数据到表中'''
try:
    sql_insert = """
      INSERT INTO
      style(stylename, bedstyle, bedamount, price)
      VALUES('单人房间', '单人高级套房', 1, 1000),
            ('单人间', '单人高级套间', 1, 1000),
            ('普通单人间', '普通单人床', 1, 200),
            ('普通双人间', '普通双人床', 1, 1000),
            ('豪华双人间', '豪华双人床', 1, 2000),
            ('一般双人间', '普通单人间', 2, 800),
            ('总统套间双人间', '总统套间双人床', 1, 5000)"""
    cursor.execute(sql_insert)
    conn.commit()
except Exception as e:
    print(e) # 打印异常信息
    '''事务回滚,即出错后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了'''
    conn.rollback()
    
# 关闭数据库连接和游标
conn.close()
cursor.close()

在这里插入图片描述

三、修改表中数据

import pymysql


# 连接数据库
conn = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='root',
    db='hotel',
    charset='utf8'
)

# 获取游标
cursor = conn.cursor()

'''2、修改表中数据'''
try:
    sql_update = """
      update style
      set
          stylename = '豪华单人间',
          bedstyle = '豪华单人床',
          price = 500
      where styleid = 1"""
    cursor.execute(sql_update)
    conn.commit()
except Exception as e:
    print(e) # 打印异常信息
    '''事务回滚,即出错后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了'''
    conn.rollback()

# 关闭数据库连接和游标
conn.close()
cursor.close()

在这里插入图片描述

四、删除表中指定数据

import pymysql


# 连接数据库
conn = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='root',
    db='hotel',
    charset='utf8'
)

# 获取游标
cursor = conn.cursor()

try:
    sql_delete = "delete from style where styleid = 2"
    cursor.execute(sql_delete)
    conn.commit()
except Exception as e:
    print(a) # 打印异常信息
    '''事务回滚,即出错后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了'''
    conn.rollback()

# 关闭数据库连接和游标
conn.close()
cursor.close()

在这里插入图片描述

五、查询表中所有数据

import pymysql


# 连接数据库
conn = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='root',
    db='hotel',
    charset='utf8'
)

# 获取游标
cursor = conn.cursor()

'''4、查询表中数据'''
try:
    sql_select = "SELECT * FROM style"
    cursor.execute(sql_select)
    print(cursor.rowcount)
    rr = cursor.fetchall()
    for row in rr:
        print("房间id是:%d, 类型名称是:%s, 床的类型是:%s, 床的数量是:%d, 价格是:%.2f" % row)
except Exception as e:
    print(e)

# 关闭数据库连接和游标
conn.close()
cursor.close()

程序输出结果:

6
房间id是:1, 类型名称是:豪华单人间, 床的类型是:豪华单人床, 床的数量是:1, 价格是:500.00
房间id是:3, 类型名称是:普通单人间, 床的类型是:普通单人床, 床的数量是:1, 价格是:200.00
房间id是:4, 类型名称是:普通双人间, 床的类型是:普通双人床, 床的数量是:1, 价格是:1000.00
房间id是:5, 类型名称是:豪华双人间, 床的类型是:豪华双人床, 床的数量是:1, 价格是:2000.00
房间id是:6, 类型名称是:一般双人间, 床的类型是:普通单人间, 床的数量是:2, 价格是:800.00
房间id是:7, 类型名称是:总统套间双人间, 床的类型是:总统套间双人床, 床的数量是:1, 价格是:5000.00

六、Python完整代码

从下面的代码,集成增、删、改、查四种操作,可以看出来哪些代码是重复的。

import pymysql


# 连接数据库
conn = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='root',
    db='hotel',
    charset='utf8'
)

# 获取游标
cursor = conn.cursor()

'''1、添加数据到表中'''
# try:
#     sql_insert = """
#       INSERT INTO
#       style(stylename, bedstyle, bedamount, price)
#       VALUES('单人房间', '单人高级套房', 1, 1000),
#             ('单人间', '单人高级套间', 1, 1000),
#             ('普通单人间', '普通单人床', 1, 200),
#             ('普通双人间', '普通双人床', 1, 1000),
#             ('豪华双人间', '豪华双人床', 1, 2000),
#             ('一般双人间', '普通单人间', 2, 800),
#             ('总统套间双人间', '总统套间双人床', 1, 5000)"""
#     cursor.execute(sql_insert)
#     conn.commit()
# except Exception as e:
#     print(e) # 打印异常信息
#     '''事务回滚,即出错后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了'''
#     conn.rollback()

'''2、修改表中数据'''
# try:
#     sql_update = """
#       update style
#       set
#           stylename = '豪华单人间',
#           bedstyle = '豪华单人床',
#           price = 500
#       where styleid = 1"""
#     cursor.execute(sql_update)
#     conn.commit()
# except Exception as e:
#     print(e) # 打印异常信息
#     '''事务回滚,即出错后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了'''
#     conn.rollback()

'''3、删除表中数据'''
# try:
#     sql_delete = "delete from style where styleid = 2"
#     cursor.execute(sql_delete)
#     conn.commit()
# except Exception as e:
#     print(a) # 打印异常信息
#     '''事务回滚,即出错后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了'''
#     conn.rollback()

'''4、查询表中数据'''
try:
    sql_select = "SELECT * FROM style"
    cursor.execute(sql_select)
    print(cursor.rowcount)
    rr = cursor.fetchall()
    for row in rr:
        print("房间id是:%d, 类型名称是:%s, 床的类型是:%s, 床的数量是:%d, 价格是:%.2f" % row)
except Exception as e:
    print(e)

# 关闭数据库连接和游标
conn.close()
cursor.close()

七、总结

该案例,类似于java中的jdbc连接mysql,进行增、删、改、查操作,感兴趣的点击这里查看。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值