python sqlite3 创建字段类型
  0m5NSAqMb1kD 2023年11月24日 32 0

Python SQLite3 创建字段类型

简介

SQLite是一种嵌入式数据库引擎,使用SQL语言进行交互。它被广泛应用于移动设备和嵌入式系统中,也可以在服务器端和桌面应用中使用。Python提供了内置的sqlite3模块,使得在Python程序中使用SQLite变得十分简单。

本文将介绍如何使用Python的sqlite3模块创建SQLite数据库表,并设置不同字段类型。我们将学习如何创建整数、浮点数、文本、日期等不同类型的字段,并演示如何在这些字段上进行增删改查操作。

准备工作

在开始之前,我们需要确保已经安装了Python,并且sqlite3模块已经可用。可以通过以下命令来检查是否已安装sqlite3模块:

import sqlite3
print(sqlite3.version)

如果输出了版本号,则说明sqlite3模块已经安装成功。

创建数据库和表

首先,我们需要创建一个SQLite数据库,并在其中创建一个表来存储数据。可以使用以下代码创建数据库和表:

import sqlite3

# 连接到数据库(如果不存在则会创建)
conn = sqlite3.connect('example.db')

# 创建一个游标对象,用于执行SQL语句
cursor = conn.cursor()

# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS students
                  (id INTEGER PRIMARY KEY AUTOINCREMENT,
                   name TEXT NOT NULL,
                   age INTEGER,
                   gpa REAL,
                   birthday DATE);''')

# 提交事务
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()

上述代码创建了一个名为example.db的数据库,并在其中创建了一个名为students的表。students表包含了五个字段:idnameagegpabirthday。其中,id是主键,自动递增;name是文本类型,不能为空;age是整数类型;gpa是浮点数类型;birthday是日期类型。

插入数据

接下来,我们可以向表中插入一些数据。可以使用INSERT INTO语句将数据插入表中。下面的代码示例插入了两个学生的数据:

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 插入数据
cursor.execute("INSERT INTO students (name, age, gpa, birthday) VALUES (?, ?, ?, ?)",
               ('Alice', 20, 3.8, '2000-01-01'))
cursor.execute("INSERT INTO students (name, age, gpa, birthday) VALUES (?, ?, ?, ?)",
               ('Bob', 22, 3.5, '1998-05-10'))

# 提交事务
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()

上述代码使用了参数化查询,通过?占位符来指定要插入的数据。这样可以避免SQL注入攻击,并提高执行效率。

查询数据

现在,我们可以从表中查询数据。可以使用SELECT语句从表中选择数据。下面的代码示例查询了所有学生的姓名和年龄:

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 查询数据
cursor.execute("SELECT name, age FROM students")
rows = cursor.fetchall()

# 输出查询结果
for row in rows:
    print("Name: {}, Age: {}".format(row[0], row[1]))

# 关闭游标和连接
cursor.close()
conn.close()

上述代码通过SELECT name, age FROM students语句查询了students表中所有学生的姓名和年龄。然后,使用fetchall()方法获取查询结果,并通过循环输出每条记录的姓名和年龄。

更新数据

如果需要修改表中已有的数据,可以使用UPDATE语句。下面的代码示例将学生Alice的年龄修改为21

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 更新数据
cursor.execute("UPDATE students SET age = ? WHERE name = ?",
               (21, 'Alice'))

# 提交事务
conn.commit()

# 关闭游标和连接
cursor.close()
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月24日 0

暂无评论

推荐阅读
0m5NSAqMb1kD