python在数据库的基本操作(插入数据)

本文介绍了一个使用Python和pymysql库向MySQL数据库插入数据的示例代码。通过配置数据库连接参数,创建连接并执行SQL插入语句,最后提交事务确保数据持久化。

插入数据

import pymysql

config = {
          'host':'localhost',
          'port':3306,
          'user':'root',
          'passwd':'root',
          'db':'logon',
          'charset':'utf8'
          }
# 打开数据库连接
conn = pymysql.connect(**config)

try:
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = conn.cursor()

    # SQL 插入语句
    sql = 'insert into logon_people values ("0","小李","21","17612970245","0","0","0")'

    # 执行sql语句
    cursor.execute(sql)

    # commit 修改
    conn.commit()

    # 关闭游标
    cursor.close()

    # 关闭链接
    conn.close()
    print("添加成功")
except:
    print("添加记录失败")

    # 发生错误时回滚
    conn.rollback()
### 使用 Python 进行数据库编程以实现数据插入 为了在 Python 中向 MySQL 数据库插入数据,首先需要建立与目标数据库的连接。此过程可以通过 `pymysql` 模块完成: ```python import pymysql conn = pymysql.connect( host='数据库地址', port=端口号, user='用户名', passwd='密码', db='数据库名称', charset='utf8mb4' )[^2] ``` 一旦建立了连接,就可以准备并执行 SQL 插入命令。这里展示了一个简单的例子,在名为 `students` 的表中插入一条新的学生记录。 #### 创建游标对象 创建一个游标对象对于执行 SQL 查询至关重要。该对象负责接收查询结果集,并允许逐行读取这些结果。 ```python cursor = conn.cursor() ``` #### 准备SQL语句 定义要执行的具体 SQL 语句。在这个案例里,将构建一个 INSERT INTO 语句来添加新纪录至 students 表内。 ```sql INSERT INTO students (name, age, grade) VALUES (%s, %s, %s); ``` #### 执行插入操作 利用游标的 execute 方法传递上述 SQL 字符串及其参数列表给数据库引擎处理。注意使用占位符 `%s` 来防止 SQL 注射攻击,并确保安全地传入变量值。 ```python student_info = ('张三', '17', '高二') cursor.execute("INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)", student_info) ``` #### 提交更改 当所有必要的修改完成后,调用 commit 方法使事务生效;如果不这样做,则所做的任何变更都不会保存到实际的数据存储中。 ```python conn.commit() ``` #### 错误处理和关闭资源 始终记得捕获可能发生的异常情况,并且无论成功与否都要释放占用的资源——即断开同数据库间的会话链接。 ```python try: ... except Exception as e: print(f"An error occurred: {e}") finally: cursor.close() conn.close() ``` 通过以上步骤,可以在 Python 环境下顺利地把数据写入 MySQL 数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值