• python-13 数据库(SQLite)


    # 数据库支持
    #数据库https://wiki.python.org/moin/DatabaseInterfaces。
    ''' Python DB API的模块属性
    apilevel 使用的Python DB API版本
    threadsafety 模块的线程安全程度如何
    paramstyle 在SQL查询中使用哪种参数风格
    '''

    # 13.1.2 异常
    # Python DB API指定的异常
    # StandardError 所有异常的超类
    # Warning StandardError 发生非致命问题时引发
    # Error StandardError 所有错误条件的超类
    # InterfaceError Error 与接口(而不是数据库)相关的错误
    # DatabaseError Error 与数据库相关的错误的超类
    # DataError DatabaseError 与数据相关的问题,如值不在合法的范围内
    # OperationalError DatabaseError 数据库操作内部的错误
    # IntegrityError DatabaseError 关系完整性遭到破坏,如键未通过检查
    # InternalError DatabaseError 数据库内部的错误,如游标无效
    # ProgrammingError DatabaseError 用户编程错误,如未找到数据库表
    # NotSupportedError DatabaseError 请求不支持的功能,如回滚

    # 13.1.3 连接和游标
    # 函数connect的常用参数
    # 参数名 描 述 是否可选
    # dsn 数据源名称,具体含义随数据库而异 否
    # user 用户名 是
    # password 用户密码 是
    # host 主机名 是
    # database 数据库名称 是

    #连接对象的方法
    # close() 关闭连接对象。之后,连接对象及其游标将不可用
    # commit() 提交未提交的事务——如果支持的话;否则什么都不做
    # rollback() 回滚未提交的事务(可能不可用)
    # cursor() 返回连接的游标对象

    # 游标对象的方法
    # callproc(name[, params]) 使用指定的参数调用指定的数据库过程(可选)
    # close() 关闭游标。关闭后游标不可用
    # execute(oper[, params]) 执行一个SQL操作——可能指定参数
    # executemany(oper, pseq) 执行指定的SQL操作多次,每次都序列中的一组参数
    # fetchone() 以序列的方式取回查询结果中的下一行;如果没有更多的行,就返回None
    # fetchmany([size]) 取回查询结果中的多行,其中参数size的值默认为arraysize
    # fetchall() 以序列的序列的方式取回余下的所有行
    # nextset() 跳到下一个结果集,这个方法是可选的
    # setinputsizes(sizes) 用于为参数预定义内存区域
    # setoutputsize(size[, col]) 为取回大量数据而设置缓冲区长度

    #游标对象的属性
    # description 由结果列描述组成的序列(只读)
    # rowcount 结果包含的行数(只读)
    # arraysize fetchmany返回的行数,默认为1

    #DB API构造函数和特殊值
    # Date(year, month, day) 创建包含日期值的对象
    # Time(hour, minute, second) 创建包含时间值的对象
    # Timestamp(y, mon, d, h, min, s) 创建包含时间戳的对象
    # DateFromTicks(ticks) 根据从新纪元开始过去的秒数创建包含日期值的对象
    # TimeFromTicks(ticks) 根据从新纪元开始过去的秒数创建包含时间值的对象
    # imestampFromTicks(ticks) 根据从新纪元开始过去的秒数创建包含时间戳的对象
    # Binary(string) 创建包含二进制字符串值的对象
    # STRING 描述基于字符串的列(如CHAR)
    # BINARY 描述二进制列(如LONG或RAW)
    # NUMBER 描述数字列
    # DATETIME 描述日期/时间列
    # ROWID 描述行ID列

    # 13.2 SQLite 和 PySQLite

    # 13.2.1 起步
    # import sqlite3
    # conn = sqlite3.connect('somedatabase.db') # 如果不存在就要自动创建
    # curs = conn.cursor() # 连接获得游标
    # conn.commit() #提交游标
    # conn.close() #关闭游标

    # 13.2.2 数据库应用程序示例
    #1、创建并填充数据库表

    # 2、搜索并处理结果

    #1、 Python DB API:这个API定义了一个简单的标准化接口,所有数据库包装器模块都必须遵循它,这让编写使用多个不同数据库的程序更容易。
    #  连接:连接对象表示到SQL数据库的通信链路,使用方法cursor可从连接获得游标。你还可使用连接对象来提交或回滚事务。使用完数据库后,就可将连接关闭了。
    #  游标:游标用于执行查询和查看结果。可逐行取回查询结果,也可一次取回很多(或全部)行。
    #  类型和特殊值:DB API指定了一组构造函数和特殊值的名称。构造函数用于处理日期和时间对象,还有二进制数据对象;而特殊值用于表示关系型数据库的类型,如STRING、
    # NUMBER和DATETIME。  SQLite:这是一个小型的嵌入式SQL数据库,标准Python发行版中包含其Python包装器,即模块sqlite3。这个数据库速度快、易于使用,且不要求搭建专门的服务器。







  • 相关阅读:
    理解C#系列 / 核心C# / 常量
    理解C#系列 / 核心C# / 变量
    理解C#系列 / C#语言的特性
    理解C#系列 / .NET体系结构
    利用DMZ对象保护全局变量
    随手翻的一道摩拜校招题
    关于为函数形参赋值和搜索变量标识符的云云
    竟然修改形参有这么可怕的后果!!
    牛得一逼的delete操作符
    屏蔽属性
  • 原文地址:https://www.cnblogs.com/fuyouqiang/p/11844693.html
Copyright © 2020-2023  润新知