当前位置: 首页 > news >正文

python操作mysql数据库详解

使用Python操作MySQL数据库

MySQL是一种关系型数据库管理系统,它可以用来存储和管理大量的数据。之前介绍了大部分主流数据库,今天将介绍如何使用Python来操作MySQL数据库。

安装MySQL

首先,我们需要安装MySQL服务器,可以从MySQL官网下载安装包,也可以使用系统自带的包管理器安装。

安装MySQL驱动

接下来,我们需要安装MySQL的驱动,可以使用pip安装:

pip install mysql-connector-python

连接MySQL

接下来,我们需要连接MySQL服务器,可以使用MySQL Connector/Python模块中的connect()函数:

import mysql.connector
# 连接MySQL服务器
conn = mysql.connector.connect(host="localhost",user="root",passwd="123456"
)

mysql指令

MySQL 指令用法作用
SELECTSELECT * FROM table_name从表中检索数据
INSERTINSERT INTO table_name VALUES (value1, value2,…)向表中插入新记录
UPDATEUPDATE table_name SET column1=value1, column2=value2,…更新表中的记录
DELETEDELETE FROM table_name WHERE condition从表中删除记录
CREATECREATE TABLE table_name (column1 datatype, column2 datatype,…)创建新表
ALTERALTER TABLE table_name ADD column_name datatype向表中添加新列
DROPDROP TABLE table_name删除表

创建数据库

接下来,我们可以使用MySQL Connector/Python模块中的cursor()函数创建一个游标,然后使用execute()方法来执行SQL语句:

# 创建数据库
cursor = conn.cursor()
cursor.execute("CREATE DATABASE mydb")

创建表

接下来,我们可以使用MySQL Connector/Python模块中的execute()方法来创建表:

# 创建表
cursor.execute("CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")

插入数据

接下来,我们可以使用MySQL Connector/Python模块中的execute()方法来插入数据:

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES ('John', 20)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")

查询数据

接下来,我们可以使用MySQL Connector/Python模块中的execute()方法来查询数据:

# 查询数据
cursor.execute("SELECT * FROM users")
# 获取查询结果
result = cursor.fetchall()
# 打印结果
for row in result:print(row)

更新数据

接下来,我们可以使用MySQL Connector/Python模块中的execute()方法来更新数据:

# 更新数据
cursor.execute("UPDATE users SET age = 30 WHERE name = 'John'")

删除数据

最后,我们可以使用MySQL Connector/Python模块中的execute()方法来删除数据:

# 删除数据
cursor.execute("DELETE FROM users WHERE name = 'Bob'")

结束连接

最后,我们需要使用MySQL Connector/Python模块中的close()方法来结束连接:

# 结束连接
conn.close()

学生管理系统demo

# 导入MySQL驱动
import mysql.connector
# 连接数据库
conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='student_management')
cursor = conn.cursor()
# 管理员登录
def admin_login():username = input('请输入管理员账号:')password = input('请输入管理员密码:')sql = 'select * from admin where username=%!s(MISSING) and password=%!s(MISSING)'cursor.execute(sql, (username, password))result = cursor.fetchone()if result:print('登录成功!')return Trueelse:print('登录失败!')return False
# 添加学生信息
def add_student():stu_no = input('请输入学号:')stu_name = input('请输入姓名:')stu_age = input('请输入年龄:')sql = 'insert into student (stu_no, stu_name, stu_age) values (%!s(MISSING), %!s(MISSING), %!s(MISSING))'cursor.execute(sql, (stu_no, stu_name, stu_age))conn.commit()print('添加学生信息成功!')
# 删除学生信息
def delete_student():stu_no = input('请输入要删除的学号:')sql = 'delete from student where stu_no=%!s(MISSING)'cursor.execute(sql, (stu_no,))conn.commit()print('删除学生信息成功!')
# 修改学生信息
def update_student():stu_no = input('请输入要修改的学号:')stu_name = input('请输入新的姓名:')stu_age = input('请输入新的年龄:')sql = 'update student set stu_name=%!s(MISSING), stu_age=%!s(MISSING) where stu_no=%!s(MISSING)'cursor.execute(sql, (stu_name, stu_age, stu_no))conn.commit()print('修改学生信息成功!')
# 查询学生信息
def query_student():stu_no = input('请输入要查询的学号:')sql = 'select * from student where stu_no=%!s(MISSING)'cursor.execute(sql, (stu_no,))result = cursor.fetchone()if result:print('学号:%!s(MISSING),姓名:%!s(MISSING),年龄:%!s(MISSING)' %!((MISSING)result[0], result[1], result[2]))else:print('查无此人!')
# 主函数
def main():if admin_login():while True:print('1. 添加学生信息')print('2. 删除学生信息')print('3. 修改学生信息')print('4. 查询学生信息')print('5. 退出系统')choice = input('请输入您的选择:')if choice == '1':add_student()elif choice == '2':delete_student()elif choice == '3':update_student()elif choice == '4':query_student()elif choice == '5':breakelse:print('输入错误,请重新输入!')
if __name__ == '__main__':main()

结论

本文介绍了如何使用Python来操作MySQL数据库,包括安装MySQL服务器、安装MySQL驱动、连接MySQL、创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等操作。

http://www.lryc.cn/news/11783.html

相关文章:

  • netty群聊系统
  • Android 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?
  • 在windows中使用tomcat搭建Jenkins
  • Linux系统
  • Mel Frequency Cepstral Coefficients (MFCCs)
  • 第七讲---贪心(上课)
  • 计算机如何思考与图灵完备
  • 惠普LaserJet M1005 MFP报错b2
  • 网络协议(TCP/IP)
  • 2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书
  • 6、流程控制
  • Linux中最基本常见命令总结
  • Python学习-----模块2.0(常用模块之时间模块-->time)
  • XXL-JOB分布式任务调度框架(二)-策略详解
  • JAVA练习54-最小栈
  • Redis-哨兵模式以及集群
  • 过滤器和监听器
  • Acwing 第 91 场周赛
  • JavaEE|套接字编程之UDP数据报
  • 如何使用Python创建一个自定义视频播放器
  • Elasticsearch进行优化-使用索引拆分(Split)和索引收缩(shrink )
  • 数论 —— 高斯记号(Gauss mark)
  • 【随笔】程序员眼中的 CPU,“没有灵魂的躯体”
  • 算法的时间复杂度
  • 华为OD机试 - 叠放书籍(Python) | 机试题算法思路 【2023】
  • 进程间通信(重点)
  • Reverse入门[不断记录]
  • 如何实现外网访问内网ip?公网端口映射或内网映射来解决
  • [acwing周赛复盘] 第 91 场周赛20230218
  • 蓝桥12届