SQLite 在SQLite中设置列的默认值
在本文中,我们将介绍如何在SQLite数据库中设置列的默认值。SQLite是一个嵌入式关系型数据库管理系统,被广泛应用于移动设备和嵌入式系统中。
阅读更多:SQLite 教程
什么是默认值
默认值是当没有显式指定值时,被赋予给数据库表中某一列的值。当插入新记录时,如果没有指定该列的值,数据库会自动填充默认值。默认值可以是一个固定值,也可以是一个表达式。
在创建表时设置默认值
在创建表时,可以通过使用DEFAULT关键字来设置列的默认值。例如,我们创建一个名为Employees的表,其中包含列ID、Name、Age和Salary,Salary列的默认值为5000:
CREATE TABLE Employees (
ID INTEGER PRIMARY KEY,
Name TEXT,
Age INTEGER,
Salary REAL DEFAULT 5000
);
在这个例子中,如果在插入新记录时没有指定Salary的值,数据库会将其默认设置为5000。
修改表结构添加默认值
如果已经创建了一个表,但是想要为一个某列添加默认值,可以使用ALTER TABLE语句。
例如,我们想要向上述的Employees表中添加一个Phone列,并且将Phone列的默认值设置为NULL:
ALTER TABLE Employees ADD COLUMN Phone TEXT DEFAULT NULL;
在这个例子中,如果在插入新记录时没有指定Phone的值,数据库会将其默认设置为NULL。
修改默认值
如果想要修改已有列的默认值,同样可以使用ALTER TABLE语句。
假设我们想要将Employees表中Salary列的默认值修改为6000:
ALTER TABLE Employees ALTER COLUMN Salary SET DEFAULT 6000;
删除默认值
如果想要删除已有列的默认值,同样可以使用ALTER TABLE语句。
假设我们想要删除Employees表中Salary列的默认值:
ALTER TABLE Employees ALTER COLUMN Salary DROP DEFAULT;
示例
为了更好地理解如何在SQLite中设置列的默认值,我们来看一个示例。
假设我们有一个名为Products的表,其中包含列ID、Name和Price。我们希望Name列的默认值为”Unknown”,Price列的默认值为0。
首先,我们创建这个表并设置默认值:
CREATE TABLE Products (
ID INTEGER PRIMARY KEY,
Name TEXT DEFAULT "Unknown",
Price REAL DEFAULT 0
);
然后,我们插入几条记录来验证默认值是否生效:
INSERT INTO Products (ID, Name, Price) VALUES (1, "Apple", 2.5);
INSERT INTO Products (ID, Name) VALUES (2, "Orange");
INSERT INTO Products (ID, Price) VALUES (3, 1.5);
INSERT INTO Products (ID) VALUES (4);
在这个示例中,当没有指定Name和Price的值时,它们将会被设置为默认值。因此,第二条插入语句中的Name列为”Unknown”,第三条插入语句中的Price列为0。
总结
通过本文,我们学习了在SQLite中设置列的默认值的方法。我们可以在创建表时设置默认值,也可以通过ALTER TABLE语句来添加、修改或删除默认值。通过合理设置默认值,可以简化数据库操作并提高数据的完整性。SQLite提供了丰富的选项来满足各种需求,使得开发者能够更好地管理和操作数据。
极客笔记