SQLite是一个轻量级的嵌入式关系型数据库,它不像MySQL或者Oracle那样需要独立的服务器来运行,而是直接嵌入到应用程序中,适合用于移动设备或者小型应用程序的开发。在SQLite中,我们需要通过建表的方式来定义数据库中的数据结构,下面将详细介绍如何在SQLite中建表。
在SQLite中,要创建一个新的数据库,我们需要使用sqlite3命令来打开一个新的数据库文件。例如,我们可以通过以下命令打开一个名为test.db的数据库文件:
sqlite3 test.db
执行以上命令后,将会打开一个交互式的SQLite命令行界面,我们可以在这个界面中执行SQL语句来操作数据库。
在SQLite中,要创建一个新的表,我们需要使用CREATE TABLE语句,表的结构由列的名称和数据类型组成。下面是一个简单的示例:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
);
以上SQL语句创建了一个名为users的表,表中包含id、name和age三列。其中id列是主键,并且是自增的,name列的数据类型是TEXT,age列的数据类型是INTEGER。
SQLite支持多种数据类型,常用的数据类型包括:
在SQLite中,主键用于确保表中的每一行都有一个唯一的标识符。在建表时,可以使用PRIMARY KEY约束来指定某一列作为主键。如果没有指定PRIMARY KEY,那么SQLite将会自动创建一个名为rowid的隐藏列作为主键。
SQLite支持外键约束,用于确保两个表之间的关系完整性。在建表时,可以使用FOREIGN KEY约束来定义外键。例如,以下SQL语句创建了一个orders表和一个users表,orders表中有一个user_id列用来关联users表的id列:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT
);
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
user_id INTEGER,
amount REAL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
在上面的示例中,user_id列在orders表中定义为外键,通过FOREIGN KEY约束关联到users表的id列。
下面是一个完整的示例代码,演示了如何在SQLite中建表,并插入一些数据:
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
);
INSERT INTO students (name, age) VALUES ('Alice', 20);
INSERT INTO students (name, age) VALUES ('Bob', 22);
INSERT INTO students (name, age) VALUES ('Charlie', 21);
SELECT * FROM students;
执行以上代码后,将会创建一个名为students的表,并向表中插入三条数据,然后查询并输出表中的所有数据。
执行上面的示例代码后,将会得到如下运行结果:
1|Alice|20
2|Bob|22
3|Charlie|21
本文链接:http://so.lmcjl.com/news/15277/