📜  插入数据 (1)

📅  最后修改于: 2023-12-03 15:39:51.751000             🧑  作者: Mango

插入数据

在编写数据库应用程序时,插入数据是一个非常基础和重要的操作。本文将介绍如何使用 SQL 和一些编程语言来插入数据。

SQL

首先,我们来看一下在 SQL 中如何插入数据。假设我们有一个 users 表,其中包含 idname 两个字段。

插入单条数据

要插入一条数据,可以使用 INSERT INTO 语句:

INSERT INTO users (id, name) VALUES (1, 'Alice');

这个语句会在 users 表中插入一条记录,其 id 为 1,name 为 "Alice"。

插入多条数据

要插入多条数据,可以使用如下语法:

INSERT INTO users (id, name) 
VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Charlie');

这个语句会在 users 表中插入三条记录,分别为 (1, 'Alice')(2, 'Bob')(3, 'Charlie')

Python

下面我们来看一下在 Python 中如何插入数据。我们假设已经连接到一个 SQLite 数据库,并且定义了一个 User 类型来表示一个用户。

import sqlite3

class User:
    def __init__(self, id, name):
        self.id = id
        self.name = name

    def __repr__(self):
        return f"<User {self.id}: {self.name}>"
插入单条数据

要插入一条数据,可以使用 INSERT INTO 语句和参数化查询:

def insert_user(user):
    with sqlite3.connect("mydatabase.db") as conn:
        c = conn.cursor()
        c.execute("INSERT INTO users (id, name) VALUES (?, ?)", (user.id, user.name))
        conn.commit()
插入多条数据

要插入多条数据,可以使用 SQL 的语法和 Python 里的循环:

def insert_users(users):
    with sqlite3.connect("mydatabase.db") as conn:
        c = conn.cursor()
        values = [(u.id, u.name) for u in users]
        c.executemany("INSERT INTO users (id, name) VALUES (?, ?)", values)
        conn.commit()
Conclusion

插入数据是编写数据库应用程序时的基础操作之一。无论是在 SQL 还是在编程语言中,了解如何插入数据都是非常必要的。