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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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()

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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
缓存 算法 数据处理
Python入门:9.递归函数和高阶函数
在 Python 编程中,函数是核心组成部分之一。递归函数和高阶函数是 Python 中两个非常重要的特性。递归函数帮助我们以更直观的方式处理重复性问题,而高阶函数通过函数作为参数或返回值,为代码增添了极大的灵活性和优雅性。无论是实现复杂的算法还是处理数据流,这些工具都在开发者的工具箱中扮演着重要角色。本文将从概念入手,逐步带你掌握递归函数、匿名函数(lambda)以及高阶函数的核心要领和应用技巧。
Python入门:9.递归函数和高阶函数
|
1天前
|
开发者 Python
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
|
1天前
|
存储 SQL 索引
Python入门:7.Pythond的内置容器
Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
Python入门:7.Pythond的内置容器
|
1天前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
1天前
|
知识图谱 Python
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。
|
1天前
|
程序员 UED Python
Python入门:3.Python的输入和输出格式化
在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。
Python入门:3.Python的输入和输出格式化
|
1天前
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
1天前
|
机器学习/深度学习 人工智能 算法框架/工具
Python入门:1.Python介绍
Python是一种功能强大、易于学习和运行的解释型高级语言。由**Guido van Rossum**于1991年创建,Python以其简洁、易读和十分工程化的设计而带来了庞大的用户群体和丰富的应用场景。这个语言在全球范围内都被认为是**创新和效率的重要工具**。
Python入门:1.Python介绍
|
3天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
47 25
|
11天前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。

热门文章

最新文章

推荐镜像

更多