zoukankan      html  css  js  c++  java
  • SQLite

    参考:SQLite SQLite
    
    
    
    # 基于表(Table)的一对多的关系就是关系数据库的基础。
    # 表是数据库中存放关系数据的集合,一个数据库里面通常都包含多个表,表和表之间通过外键关联。
    # 首先连接到数据库,一个数据库连接称为Connection;
    # 连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。
    
    import sqlite3 as SQL
    # 如果文件不存在,会自动在当前目录创建,timeout默认为5
    # Connection和Cursor对象,打开后一定记得关闭
    conn=SQL.connect('SQL\test.db',timeout=5)
    # 创建在内存上面,执行完任何操作后,都不需要提交事务的(commit)
    # conn = sqlite3.connect('"memory:')
    
    # 创建一个Cursor.
    cursor=conn.cursor() 
    # 执行语句
    # 使用Cursor对象执行insert,update,delete语句时,执行结果由rowcount返回影响的行数,就可以拿到执行结果。
    # 使用Cursor对象执行select语句时,通过featchall()可以拿到结果集。结果集是一个list,每个元素都是一个tuple,对应一行记录。
    # 如果SQL语句带有参数,那么需要把参数按照位置传递给execute()方法,有几个?占位符就必须对应几个参数,参数用元组方式传入。
    # REAL:浮点数,存储为IEEE 8byte浮点数
    # TEXT:文本字符串,缺省的编码为utf-8
    # INT:带符号的整数,根据值的大小,自动存储为1,2,3,4,5,8字节6种
    # char :字符
    
    cursor.execute('create table user (id INT  primary key , name varchar(20) not null)')
    # 添加列
    #cursor.execute('ALTER TABLE user ADD COLUMN age int')
    
    # 插入数据
    cursor.execute(r"insert into user (id, name) values (1, 'huang1')")
    cursor.execute(r"insert into user (id, name) values (2, 'huang2')")
    # 通过rowcount获得插入的行数:
    print(cursor.rowcount)
    # 获取查询结果集中所有(剩余)的行,返回一个列表。当没有可用的行时,则返回一个空的列表。
    cursor.execute('select * from user')
    values = cursor.fetchall()
    print(values)
    cursor.execute(r"UPDATE user set name = 'qiang' where ID=2")
    # 通过rowcount获得插入的行数:
    print(cursor.rowcount)
    cursor.execute('select * from user')
    values = cursor.fetchall()
    print(values)
    cursor.execute('DELETE from user where ID=2')
    # 通过rowcount获得插入的行数:
    print(cursor.rowcount)
    cursor.execute('select * from user')
    values = cursor.fetchall()
    print(values)
    # 关闭游标
    cursor.close()
    # 该方法回滚自上一次调用 commit() 以来对数据库所做的更改。
    # conn.rollback()
    # commit-->close
    # 提交事务:
    conn.commit()
    conn.close()
    
  • 相关阅读:
    android不知不觉偷拍他人功能实现(手机关闭依然拍照)【申明:来源于网络】
    地图标绘系统V1.0测试版【申明:来源于网络】
    AngularJS资源合集[备忘]【申明:来源于网络】
    java+js实现展示本地文件夹下的所有图片demo[申明:来源于网络]
    angular源码分析 摘抄 王大鹏 博客 directive指令及系列
    jQuery学习之prop和attr的区别
    顽Shi的实践总结
    URL 中#号,? ,&的作用 (摘抄整理 链接为学习地址)
    YeoMan 与Angularjs
    an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)
  • 原文地址:https://www.cnblogs.com/huangqiang97/p/11839208.html
Copyright © 2011-2022 走看看