<PY><core python programming笔记>C21 数据库编程

来源:互联网 发布:java抽象类的特点 编辑:程序博客网 时间:2024/06/06 08:55


C21 数据库编程

21.1介绍
持久存储可以是文件、关系型数据库、其他一些变种。比如现有系统的API、ORM、文件管理器、电子表格、配置文件。
SQL:
CREATE DATABASE test;GRANT ALL ON test.* to user(s);
USE test;
DROP DATABASE test;
CREATE TABLE users (login VARCHAR(8),uid INT,prid INT);
DROP TABLE users;
INSERT INTO users VALUES('leanna',311,1);
UPDATE users SET prid=4 WHERE prid=2;
DELTE FROM users WHERE prid=%d;

21.2 DB-API
21.2.1模块属性
apilevel             模块兼容的 DB-API 版本号
threadsafety    线程安全级别
paramstyle       该模块支持的SQL语句参数风格(numeric,named,pyformat,qmark,format)
connect()         连接函数(user,passwd,host,database,dsn)
异常
Warning            警告异常基类
Error                  错误异常基类
InterfaceError  数据库接口错误
DatabaseError 数据库错误
DataError          处理数据错误
OperationalError   数据库执行命令错误
IntegrityError   数据库完整性错误
InternalError    数据库内部错误
ProgrammingError   SQL执行失败
NotSupportedError   视图执行数据库不支持的特性
connection对象方法
close()           commit()       rollback()    cursor()  errorhandler()
游标对象
arraysize  connection  decription  lastowid   rowcount  callproc(func[,args])    close()
execute(op[,args])    executemany(op,args)  fetchone()    ...and so forth
21.12.4 类型对象和构造器
Date    Time    Timestamp    DateFromTicks     TimeFromTicks   TimestampFromTicks
Binary    STRING  BINARY    NUMBER   DATETIME   ROWID

21.2.5关系型数据库
商业
INformix    Sybase     Oracle       MS SQL Server          DB/2   SAP     Interbase     Ingres
开源
MySQL     PostgreSQL    SQLite     Gadfly
数据库API
JDBC    ODBC

21.3对象--关系管理器(ORM)
SQLAlchemy   SQLObject
把SQL层功能抽象为对象     无需编写SQL也能够完成同样的任务

0 0
原创粉丝点击