zoukankan      html  css  js  c++  java
  • 第11天 | 12天搞定Python,数据库操作

    无论你学任何编程语言,数据库都必须要学会,否则你的数据存在哪,总不能用手端着吧?数据库是“按照数据结构来组织、存储和管理数据的仓库”,它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。

    中小型企业用得较多的是Sql Server和MySql数据库,大型企业用得较多的是Oracle数据库。在平时开发单机软件时,大多数人会选择用SQLite数据库。

    SQLite是一个无服务器、零配置的SQL 数据库引擎,是在世界上最广泛部署的 SQL 数据库引擎它的源代码不受版权限制。智能手机(Android或iPhone)本地内置支持的数据库就是SQLite。Python内置就提供了对SQLite3数据库操作的支持,在代码中直接导入即可使用。

    1. 创建数据库和表

    引入sqlite开发包,用connect打开(不存在就创建)数据库文件,创建游标cursor,执行Sql语句。

    import sqlite3
    
    # 创建一个数据库
    conn = sqlite3.connect("sales.db")
    # 创建游标
    cursor = conn.cursor()
    # 执行语句创建表的语句
    createTable = "Create Table Customer(id int, name text, address text)"
    cursor.execute(createTable)
    # 关闭数据库的链接
    cursor.close()

    输出结果(sales.db文件内容)

     2. 插入数据

    可单条或批量插入数据。记得加上conn.commit()进行命令提交。

    import sqlite3
    
    # 创建一个数据库
    conn = sqlite3.connect("sales.db")
    # 创建游标
    cursor = conn.cursor()
    # 添加单条数据
    data = "1,'高科技企业','青藏高原1号1路222'"
    cursor.execute('INSERT INTO Customer VALUES (%s)' % data)
    # 添加单条数据
    cursor.execute("INSERT INTO Customer values(?,?,?)",
                   (2, "高高在上科技", "黄土高坡3号3单元"))
    # 添加多条数据
    cursor.executemany('INSERT INTO Customer VALUES (?,?,?)',
                       [(3, "牛逼公司", "在最牛的9栋9单元上"),
                        (4, "真的好科技无限公司", "在一个无人知道的地方")])
    conn.commit()
    # 关闭数据库的链接
    cursor.close()
    conn.close()

    输出结果

     3. 修改数据

    修改单行数据时,用id指定。修改全部时,可去掉where语句。

    import sqlite3
    
    # 创建一个数据库
    conn = sqlite3.connect("sales.db")
    # 创建游标
    cursor = conn.cursor()
    # 方式一
    cursor.execute("UPDATE Customer SET name=? WHERE id=?", ("吹牛皮企业", 1))
    # 方式二
    cursor.execute("UPDATE Customer SET name='这里有家皮包公司' WHERE id=2")
    conn.commit()
    # 关闭数据库的链接
    cursor.close()
    conn.close()

    输出结果(第1和第2条记录的客户名称name被修改了)

    4. 删除数据

    用where指定删除行的id,如果不指定,将删除全部,这个要注意。

    import sqlite3
    
    # 创建一个数据库
    conn = sqlite3.connect("sales.db")
    # 创建游标
    cursor = conn.cursor()
    # 方式一
    cursor.execute("DELETE FROM Customer WHERE id=?", (1,))
    # 方式二
    cursor.execute("DELETE FROM Customer WHERE id=2")
    conn.commit()
    # 关闭数据库的链接
    cursor.close()
    conn.close()

    输出结果(第1和第2条记录被删除了)

    ......

  • 相关阅读:
    Delphi XE5 for Android (六)
    Delphi XE5 for Android (四)
    Delphi XE5 for Android (三)
    如何设计并使用FireMonkeyStyle
    Indy发送邮件被kbas退掉
    Indy10收发Hotmail邮件
    一个简单的打印监控示例
    DataSnap侦听端口动态设置问题
    面试题总结一
    spring boot RESTFul API拦截 以及Filter和interceptor 、Aspect区别
  • 原文地址:https://www.cnblogs.com/halfcode/p/13852498.html
Copyright © 2011-2022 走看看