广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python使用数据库
  • 445
分享到

python使用数据库

数据库python 2023-01-31 01:01:30 445人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

使用python-DB-api,只需要搞清楚Connection、Cursor对象,打开后一定得关闭。Cursor对象执行insert、update、delete,结果由rowcount返回影响的行数,拿到执行结果。Cursor对

使用python-DB-api,只需要搞清楚Connection、Cursor对象,打开后一定得关闭。


Cursor对象执行insert、update、delete,结果由rowcount返回影响的行数,拿到执行结果。


Cursor对象执行select,通过featchall()拿到list的结果集,每个元素都是一个tuple,对应一行记录


sql带有参数,需要把参数按照位置传递给execute()方法。


安装Mysql官方提供的Python驱动

pip install mysql-connection-python --allow-external mysql-connection-python


操作mysql的步骤:

import mysql.connector

conn=mysql.connector.connect(user='root', passWord='password', database='test')

cursor=conn.cursor()

cursor.execute('create table user(id varchar(20) primary key, name varchar(20))')

cursor.execute('insert into user(id, name) values(%s, %s)', ['1', 'Michael'])

cursor.rowcount


conn.commit()

cursor.close()


cursor = conn.cursor()

cursor.execute('select * from user where id = %s', ['1'])

values = cursor.fetchall()

values


cursor.close()

conn.close()


ORM技术 -- Object-Relational Mapping,把关系数据库的表接受映射到对象上。

ORM框架 -- SQLAlchemy 

SQLAlchemy的应用, 初始化DBSession

from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'user'
    
    id = Column(String(20), primary_key = True)
    name = Column(String(20))
    
    
engine = create_engine('mysql+mysqlconnector://root:password@localhost:3306/test')

DBSession = sessionmaker(bind=engine)

一个表对应一个class。使用ORM添加记录,可以看成为添加一个User对象。

session = DBSession()
new_user=User(id='5', name='bob')

session.add(new_user)
session.commit()
session.close()

添加数据的关键是获取session,然后把对象添加到session,最后提交并关闭。DBSession对象可视为当前数据库连接。

使用ORM从数据库中查询数据:结果是一个user对象,而不是tuple。

session = DBSession()

user = session.query(User).filter(User.id=='5').one()

print('type:', type(user)
print('name:', user.name)
session.close()

多个表通过外键实现一对多,多对多的关联。ORM框架也可以实现一对多,多对多功能。

class User(Base):
    __tablename__ = 'user'
    
    id = Column(String(20), primary_key = True)
    name = Column(String(20))
    
    books = relationship('Book')
    
    
class Book(Base):
    __tablename__ = 'book'
    
    id = Column(String(20), primary_key=True)
    name = Column(String(20))
    
    user_id = Column(String(20), ForeignKey('user,id'))

查询一个User对象时,该对象的books属性将返回一个包含若干个Book对象的list。


ORM的作用就是把数据库表的一行记录与一个对象做相互转换, 使用ORM的前提是了解关系数据库的原理。
















--结束END--

本文标题: python使用数据库

本文链接: https://www.lsjlt.com/news/183860.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python使用数据库
    使用python-DB-API,只需要搞清楚Connection、Cursor对象,打开后一定得关闭。Cursor对象执行insert、update、delete,结果由rowcount返回影响的行数,拿到执行结果。Cursor对...
    99+
    2023-01-31
    数据库 python
  • python数据库操作--数据库使用概述
    目录1. 数据库基础知识2. 访问数据库基本原理1.应用系统2.数据库驱动程序 3.数据库系统3. ODBC与ADO1.** ODBC**2.ADO4. 关系型数据库总结1. 数据库基础知识 数据库(DB...
    99+
    2022-06-02
    python 数据库使用
  • 使用Python操作MySql数据库和MsSql数据库
    目录一、MySQL数据库模块的安装和连接1、 PyMySQL模块的安装2 、python连接数据库二、创建表操作三、操作数据1、插入操作2、 查询操作3、 更新操作4、 删除操作四、...
    99+
    2022-11-11
  • Python中SQLite数据库的使用
    目录预备知识SQL语句创建数据表execute()方法插入记录查询SQL语句fetchall()SQLite_master表更新记录删除记录例题练习SQL(结构化查询语言)是一种通用数据库查询语言。SQL具有数据定义、数...
    99+
    2023-04-28
    Python SQLite Python SQLite数据库操作
  • 使用python连接mysql数据库数据方式
    目录1.fetchone/fetchmany/fetchall2.pandas.read_sql()前言: 使用python连接mysql数据库数据 有以下两种读取数据的方式推荐: ...
    99+
    2022-11-13
  • python 基于PYMYSQL使用MYSQL数据库
      在做测试的时候都会用到数据库,今天写一篇通过python连接MYSQL数据库 什么是MYSQL数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。M...
    99+
    2022-05-17
    python pymysql python mysql
  • 使用Python对SQLite数据库操作
    SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在IOS和Android的APP中都可以集成。 Python内置了S...
    99+
    2022-06-04
    操作 数据库 Python
  • python中怎么使用sqlite3数据库
    python中怎么使用sqlite3数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python SQLITE数据库是一款非常小巧的嵌入式...
    99+
    2022-10-18
  • SQLite5-使用Python来读写数据库
    目录1 Python读写SQLite基本流程2 编程实现2.1 基本流程2.2 数据插入2.2.1 插入单条数据2.2.2 插入多条数据2.2.3 保存数据3 测试3.1 运行pyt...
    99+
    2022-11-12
  • 怎么使用Python内置数据库
    这篇文章主要讲解了“怎么使用Python内置数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python内置数据库”吧!导入和使用这里我们说“内置”的意思就是,你甚至不需要运行 ...
    99+
    2023-06-16
  • 【100天精通python】Day30:使用python操作数据库_数据库基础入门
     专栏导读  专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 数据库基础知识介绍 1.1 什么是数据库?         数据库是一个结构化存储...
    99+
    2023-09-01
    数据库 python
  • python怎么调用数据库数据
    要调用数据库数据,可以使用Python的数据库接口模块,比如SQLite、MySQL或者PostgreSQL等。下面是一个使用Pyt...
    99+
    2023-08-15
    python 数据库
  • 如何使用python连接mysql数据库数据方式
    这篇文章将为大家详细讲解有关如何使用python连接mysql数据库数据方式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言:使用python连接mysql数据库数据有以下两种读取数据的方式推荐:一种是...
    99+
    2023-06-29
  • 使用Python怎么操作MySQL数据库
    本篇文章给大家分享的是有关使用Python怎么操作MySQL数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MySQL 建表建表的时候,遇到一些坑,没有解决,如修改 MyS...
    99+
    2023-06-14
  • python使用mysql数据库示例代码
    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。 Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的li...
    99+
    2022-06-04
    示例 代码 数据库
  • Python操作使用MySQL数据库方法
    下面一起来了解下Python操作使用MySQL数据库方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望Python操作使用MySQL数据库方法这篇短内容是你想要的。一,安装mysql 如果是w...
    99+
    2022-10-18
  • Python使用FlaskMigrate模块迁移数据库
    目录前言安装初始化项目结构三大命令前言 本篇文章,阐述一下Flask中数据库的迁移 为什么要说数据库迁移呢? 比如我们以前有一个数据库,里面的信息有 id, name现在我想再加一个...
    99+
    2022-11-11
  • 怎么使用Python操作Redis数据库
    本篇内容主要讲解“怎么使用Python操作Redis数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python操作Redis数据库”吧!介绍Redis是一个开源的基于内存也可持久化...
    99+
    2023-07-02
  • python 数据库blob数据操
    #coding=gbk from sqlite3 import dbapi2 # ------------------------------- # jxDataSet 对象 # 用于保存 打开数据表的数据 # -------------...
    99+
    2023-01-31
    数据库 数据 python
  • 零基础学Python|Python高阶-使用Python操作数据库
    ​ 作者主页:编程指南针 作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享 收藏点赞不迷路 关...
    99+
    2023-09-03
    数据库 python python连接mysql python数据库操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作