7.1 Python数据库介绍、使用sqlite3模块创建数据表

1、数据库介绍、使用sqlite3模块创建数据表

1)数据库介绍

说明

  • Python 操作不同数据库使用不同的模块,但这些模块遵守 Python 制定的DB API协议,该协议目前最新版本是2.0,被称为 Python DB API 2.0。

  • Python 自带了 SQLite 数据库和 SQLite 数据库的 API 模块

  • 全局变量:用于判断数据库模块所支持的功能,通常有以下 3 个全局变量(以 sqlite3 示例)。

    • apilevel:该全局变量显示数据库模块的 API 版本号
    • threadsafety:该全局变量指定该数据库模块的线程安全等级
    • paramstyle:该全局变量指定当 SQL 语句的参数风格
    import sqlite3    # 导入sqlite3模块
    
    print(sqlite3.apilevel)        # 数据库模块的 API 版本号
    
    2.0
    
    print(sqlite3.threadsafety)    # 数据库模块的线程安全等级
    
    1
    
    print(sqlite3.paramstyle)      # SQL 语句的参数风格(qmark 表示 SQL 语句原生风格)
    
    qmark
    
  • 操作数据库的基本流程

    说明

    • 连接(connect)数据库:返回数据库连接(用于打开游标,开启或提交事务)
    • 游标(crusor):用于执行SQL语句,获取执行的结果
      7.1 Python数据库介绍、使用sqlite3模块创建数据表_第1张图片

3)使用sqlite3模块创建数据表

(1)创建数据表

# 1、打开数据库连接
conn = sqlite3.connect('test.db')

# 2、打开游标
c = conn.cursor()

# 3、使用游标的 execute 方法执行 SQL 语句(DDL)
c.execute('''
    create table user_tb(
        _id integer primary key autoincrement,
        name text,      
        pass text,
        age integer)
''')         # SQLite 可以忽略数据列的类型(即 name,pass,age)

c.execute('''
    create table order_tb(
        _id integer primary key autoincrement,
        item_name text,
        item_price real,
        item_number integer,
        user_id integer,
        foreign key(user_id) references user_tb(_id))
''')

# 4、关闭游标
c.close()

# 5、关闭数据库连接
conn.close()

分析:SQLite 数据库特性

  • SQLite 内部只支持 null、integer、real(浮点数)、text(文本)、blob(大二进制对象)这 5 种数据类型
  • SQLite 允许存入数据时忽略底层数据列实际的数据类型,因此在编写建表语句时可以省略数据列后面的数据类型

(2)使用SQLite Expert查看数据表

  1. 下载地址官网(较慢),csdn下载

  2. 安装,打开 test.db 文件
    在这里插入图片描述
    7.1 Python数据库介绍、使用sqlite3模块创建数据表_第2张图片

你可能感兴趣的:(疯狂python讲义)