python学习-关系数据库

本文介绍了Python如何访问和操作关系型数据库,包括SQL、DB-API、SQLite、MySQL、PostgreSQL和SQLAlchemy。通过示例展示了如何创建数据库、表单,插入、查询数据,以及使用SQLAlchemy的SQL表达式语言和对象关系映射(ORM)。
摘要由CSDN通过智能技术生成

关系型数据库

数据库服务器(database server),数据库(database)和数据(data)

SQL

SQL是一种声明式语言,是关系型数据库的通用语言。

SQL语句主要有两种类型:

DDL(数据定义语言):处理用户、数据库以及表单的创建、删除、约束和权限等。

DML(数据操作语言):处理数据插入、选择、更新和删除。

DB-API

应用程序编程接口(API)是访问某些服务的函数集合。DB-API(http://legacy.python.org/dev/peps/pep-0249/)是Python中访问关系型数据库的标准API。

它的主要函数如下:

.connect() 连接数据库,包含参数用户名、密码、服务器地址,等等。

cursor() 创建一个cursor对象来管理查询

execute()和executemany() 对数据库执行一个或多个SQL命令

fetchone()、fetchmany()、fetchall() 得到execute之后的结果。

SQLite

SQLite(http://www.sqlite.org)是一种轻量级、优秀的开源关系型数据库。它用Python的标准库实现,并存储数据再普通的文件中。这些文件在不同机器和操作系统之间是可移植的。该数据库仅支持原生SQL以及多用户并发操作。浏览器、智能手机和其他应用会把SQLite作为嵌入数据库。

首先使用connect()函数连接本地的SQLite数据库文件,这个文件和目录型数据库是等价的。 字符串’:memory:’仅用于在内存中创建数据库,有助于方便快速地测试。 下一个例子会创建一个数据库enterprise.db和表单zoo用于管理宠物动物园业务。

表单的列如下:

. critter 可变长度的字符串,作为主键。 . count 某动物的总数的整数值。 . damages 人和动物的互动中损失的美元数目。

创建数据库 enterprise.db

>>> import sqlite3
>>> conn = sqlite3.connect('enterprise.db')
>>> curs = conn.cursor()
>

创建表单zoo

>>> curs.execute('''CREATE TABLE zoo
    (critter VARCHAR(20) PRIMARY KEY,
     count INT,
     damages FLOAT)''')
<sqlite3.Cursor object at 0x01EDA720>

插入数据的方法一

>>> curs.execute('INSERT INTO zoo VALUES("duck",5,0.0)')
<sqlite3.Cursor object at 0x01EDA720>
>>> curs.execute('INSERT INTO zoo VALUES("bear",2,1000.0)')
<sqlite3.Cursor object at 0x01EDA720>

更安全的placeholder插入数据方法二

>>> ins = 'INSERT INTO zoo (critter,count,damages) VALUES(?,?,?)'
>>> curs.execute(ins,('weasel',1,2000.0))
<sqlite3.Cursor object at 0x01EDA720>
>>> curs.execute(ins,('weasel',1,2000.0))
<sqlite3.Cursor object at 0x01EDA720>

查询表单zoo

>>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值