SQL如何用代码填入表
在SQL数据库中,表是一个非常重要的概念。表格是用来表示数据的一种结构化格式,每个表通常包含多行数据,每行数据由固定数量的列组成。当我们需要向表中插入数据时,可以通过SQL语句来实现。
SQL INSERT INTO语句
在SQL中,插入数据到表中的操作通常使用INSERT INTO
语句。INSERT INTO
语句可以插入一行或者多行数据到表格中。
语法:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
table_name
: 表示要插入数据的表格名称。column1, column2, column3, ...
: 表示要插入数据到哪些列。value1, value2, value3, ...
: 表示要插入的数据值。
下面是一个示例,演示如何使用INSERT INTO
语句将数据插入到一个表中:
CREATE TABLE Students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
INSERT INTO Students (id, name, age)
VALUES (1, 'Alice', 20),
(2, 'Bob', 22),
(3, 'Cathy', 21);
上面的示例首先创建了一个名为Students
的表格,包含三个列:id
, name
, age
。然后使用INSERT INTO
语句将三行数据插入到表中。
SQL INSERT INTO…SELECT语句
除了直接插入固定的值之外,我们还可以使用INSERT INTO...SELECT
语句从一个表中选择数据插入到另一个表中。
语法:
INSERT INTO table_name (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM source_table
WHERE condition;
table_name
: 表示要插入数据的表格名称。column1, column2, column3, ...
: 表示要插入数据到哪些列。source_table
: 表示要从哪个表中选择数据。condition
: 表示选择数据的条件。
下面是一个示例,演示如何使用INSERT INTO...SELECT
语句将一张表中的数据插入到另一张表中:
CREATE TABLE Students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
CREATE TABLE Students_backup (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
INSERT INTO Students (id, name, age)
VALUES (1, 'Alice', 20),
(2, 'Bob', 22),
(3, 'Cathy', 21);
INSERT INTO Students_backup (id, name, age)
SELECT id, name, age
FROM Students;
上面的示例首先创建了两个表格Students
和Students_backup
,然后使用INSERT INTO...SELECT
语句将Students
表中的数据插入到Students_backup
表中。
使用代码填充表格
当我们需要往表格中插入大量的数据时,手动一个一个地插入显然不太现实。此时我们可以通过编写脚本代码来实现批量插入数据。
下面是一个示例,演示如何使用Python来批量插入数据到表格中。首先我们需要安装sqlite3
模块,用于连接SQLite数据库。
import sqlite3
# 连接数据库
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 创建表格
cursor.execute('''CREATE TABLE IF NOT EXISTS Students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
)''')
# 准备数据
data = [
(1, 'Alice', 20),
(2, 'Bob', 22),
(3, 'Cathy', 21)
]
# 批量插入数据
cursor.executemany('INSERT INTO Students (id, name, age) VALUES (?, ?, ?)', data)
# 提交更改
conn.commit()
# 关闭连接
conn.close()
上面的示例使用Python连接了SQLite数据库,并创建了一个名为Students
的表格。然后准备了三行数据,最后使用cursor.executemany()
方法批量插入数据到表格中。
总结
通过上述示例,我们详细介绍了如何通过SQL语句和代码来填充表格数据。无论是简单直接地插入数值,还是通过复杂的查询语句进行数据的填充,我们都可以根据具体的需求选择合适的方法。