1. 管理数据
在上一篇文章中,我们介绍了如何创建一个数据库,充分考虑了表格设计,列限制以及表的关系。而在本文中,我们将学习 INSERT(插入)、DELETE(删除)和 UPDATE(更新)记录,事实上,这些操作比 SELECT 语句更简单。
1.1 插入数据
在一个关系数据库中,数据只有在接收到记录时才会产生。INSERT 正是将记录插入数据库的语句,你可以选择只选择某几列来添加数据,然后让其他的保留缺失值 null 或者默认值。
首先我们将会在上一篇文章建立的 SurgeTech 数据库中插入数据,首先导入数据库:
-
使用Jupyter Notebook 运行 SQL 语句需安装 ipython-sql
-
%sql 以及 %%sql 为在 Notebook 中运行 SQL 语句,在 SQLite 命令行或 SQLite Stiduo 中不需要 %sql 或 %%sql
载入 SQL 以及连接 SQLite:
%load_ext sql
%sql sqlite:///DataBase/surgetech_conference2.db
'Connected: @DataBase/surgetech_conference2.db'

你可以将你的名字插入到数据库中:
%%sql
INSERT INTO attendee (first_name, last_name)
VALUES('Thomas', 'Nield')
* sqlite:///DataBase/surgetech_conference2.db
1 rows affected.
可以看到,我们已经将 ‘Thomas’,‘Nield’ 分别插入到了 FIRST_NAME 和 LAST_NAME,而由于 ATTENDEE_ID 设置了 ‘AUTOINCREMENT’(详见上篇文章),因此自动编号为 1 ,而 VIP 由于默认值为 0 ,因此也具有数值,设下的 PHONE 和 EMAIL 则仍为缺失值。
事实上,在 SQLite 中设置 AUTOINCREMENT 是没有必要的,只是在如 MySQL 等其他平台才需要。因为在 SQLite 中,只要一列数据是整形并且为主键,则当有新的记录时就会自动编号
%%sql
SELECT * from attendee
attendee_id | first_name | last_name | phone | vip | |
---|---|---|---|---|---|
1 | Thomas | Nield |