Python快速上手系列--连接数据库--入门篇

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python快速上手系列--连接数据库--入门篇

前言

数据库在在我们生活中还是很常见的,超市里货物信息,餐馆里的菜单信息还有账单流水等,很多都是存储在相应的数据库中,当你想要查询价格,商品对应的信息时,可以通过使用数据库来完成。数据库的优点大致的了解一下:1.整体数据结构化。2.数据的共享性高、冗余度低且易扩充3.数据独立性高4.数据由数据库管理系统统一管理和控制在学习本篇之前,大家可以好好看看数据库的基本操作,然后结合本章实际上手试试。

正文

操作数据库还是比较简单的,看下面的步骤,后续的代码会做具体的解析。

导包  import pymysql
数据库连接设置 conn=pysql.connect(host,user,passwd,port,db,charset)
生成游标    cur=conn.cursor(cursor-pymysql.cursors.DictCursor)
编写sql语句 sql='select * feom student'
执行sql语句 cur.excute(sql)
获取数据    data=cur.fetchall()
关闭游标    cur.close()
关闭连接    conn.close()

导包

导包是必须的操作,我门本章所用的是pymysql包,还有其他的包,不限于使用哪种包。可以自行扩展。

数据库连接设置

我用的是Mysql+Navicat,其他不同的数据库根据实际情况变更一下即可。

# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='QINGAN',
                      database='QINGDATA')#如果汉字显示不出来就加入charset=‘utf-8'

变量名随意设置,host这里我写的是localhost本机的,如果你有服务器,且服务器装了数据库,那就写服务器地址,如101.101.1.1(瞎写的,举例),port是装数据库的时候自己设置的,如果你写的3307或者8888,那你连接数据库的时候,port就得写对应的端口号,user在无任何变动的情况下默认root,database是你要连接的数据库了。

生成游标

# 生成游标
cur = con.cursor()

关于游标:游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。通俗一点就是没有游标你就拿不到你想要的值,做不了你想做的操作。

写入SQL语句

# 写入sql语句
sql = 'select * from t_beauty'

此处可以是任何的SQL语句。写入多条数据操作,对应的执行数据库所用的函数方法有所不同

sql = "insert into t_beauty(id,sex,home,call_num) VALUES(%s,%s,%s,%s);"
list_name = [('清安','男','湖南长沙',1464231456),('灵眸','女','陕西西安',1895223456),
('清雪','男','福建厦门',1689929295)]

执行多条写入数据,只有执行了才能写入数据。

es = cur.executemany(sql,list_name)

执行SQL语句

# 游标执行一条sql语句
res = cur.execute(sql)

这里需要用游标点上对应的函数方法execute来执行你想要的sql语句。上述写了一个多条数据写入,这里是单条数据写入,用的方法不一样,但是用法大同小异。

获取数据

1、查看数据库里面有多少条数据

# 打印数据库有多少条数据
print(res)

2、获取一条数据

# 获取查询结果,获取一条数据
data_1=cur.fetchone()

3、获取全部数据

# 获取查询结果,获取全部数据,如果已经使用fetchone取了第一条的数据,游标会自动向下取值
data_1 = cur.fetchall()

4、移动游标

# 在已经获取到一条数据的时候,还想获取其他数据中的一条
cur.scroll(-1,mode='relative')# 将游标往前移动一个位置再进行取值
cur.scroll(3,mode='absolute')# 绝对路径取值,索引取值,取0的时候取全部值

5、下标获取值

当取0的时候为全部值

# 获取查询结果,获取第一条数据,可以更改数字来获取值
data_1=cur.fetchmany(1)

提交值

# 手动给数据库提交数据库语句,也可以自动提交autocommit=True,在连接设置处加入即可
con.commit()

关闭游标

cur.close()

关闭数据库

con.close()

下面来看看完整的代码吧!

# 数据库连接,主机host、端口port、用户名user、密码passwd、数据库表database
con = pymysql.connect(host='localhost', port=3306, user='root', passwd='QINGAN',
                      database='QINGDATA')#如果汉字显示不出来就加入charset=‘utf-8'
# 生成游标
cur = con.cursor()
# 注入sql语句
sql = 'select * from t_beauty'
# 游标执行一条sql语句
res = cur.execute(sql)
# 获取查询结果,获取一条数据
data_1=cur.fetchone()
print(data_1)
con.commit()
# 关闭游标
cur.close()
# 关闭数据库连接
con.close()

这样一个简单的数据库操作就好了,当你不想每次使用就要写的话,那就封装一个吧。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
8天前
|
Python
深入理解Python装饰器:从入门到实践####
本文旨在通过简明扼要的方式,为读者揭开Python装饰器的神秘面纱,从基本概念、工作原理到实际应用场景进行全面解析。不同于常规的摘要仅概述内容概要,本文将直接以一段精炼代码示例开篇,展示装饰器如何优雅地增强函数功能,激发读者探索兴趣,随后深入探讨其背后的机制与高级用法。 ####
38 11
|
5天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
5天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
5天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
11天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
46 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
4天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
17 3
|
8天前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。
|
6天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
7天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!