pymysql的修改、删除、增加

增加

import pymysql
try:
    connc = pymysql.connect(
        host='127.0.0.1',
        user='root',
        password='020804',
        database='person',
        port=3305,
        charset='utf8'
    )
    cur = connc.cursor()
    sql = 'insert into info values(%s,%s,%s,%s)'
    add_data = [0,'刘德华',56,'男']
    cur.execute(sql,add_data)
    connc.commit()
    cur.close()
    connc.close()
    print('添加成功')
except Exception as e:
    print(e)

修改

import pymysql
try:
    connc = pymysql.connect(
        host='127.0.0.1',
        user='root',
        password='020804',
        database='person',
        port=3305,
        charset='utf8'
    )
    cur = connc.cursor()
    sql = 'update info set name=%s where name="1"'
    update_data = ['11']
    cur.execute(sql,update_data)
    connc.commit()
    cur.close()
    connc.close()
    print('修改成功')
except Exception as e:
    print(e)

删除

import pymysql
try:
    connc = pymysql.connect(
        host='127.0.0.1',
        user='root',
        password='020804',
        database='person',
        port=3305,
        charset='utf8'
    )
    cur = connc.cursor()
    sql = 'delete from info where name=%s'
    del_data=['2']
    cur.execute(sql,del_data)
    connc.commit()


except Exception as e:
    print(e)
    #数据回滚
    connc.rollback()
finally:
    cur.close()
    connc.close()

print('删除成功')
### 如何在 PyMySQL 中实现和管理外键约束 在外键的设计上,数据库技术的发展使得外键约束的应用变得更加智能与高效[^1]。当使用 Python 操作 MySQL 数据库时,可以通过 PyMySQL 库执行 SQL 语句来定义带有外键关系的表格。 #### 创建具有外键约束的数据表 为了创建一个包含外键的新表,在 SQL 查询中指定 `FOREIGN KEY` 子句即可: ```sql CREATE TABLE orders ( order_id INT AUTO_INCREMENT PRIMARY KEY, customer_id INT NOT NULL, product_name VARCHAR(255), FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ); ``` 这段代码会建立一张名为 `orders` 的新表,并设置字段 `customer_id` 作为指向另一张表 (`customers`) 主键的一个外键。 #### 使用 PyMySQL 执行上述命令 下面是一个简单的例子展示怎样借助 PyMySQL 来运行这条 SQL 命令: ```python import pymysql connection = pymysql.connect( host='localhost', user='your_username', # 替换成自己的用户名 password='your_password', # 替换成自己的密码 database='test_db' # 替换成目标数据库名 ) try: with connection.cursor() as cursor: sql_create_table = """ CREATE TABLE IF NOT EXISTS orders ( order_id INT AUTO_INCREMENT PRIMARY KEY, customer_id INT NOT NULL, product_name VARCHAR(255), FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ); """ cursor.execute(sql_create_table) finally: connection.close() ``` 此脚本首先建立了到 MySQL 数据库的安全连接,接着尝试在一个事务性的上下文中执行给定的 SQL 脚本来创建订单表并设定其外键关联。 #### 修改现有表结构以添加或删除外键 对于已经存在的表来说,可以使用 ALTER TABLE 语法来进行修改。例如增加一个新的外键: ```sql ALTER TABLE orders ADD CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(customer_id); ``` 而移除外键则可通过如下方式完成: ```sql ALTER TABLE orders DROP FOREIGN KEY fk_customer; ``` 值得注意的是,在某些情况下可能需要先关闭 foreign key checks 或者确保参照完整性不受影响才能成功更改现有的外键配置[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值