• SQLite


      SQLite是一个小型的关系型数据库,最大的特点是不需要单独的服务、零配置。Python的标准库中自带了SQLite数据库相应的驱动模块了。安装了Python,就可以直接使用SQLite数据库。
    建立数据库连接对象

    >>> import sqlite3    # 导入sqlite3模块
    >>> conn = sqlite3.connect('mydb')    # 创建数据库连接对象

      通过上面的方式就创建了数据库的连接对象了,在sqlite3.connect('mydb')中,如果数据库mydb已经存在,就连接上它;如果不存在,则会自动创建一个并连接。注意,这里的路径是随意指定的。

    建立游标对象
      和MySQL类似,建立了数据库连接后,还要建立游标对象,通过游标对象操作数据库

    >>> cur = conn.cursor()    # 创建游标对象

    通过游标对象操作数据库
      操作方法和MySQL类似。

    # 创建数据表
    >>> create_table = "create table stu(id int auto_increment primary key, name char(8) not null, class char(8) default null)"    # 创建数据库
    >>> cur.execute(create_table)
    <sqlite3.Cursor object at 0x10fae3b90>
    >>> conn.commit()    # 执行提交
    # 执行数据插入
    >>> sql = "insert into stu(id, name, class) values(1, '张三', 'python3')"
    >>> cur.execute(sql)
    <sqlite3.Cursor object at 0x10fae3b90>
    >>> conn.commit()
    # 执行数据查询
    >>> sql = "select * from stu"
    >>> cur.execute(sql)
    <sqlite3.Cursor object at 0x10fae3b90>
    >>> cur.fetchall()    # 取出所有数据
    [(1, '张三', 'python3')]    # 以列表的形式返回
    >>> cur.fetchall()
    []
    >>> sql = "select * from stu where class='python3'"
    >>> cur.execute(sql)
    <sqlite3.Cursor object at 0x10fae3b90>
    >>> cur.fetchone()    # 一条一条的取出数据
    (1, '张三', 'python3')
    >>> cur.fetchone()
    (2, '李四', 'python3')
    # 执行数据更新
    >>> sql = "update stu set name='张三2' where id=1"    # 数据更新
    >>> cur.execute(sql)
    <sqlite3.Cursor object at 0x10fae3b90>
    >>> sql = "select * from stu"
    >>> cur.execute(sql)
    <sqlite3.Cursor object at 0x10fae3b90>
    >>> cur.fetchall()
    [(1, '张三2', 'python3'), (2, '李四', 'python3'), (3, '王舞', 'python4')]
    # 执行数据删除
    >>> sql = "delete from stu where id=3"    # 删除数据
    >>> cur.execute(sql)
    <sqlite3.Cursor object at 0x10fae3b90>
    
    # 执行提交
    >>> conn.commit()    # 事务提交,每执行一次数据库更改的操作,就执行提交
    
    # 执行数据库关闭
    >>> cur.close()
    >>> conn.close()

    SQLite中的占位符
      SQLite中的占位符和Python中有区别,是以?作为占位符。

    >>> data = [(3, '王舞', 'python4'), (4, '曲奇', 'python5'), (5, '语言', 'python5')] #批量数据放入列表
    >>> sql = "insert into stu(id, name, class) values(?, ?, ?)"    # ?作为占位符
    >>> cur.executemany(sql, data)    # 执行批量插入
    <sqlite3.Cursor object at 0x10fae3f10>
    >>> conn.commit()

    更多操作访问:https://docs.python.org/3.5/library/sqlite3.html

  • 相关阅读:
    .NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记
    《ASP.NET Core 与 RESTful API 开发实战》-- (第10章)-- 读书笔记
    《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(下)
    《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(上)
    《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(尾)
    解决win10桌面图标变成白图标的问题
    微信小程序封装http请求
    Java如何控制某个方法允许并发访问的线程个数----Semaphore
    java实现获取用户IP地址
    shell有减号开头的参数的问题
  • 原文地址:https://www.cnblogs.com/wgbo/p/10112265.html
Copyright © 2020-2023  润新知