Python数据库操作Python版本3.8.0,开发工具:Pycharm

建议本节在掌握了数据库相关操作后再进行学习

MySQL 是最流行的关系型数据库管理系统。本小节通过Python对MySQL数据库进行增删改查操作,后期高阶可以通过结合DataFrame对文件实现快速导入导出操作。

安装python的MySQL数据库连接模块

1. 通过pymysql连接数据库

在cmd命令行窗口输入pip3 install pymysql

出现success 表示安装成功

2. 通过connector连接数据库

在cmd命令行窗口输入pip3 install mysql-connector-python mysql-connector-python

出现success 表示安装成功(亲测成功)

注:两种方法都可以连接数据库

因为我自己是安装了python2和python3,所以pip需要写pip2还是pip3,如果只安装一个python版本直接pip install 即可

数据库连接连接数据库表t_person_info(数据库表提前创建好),并输出所有表数据。

测试用表t_person_info 有三个字段:id(int类型,主键且自增),name(varchar类型,表示姓名),age(int类型,表示年龄)通过 pymsql 实现

import pymysql

# 连接数据库

db = pymysql.connect("localhost", "username", "passwd", "test")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询

cursor.execute("select * from t_person_info")

# 使用 fatchall() 方法获取所有数据.

data = cursor.fetchall()

print(data)

# 关闭数据库

db.close()

# 输出

((1, 'zhangsan', 16), (2, 'lisi', 17), (3, 'wangwu', 15))通过connector实现

import mysql.connector

''''

localhost:连接名称,默认127.0.0.1

user:数据库用户名

passwd:用户名对应密码

port:端口,默认为3306

db:数据库名称

charset:字符编码

'''

conn = mysql.connector.connect(host='localhost', user='username', passwd='passwd',

port=3306, db='test', charset='utf8'

)

# 使用cursor()方法创建一个游标对象cursor

cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询

cursor.execute("select * from t_person_info")

# 通过fetchall方法获得数据

data = cursor.fetchall()

print(data)

# 关闭数据库

db.close()

# 输出

[(1, 'zhangsan', 16), (2, 'lisi', 17), (3, 'wangwu', 15)]

注:实现的功能相同,当注意返回的结果集类型

在结果之后需要对数据库建立的连接进行关闭

数据库增删改查

在成功连接数据库之后,通过不同的sql语句可实现数据库的增删改查操作增删改查功能通过pymysql 建立连接方式后实现,connector方式同理,不再重复举例查(查询)

sql = "select * from t_person_info"

# 执行SQL语句

cursor.execute(sql)

# 使用 fatchall() 方法获取所有数据.

data = cursor.fetchall()

# 使用 fatchall() 方法获取一条数据.

data = cursor.fetchone()

# 使用 fetchmany() 方法获取两条数据.

data = cursor.fetchmany(2)

注:fetch命令根据移动数据库游标获取数据,例如当前游标在第一位,则fetchone命令执行后会获取第一条数据,且游标会移动到第二位,而fetchall命令会移动游标到末尾位置。增(插入)

sql = "INSERT INTO t_person_info (name, age) VALUES (%s, %s)"

val = ('xiaoming', 18)

# 使用 execute() 方法执行 SQL 语句

cursor.execute(sql, val)

# 数据表内容有更新,必须使用该语句

db.commit()

注:插入数据的字段必须和数据库保持一致改(更新)

# # 更新小明的年龄为20岁

sql = "UPDATE t_person_info SET age=%s WHERE name = %s"

val = (20, 'xiaoming')

# 使用 execute() 方法执行 SQL 语句

cursor.execute(sql, val)

# 数据表内容有更新,必须使用该语句

db.commit()

注:UPDATE 语句要确保指定了 WHERE 条件语句, 否则会导致整表数据被更新。删(删除)

# 删除小明的信息

sql = "DELETE FROM t_person_info WHERE name = %s"

val = ("xiaoming")

cursor.execute(sql, val)

# 数据表内容有更新,必须使用该语句

db.commit()

注:要慎重使用删除语句,删除语句要确保指定了 WHERE 条件语句,否则会导致整表数据被删除。

对于数据库的操作其实也不难,你需要先掌握了解数据库的一些sql语句,后面会介绍如何快速将整个表格数据导入导出到数据库。

下节将介绍Python邮件发送

系列文章传送门知秋小梦:Python基础入门-谈谈一些小技巧​zhuanlan.zhihu.com知秋小梦:Python入门进阶教程-面向对象​zhuanlan.zhihu.com知秋小梦:Python入门进阶教程-正则表达式​zhuanlan.zhihu.com知秋小梦:Python入门进阶教程-多线程与多进程​zhuanlan.zhihu.com知秋小梦:Python入门进阶教程-JSON操作​zhuanlan.zhihu.com

Python系列

Python系列会持续更新,从基础入门到进阶技巧,从编程语法到项目实战。若您在阅读的过程中发现文章存在错误,烦请指正,非常感谢;若您在阅读的过程中能有所收获,欢迎一起分享交流。

如果你也想和我一起学习Python,可以关注我的专栏小一的数据分析之路​www.zhihu.com

学习Python,我们不只是说说而已

python教程自带数据库_Python入门进阶教程-数据库操作相关推荐

  1. 怎么用python画饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel

    原标题:Python入门进阶:Python绘制饼图到Microsoft Excel 来自:Linux迷https://www.linuxmi.com/python-pie-chart-microsof ...

  2. python绘制饼图的子图_Python入门进阶:Python绘制饼图到Microsoft Excel

    原标题:Python入门进阶:Python绘制饼图到Microsoft Excel 来自:Linux迷https://www.linuxmi.com/python-pie-chart-microsof ...

  3. python时间序列教学_Python入门进阶教程-时间序列

    「关注我,和我一起放下灵魂,让灵魂去搬砖.」 Python时间序列 Python版本3.8.0,开发工具:Pycharm 时间模块需要了解的三个概念:时间戳.时间元组.日期字符串 时间戳:(times ...

  4. python3简明教程第二版答案_python入门简明教程?求最新的python简明教程,最好是python3的...

    本人对于计算机没有任何基础,只是简单的操作.过两天要学习python语言的基础课,需要如何准备.跪谢! 先看python的简明教程,然后可以再看<dive into python>中文版( ...

  5. python unicode编码转换中文_Python入门高级教程--Python 中文编码

    Python 中文编码 前面章节中我们已经学会了如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符 "你好,世界" ...

  6. python数据科学系列:pandas入门详细教程

    导读 前2篇分别系统性介绍了numpy和matplotlib的入门基本知识,今天本文自然是要对pandas进行入门详细介绍,通过本文你将系统性了解pandas为何会有数据分析界"瑞士军刀&q ...

  7. python绘制饼图双层_Python入门进阶:Python绘制饼图到Microsoft Excel

    原标题:Python入门进阶:Python绘制饼图到Microsoft Excel 来自:Linux迷https://www.linuxmi.com/python-pie-chart-microsof ...

  8. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  9. python高级教程_Python高级进阶教程

    这个系列的教程是在刘金玉编程的<零基础python教程>基础上的高级进阶应用. 教程列表: Python高级进阶教程001期 pycharm+anaconda3+pyqt5可视化界面开发环 ...

最新文章

  1. SetRegistryKey函数
  2. 【Latex】一些使用
  3. Python字符串格式化之format方法详解
  4. 十六进制的几种输出方式
  5. PHP网站管理系统-EBCMS易贝管理系统 v1.2.0
  6. ie浏览器样式兼容写法_IE浏览器兼容问题-----html和css的兼容写法
  7. 南华大学计算机专业导师排名,南华大学研究生导师介绍:左国平-中公研招网...
  8. 3.0 Android组件之间的信使Intent
  9. VSCode 扩展中出现严重漏洞,可导致供应链攻击
  10. 配置tomcat虚拟机
  11. win7下IDEA黑色主题看不到鼠标指针的修改方式
  12. 中国经济社会大数据研究平台——国内统计数据
  13. 小米android手机怎么刷机,小米4手机怎么刷机 小米4刷机图文教程
  14. C51单片机学习笔记——秒表
  15. 知网文献最新下载技巧
  16. CVE-2022-28512 Fantastic Blog CMS 存在SQL注入漏洞
  17. java.lang.IllegalArgumentException介绍
  18. 白魔法师(牛客小白月赛25 图、并查集)
  19. Unity2019LTS版本终于来了
  20. 【大学生软件测试基础】长方体体积 - 边界测试

热门文章

  1. Android-NFC模块学习(1)
  2. ERC721:全生命周期精析,妈妈再也不用担心我不会玩NFT合约啦
  3. 蓄水池采样 Reservoir Sampling
  4. postgresql java驱动_PostgreSQL的JDBC驱动和URL
  5. java 图形界面
  6. Lichee_RV学习系列--stream移植
  7. java 批量爬取国图 marc信息,用txt和excel保存
  8. HTML-head头部浅析
  9. 爬了3000万QQ用户数据,挖出了花千骨赵丽颖的QQ号
  10. cocos2d-x 流星划过特效