python学习(22) 访问数据库
原文链接:http://www.limerence2017.com/2018/01/11/python22/
本文介绍python如何使用数据库方面的知识。
SQLite
SQLite是一种嵌入式数据库,本身是*.db的文件。通过python操作数据库的步骤:
1 连接数据库返回connection连接
2 通过connection连接获取cursor,cursor即游标
3 通过cursor执行语句
4 通过cursor查询结果,如fetchall
5 关闭游标cursor
6 提交事务
7 关闭连接
下边的例子说明了如何使用SQLite
1 |
import sqlite3 |
MYSQL
Mysql是使用广泛的数据库,通过python同样可以访问mysql数据库。步骤和之前的一样。但是要提前安装mysql数据库,
同时推荐安装navicat可视化处理工具。安装完数据库后,需要安装python访问mysql的库,推荐安装2.1.4版本,其他
版本可能会需要安装其他支持的库。命令行下执行:pip install mysql-connector==2.1.4
这些安装好后,可以写代码访问数据。
1 |
import mysql.connector |
SQLAlchemy
SQLAlchemy是python的一个库,可以支持把关系型数据库的表结构映射到类的对象上,通过操作对象从而达到操作数据库
的目的,这就是ORM技术,Object-Relational Mapping
在使用SQLAlchemy之前,需要先安装pip install sqlalchemy
下面的例子说明了如何使用sqlalchemy
1 |
from sqlalchemy import Column, String, create_engine |
使用sqlalchemy分几个步骤:
1 用sqlalchemy创建一个基类Base
2 基于Base类实现自己定义的表结构类
3 通过create_engine初始化数据库连接返回引擎engine,格式为
‘数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名’
所以我的写成’mysql+mysqlconnector://root:123456@localhost:3306/test’
4 通过engine创建DBSession类,并通过DBSession类创建session(会话控制)对象。
5 接下来可以定义一些对象,把对象加入到session中,通过commit到数据库
6 也可以通过session查询用户,返回一个或几个结果。
7 操作完记得关闭session。
以上就是python使用数据库的基本知识。
python学习(22) 访问数据库的更多相关文章
- Python学习--17 访问数据库
实际开发中,我们会经常用到数据库. Python里对数据库的操作API都很统一. SQLite SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以 ...
- Python中级 —— 05访问数据库
** 写在前面 ------------------> ** 廖雪峰 菜鸟 数据库类别 首先选择一个关系数据库.目前广泛使用的关系数据库也就这么几种: 付费的商用数据库: Oracle:典型的高 ...
- Python学习笔记 使用数据库SQlite Mysql
SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用当中, 甚至在IOS和Android的APP中都可以集成 Python就内 ...
- Python学习--22 异步I/O
在同步IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行.而异步IO方式中,线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操 ...
- python学习笔记——mongodb数据库
1 概述 1.1 文件管理阶段 优点:可以长期保存 能存储大量数据 缺点:没有结构化的组织 查找不方便 数据容易冗余 1.2 数据库管理阶段 有文件存储的优点,同时解决了文件存储的问题 缺点 : 操作 ...
- Python学习笔记020——数据库基本操作
本数据库的操作是Linux虚拟机平台下进行的 1 启动和链接MySQL服务 1.1 服务端 (1)查看服务状态 sudo /etc/init.d/mysql stauts (2)启动服务端 sudo ...
- Python学习笔记020——数据库知识概述
数据库概述 1 提供数据库的软件都有哪些 MySQL.SQL_Server.Oracle.DB2.Mariadb.MongoDB ... (1)是否开源 开源软件:MySQL.Mariadb.Mong ...
- 10 python学习笔记-操作数据库(十)
在功能.接口测试中,常常需要通过数据库的操作,来准备数据.检测环境及核对功能.接口的数据库操作是否正确. 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备. 环境检查及数据库断言的功能.数据 ...
- python学习22之函数式编程
'''''''''1.高阶函数:将函数作为参数传递到另一个函数中,作为这个函数的参数,这样的方式叫高阶函数(1)map:两个参数,一个是函数,一个是iterator,将函数依次作用于Iterator中 ...
随机推荐
- [linux] LVM磁盘管理(针对xfs和ext4不同文件系统)
简单来说就是:PV:是物理的磁盘分区VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘LV:也就是从VG中划分的逻辑分区如下图所示PV.VG.LV三者 ...
- 随手记录-linux-Linux目录结构
转:别人的 装完Linux,首先需要弄清Linux 标准目录结构 / root —?启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home —?存储普通用户的个人文件 ft ...
- Notes of Daily Scrum Meeting(11.11)
Notes of Daily Scrum Meeting(11.11) 今天是11月11号光棍节,不知道大家的购物热情被点燃没有,有没有买到自己心仪的东西.额,今天我们的团队任务进度和昨天差不多, 每 ...
- AloneQIan---第一次作业
小学生的噩梦 一.估计与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 600 720 • Estim ...
- jsp九大内置对象之session和application
session和application 用的都是特别多尤其是application,但是想全面学习一下内置对象所以都了解一下. session又被称为是会话生存期是用户进入浏览器到关闭浏览器的期间.s ...
- 1001.A+B Format (20)的感受
这是提交到Github的object-oriented文件夹里面的代码:https://github.com/sonnypp/object-oriented/tree/master/1001. 一.解 ...
- TCP系列52—拥塞控制—15、前向重传与RACK重传拥塞控制处理对比
一.概述 这里主要简单分析一个丢包重传并恢复的场景,通过不同的设置让这个相同的场景分别触发RACK重传和前向重传,通过对比说明以下问题: Forward Retransmit可以产生只有重传标记的数据 ...
- 【Leetcode】86. Partition List
Question: Given a linked list and a value x, partition it such that all nodes less than x come befor ...
- PHP 常用函数总结(四)
9.PHP常用判断函数 is_bool();//判断是否为布尔型 is_float(); //判断是否为浮点型 is_int(); //判断是否为整型 is_numeric(); //判断是否为数值型 ...
- 校园网突围之路由器开wifi__windows版
之前有写过web版的登录介绍,但是有此人给我发邮件说web版的太麻烦,每次都要有内网才可以.在此我要说下web版的好处. 1.不用安装环境,并不是每个人电脑上都需要安装开发环境,你可以说你硬盘空间大, ...