SQLite数据库管理教程:创建与操作(二)
- 数据库
- 7天前
- 5热度
- 0评论
SQLite 是一款轻量级的关系型数据库管理系统,广泛应用于嵌入式设备、移动应用和小型项目中。本文将详细介绍如何使用 SQLite 创建数据库、管理表以及进行基本的数据操作。通过本文的学习,您将能够掌握 SQLite 的基本用法,为后续的数据库开发打下坚实的基础。
创建 SQLite 数据库
在 SQLite 中,创建数据库非常简单。您只需要使用 sqlite3 命令行工具,指定数据库文件名即可创建一个新的数据库文件。以下是创建数据库的基本步骤:
命令语法
$ sqlite3 DatabaseName.db例如,如果您想创建一个名为 testDB.db 的数据库,可以执行以下命令:
$ sqlite3 testDB.db执行上述命令后,SQLite 会在当前目录下创建一个名为 testDB.db 的文件,并进入 SQLite 的交互模式。此时,您会看到 sqlite> 提示符,表示可以开始执行 SQL 语句了。
验证数据库创建
为了确认数据库是否创建成功,您可以使用 .databases 命令查看当前连接的数据库列表:
sqlite> .databases
seq name file
--- --------------- ----------------------
0 main /path/to/testDB.db退出 SQLite 交互模式
完成数据库创建后,您可以使用 .quit 命令退出 SQLite 交互模式:
sqlite> .quit导出和导入数据库
SQLite 提供了一些便捷的命令,用于导出和导入数据库。这些功能在备份和恢复数据时非常有用。
导出数据库
使用 .dump 命令可以将整个数据库导出为一个包含 SQL 语句的文本文件。例如,将 testDB.db 导出为 testDB.sql 文件:
$ sqlite3 testDB.db .dump > testDB.sql导入数据库
使用 < 符号可以从一个包含 SQL 语句的文本文件中恢复数据库。例如,从 testDB.sql 文件恢复 testDB.db 数据库:
$ sqlite3 testDB.db < testDB.sql附加和分离数据库
在 SQLite 中,您可以同时连接多个数据库,并在这些数据库之间切换。这在处理多数据库环境时非常有用。
附加数据库
使用 ATTACH DATABASE 命令可以将一个数据库附加到当前会话中。语法如下:
ATTACH DATABASE 'file_name' AS 'database_name';例如,将 testDB.db 附加为 TEST 数据库:
sqlite> ATTACH DATABASE 'testDB.db' AS 'TEST';查看附加的数据库
使用 .database 命令可以查看当前会话中附加的所有数据库:
sqlite> .database
seq name file
--- --------------- ----------------------
0 main /path/to/testDB.db
2 TEST /path/to/testDB.db分离数据库
使用 DETACH DATABASE 命令可以将一个数据库从当前会话中分离。语法如下:
DETACH DATABASE 'database_name';例如,将 TEST 数据库从当前会话中分离:
sqlite> DETACH DATABASE 'TEST';创建表
在 SQLite 中,使用 CREATE TABLE 语句可以创建新的表。创建表时需要指定表名、列名及其数据类型。
语法
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype,
.....
columnN datatype
);示例
以下是一个创建 COMPANY 表的示例,其中 ID 列被设置为主键:
sqlite> CREATE TABLE COMPANY (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);验证表创建
使用 .tables 命令可以查看当前数据库中所有的表:
sqlite> .tables
COMPANY查看表结构
使用 .schema 命令可以查看表的详细结构:
sqlite> .schema COMPANY
CREATE TABLE COMPANY (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);删除表
使用 DROP TABLE 语句可以删除表及其所有相关数据。请注意,删除表后,表中的所有数据将不可恢复。
语法
DROP TABLE table_name;示例
假设您已经创建了 COMPANY 表,现在要将其删除:
sqlite> DROP TABLE COMPANY;删除表后,使用 .tables 命令验证表是否已被删除:
sqlite> .tables插入数据
使用 INSERT INTO 语句可以向表中插入新的数据行。插入数据时,可以指定列名及其对应的值,也可以直接插入所有列的值。
语法
INSERT INTO table_name (column1, column2, ..., columnN)
VALUES (value1, value2, ..., valueN);或者,如果插入所有列的值,可以省略列名:
INSERT INTO table_name VALUES (value1, value2, ..., valueN);示例
以下是一个向 COMPANY 表中插入数据的示例:
sqlite> INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00);
sqlite> INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00);
sqlite> INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00);
sqlite> INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00);
sqlite> INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00);
sqlite> INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00);
sqlite> INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00);查询数据
使用 SELECT 语句可以从表中检索数据。SELECT 语句的基本语法如下:
语法
SELECT column1, column2, ..., columnN FROM table_name;如果要检索所有列的数据,可以使用 * 通配符:
SELECT * FROM table_name;示例
假设 COMPANY 表中有以下记录:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0使用 SELECT 语句检索所有记录:
sqlite> .headers on
sqlite> .mode column
sqlite> SELECT * FROM COMPANY;
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0总结
通过本文的学习,您应该已经掌握了 SQLite 的基本操作,包括创建数据库、管理表、插入和查询数据。这些基础知识将为您进一步学习和使用 SQLite 打下坚实的基础。希望本文对您有所帮助,祝您在数据库开发的道路上越走越远!