Python操作MySQL:实现数据插入、删除与查询

清欢
清欢
发布时间:2026-10-13| 2人浏览过
原创

本文介绍如何使用Python连接MySQL数据库,执行表的变更与查询操作。通过封装插入、删除和查询函数,演示了如何更新数据、获取结果集以及处理事务提交与回滚,为后续数据库操作封装提供基础示例。

使用Python连接MySQL数据库,并对数据表进行变更操作及查询:

在Python中执行MySQL的insert、delete和query操作:

#!/usr/bin/python 
 
import MySQLdb 
def doInsert(cursor,db): 
  #insert 
  # Prepare SQL query to INSERT a record into the database. 
  sql = "UPDATE EMPLOYEE SET AGE = AGE+1 WHERE SEX = '%c'" %('M') 
  try: 
    cursor.execute(sql) 
    db.commit() 
  except: 
    db.rollback() 
 
def do_query(cursor,db): 
  sql = "SELECT * FROM EMPLOYEE \ 
     WHERE INCOME > '%d'" % (1000) 
  try: 
    # Execute the SQL command 
    cursor.execute(sql) 
    # Fetch all the rows in a list of lists. 
    results = cursor.fetchall() 
    print 'resuts',cursor.rowcount 
    for row in results: 
      fname = row[0] 
      lname = row[1] 
      age = row[2] 
      sex = row[3] 
      income = row[4] 
      # Now print fetched result 
      print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ 
          (fname, lname, age, sex, income ) 
  except: 
    print "Error: unable to fecth data" 
 
def do_delete(cursor,db): 
  sql = 'DELETE FROM EMPLOYEE WHERE AGE > {}'.format(20) 
  try: 
    cursor.execute(sql) 
    db.commit() 
  except: 
    db.rollback() 
 
def do_insert(cursor,db,firstname,lastname,age,sex,income): 
  sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ 
    LAST_NAME, AGE, SEX, INCOME) \ 
    VALUES ('%s', '%s', '%d', '%c', '%d' )" % \ 
    (firstname,lastname,age,sex,income) 
  try: 
    cursor.execute(sql) 
    db.commit() 
  except: 
    db.rollback() 
  
# Open database connection 
# change this to your mysql account 
#connect(server,username,password,db_name) 
db = MySQLdb.connect("localhost","root","root","pydb" ) 
# prepare a cursor object using cursor() method 
cursor = db.cursor() 
do_query(cursor,db) 
doInsert(cursor,db) 
do_query(cursor,db) 
do_delete(cursor,db) 
do_query(cursor,db) 
do_insert(cursor,db,'hunter','xue',22,'M',2000) 
do_insert(cursor,db,'mary','yang',22,'f',5555) 
do_insert(cursor,db,'zhang','xue',32,'M',5000) 
do_insert(cursor,db,'hunter','xue',22,'M',333) 
do_query(cursor,db) 
# disconnect from server 
db.close() 
 

随后,可根据具体需求在此基础上对代码进行进一步封装。

感谢阅读,希望本文能对大家有所帮助,同时也感谢各位对本站的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。