Python 与数据库交互
安装:pip3 install pymysql
引入模块在python3里:from pymysql import *
使用步骤:
1、创建Connection对象,用于建立与数据库的连接,创建对象调用connect()方法
conn=connect(参数列表)
- 参数host:连接mysql的主机,如果本机就用localhost
- 参数port:连接mysql的端口,默认是3306
- 参数database:数据库名称
- 参数user:连接的用户名
- 参数password:连接的密码
- 参数charset:通信采用的编码方式,默认是utf-8
2、对象的方法
- close() 关闭
- commit() 提交
- cursor() 返回Cursor对象,用于执行sql语句并获得结果
- execute(operation,[,parameters]) 执行语句,返回受影响的函数,主要用于执行insert,update,delete语句,也可用于执行create,alter,drop等
- fetchone() 执行查询语句时,获取查询结果集的第一行数据,返回一个元祖
- fetchall() 执行查询时,获取结果集的所有行数,一行构成一个元祖,再讲这些元组装一个元组返回
- fetchmany(n) 执行查询时,要取的数据条数,n为要取的条数
Cursor对象
功能:用于执行sql语句,常用的是增删改查,获取cursor对象,调用Connection对象的cursor()方法
cs=conn.cursor()
对象的属性
- rowcount 只读属性,表示最近一次execute()执行受影响的行数
- connection 获取当前连接对象
from pymysql import *
def main():
# 必须要有固定的:创建connection连接
conn = connect(host='localhost', port=3306, database='test', user='test', password='123456', charset='utf8')
# 必须要有固定的:获取Cursor对象
cs = conn.cursor()
# 执行select语句,并返回查询的结果条数
count = cs.execute('查询语句')
# 打印返回的查询结果行数
print("查询到%d条数据:" % count)
for i in range(count):
# 获取查询结果,取一行数据,仅返回一个元祖
result = cs.fetchone()
# 打印查询结构
print(result)
"""
取多行数据
result1=fetchmany(3)
result2=fetchall() # 返回的结果是元组里嵌元组
print(result)
"""
# 必须要有固定的:关闭cursor对象
cs.close()
conn.close()
if __name__ == "__main__":
main()
Python 与数据库交互的更多相关文章
- 使用Python与数据库交互
# -*- coding: utf-8 -*- """ Created on Sun Nov 18 19:25:01 2018 @author: wangm " ...
- python与数据库交互的模块pymysql
一.Mysql 1.前提 pip install pymysql import pymysql 2.详情 Connection对象 =====>用于连接数据库 用于建立与数据库的连接 创建对象: ...
- 使用Python管理数据库
使用Python管理数据库 这篇文章的主题是如何使用Python语言管理数据库,简化日常运维中频繁的.重复度高的任务,为DBA们腾出更多时间来完成更重要的工作.文章本身只提供一种思路,写的不是很全 ...
- 14.python与数据库之mysql:pymysql、sqlalchemy
相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 删除表 插入数据 查看数据 修改数据 删除数据 使用sqlmary操作mysql 创建表 查看表 修改表 删除表 插入数据 查 ...
- python SQLite说一点点, python使用数据库需要注意的几点
SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成. Python就 ...
- Python操作数据库之 MySQL
Python操作数据库之MySQL 一.安装Python-MySQLdb模块 Python-MySQLdb是一个操作数据库的模块,Python 通过它对 mysql 数据实现各种操作. 如果要源码安装 ...
- Python与Mysql交互
#转载请联系 在写内容之前,先放一张图,bling- 这张图算是比较详细的表达出了web开发都需要什么.用户访问网页,就是访问服务器的网页文件.这些网页文件由前端工程师编写的.服务器通常用nginx/ ...
- Python与数据库[2] -> 关系对象映射/ORM[0] -> ORM 与 sqlalchemy 模块
ORM 与 sqlalchemy 1 关于ORM / About ORM 1.1 ORM定义 / Definition of ORM ORM(Object Relational Mapping),即对 ...
- python部分 + 数据库 + 网络编程
PS:附上我的博客地址,答案中略的部分我的博客都有,直接原标题搜索即可.https://www.cnblogs.com/Roc-Atlantis/ 第一部分 Python基础篇(80题) 为什么学习P ...
随机推荐
- CentOS下安装配置MySQL8.0的步骤详解
下载yum源的安装包 yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm 安装 yu ...
- SQL 对float类型列进行排序引发的异常
车祸现场 要求:根据学分和完成时间获取前200名学员,当学分相同时,完成时间较早的排在前面 可以明显看到,完成时间为4.1号的记录排在了3.27号前面. 事故原因 float 表示近似数值,存在精度损 ...
- ajax 的登录认证
在models中 先创建一个表 from django.db import models # Create your models here. class UserInfo(models.Model) ...
- scrapy实战4 GET方法抓取ajax动态页面(以糗事百科APP为例子):
一般来说爬虫类框架抓取Ajax动态页面都是通过一些第三方的webkit库去手动执行html页面中的js代码, 最后将生产的html代码交给spider分析.本篇文章则是通过利用fiddler抓包获取j ...
- django基础知识之自连接:
自连接 对于地区信息,属于一对多关系,使用一张表,存储所有的信息 类似的表结构还应用于分类信息,可以实现无限级分类 新建模型AreaInfo,生成迁移 class AreaInfo(models.Mo ...
- 大话Spark(9)-源码之TaskScheduler
上篇文章讲到DAGScheduler会把job划分为多个Stage,每个Stage中都会创建一批Task,然后把Task封装为TaskSet提交到TaskScheduler. 这里我们来一起看下Tas ...
- c++ 广度优先搜索(宽搜)
c++ bfs基本应用 Knight Moves 题目描述 贝茜和她的表妹在玩一个简化版的国际象棋.棋盘如图所示: 贝茜和表妹各有一颗棋子.棋子每次移一步,且棋子只能往如图所示的八个方向移动.比赛的规 ...
- Java学习笔记之---基础语法
Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...
- C# Linq 常用查询操作符
限定操作: 1. All:用来确定是否序列中的所有元素都满足条件 2. Any:用来确定序列是否包含任何元素,有参方式用来确定序列中是否有元素满足条件 3. Contains:方法用来确定序列是否包含 ...
- bzoj 1082: [SCOI2005]栅栏 题解
1082: [SCOI2005]栅栏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2340 Solved: 991[Submit][Status] ...