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()
    
  • 相关阅读:
    Objective-c Category(类别)
    协议(porotocol)
    类的通用格式
    objective-c 强大的布尔类型
    C 语言函数指针
    c while 循环
    jQuery的deferred对象详解
    exploring the http Object
    div+css定位position详解
    如何给变量取个简短且无歧义的名字
  • 原文地址:https://www.cnblogs.com/huangqiang97/p/11839208.html
Copyright © 2011-2022 走看看