我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python使用数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python使用数据库

使用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的前提是了解关系数据库的原理。
















免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python使用数据库

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

下载Word文档

猜你喜欢

python使用数据库

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

python数据库操作--数据库使用概述

目录1. 数据库基础知识2. 访问数据库基本原理1.应用系统2.数据库驱动程序3.数据库系统3. ODBC与ADO1.** ODBC**2.ADO4. 关系型数据库总结1. 数据库基础知识 数据库(DB),可以长期存储在计算机内、有组织的、
2022-06-02

Python中SQLite数据库的使用

目录预备知识SQL语句创建数据表execute()方法插入记录查询SQL语句fetchall()SQLite_master表更新记录删除记录例题练习SQL(结构化查询语言)是一种通用数据库查询语言。SQL具有数据定义、数据操作和数据控制功能
2023-04-28

使用Python对SQLite数据库操作

SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在IOS和Android的APP中都可以集成。 Python内置了SQLite3,所以,在Python
2022-06-04

怎么使用Python内置数据库

这篇文章主要讲解了“怎么使用Python内置数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python内置数据库”吧!导入和使用这里我们说“内置”的意思就是,你甚至不需要运行
2023-06-16

python 基于PYMYSQL使用MYSQL数据库

在做测试的时候都会用到数据库,今天写一篇通过python连接MYSQL数据库 什么是MYSQL数据库MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库
2022-05-17

mysql数据库如何使用数据库

使用 mysql 数据库连接到数据库并创建数据库。选择数据库,创建表,并插入数据。使用查询从表中获取数据,并使用更新命令修改数据。使用删除命令删除数据,并管理用户和权限。定期备份和恢复数据库以确保数据安全。如何使用 MySQL 数据库My
mysql数据库如何使用数据库
2024-04-14

使用Python怎么操作MySQL数据库

本篇文章给大家分享的是有关使用Python怎么操作MySQL数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MySQL 建表建表的时候,遇到一些坑,没有解决,如修改 MyS
2023-06-14

怎么使用Python操作Redis数据库

本篇内容主要讲解“怎么使用Python操作Redis数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python操作Redis数据库”吧!介绍Redis是一个开源的基于内存也可持久化
2023-07-02

python使用mysql数据库示例代码

一,安装mysql如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需
2022-06-04

如何使用python连接mysql数据库数据方式

这篇文章将为大家详细讲解有关如何使用python连接mysql数据库数据方式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言:使用python连接mysql数据库数据有以下两种读取数据的方式推荐:一种是
2023-06-29

diango使用数据库

之前写的页面,虽然和用户交互得很好,但并没有保存任何数据,页面一旦关闭,或服务器重启,一切都将回到原始状态。使用数据库是毫无疑问的,django通过自带的ORM框架操作数据库,并且自带轻量级的sqlite3数据库。我不想使用自带的数据库,就
2023-01-30

python怎么调用数据库数据

要调用数据库数据,可以使用Python的数据库接口模块,比如SQLite、MySQL或者PostgreSQL等。下面是一个使用Python的SQLite模块调用数据库数据的例子:```pythonimport sqlite3# 连接到数据库
2023-08-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录