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中 ...
随机推荐
- users命令详解
基础命令学习目录 原文链接:https://blog.csdn.net/m0_38132420/article/details/78861464 users命令用于显示当前登录系统所有的用户的用户列表 ...
- 大华摄像头WEB页面集成
对于海康.大华的摄像头web页面内的集成方式,根据浏览器类型,通常是采用以下形式: IE内核:调用ocx控件 例如: <object width="100%" height= ...
- 树莓派3+rtl8812au开启monitor模式
首先要有一块树莓派,要有一块rtl8812au的网卡. 这个网卡是支持monitor模式的,但是我原来装的驱动驱动在raspbian上开启monitor模式时提示,找不到设备. 然后换了一个驱动 ht ...
- Notes of Daily Scrum Meeting(11.5)
Notes of Daily Scrum Meeting(11.5) 今天是我们学习学长代码,同时学习安卓语言的第三天.我们和学长沟通了一下,仔细讨论后得出一个结论,学长在 IOS平台上的代码可以借鉴 ...
- iOS自学-混合编程
OC调用swift,引入头文件 #improt "工程名字-swift.h" swift调用OC,在桥梁文件里面引入OC文件 的头文件 尽情混合编程吧...
- 1001.A+B Format (20) 解题
代码入口(https://github.com/NSDie/object-oriented) 这题的解题思路我有两个: 第一个是两个数字相加然后判断位数,因为题目限制了范围1000000的绝对值以内嘛 ...
- 【动态规划】POJ-2385
一.题目 Description It is a little known fact that cows love apples. Farmer John has two apple trees (w ...
- 蜗牛慢慢爬 LeetCode 15. 3Sum [Difficulty: Medium]
题目 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...
- HDU 2123 An easy problem
http://acm.hdu.edu.cn/showproblem.php?pid=2123 Problem Description In this problem you need to make ...
- [微软官方]SQLSERVER的兼容级别
ALTER DATABASE (Transact-SQL) 兼容级别 https://docs.microsoft.com/zh-cn/sql/t-sql/statements/alter-datab ...