面试题答案
一键面试- 在SQLite中创建包含主键约束的表:
- 方式一:在创建表时直接指定主键列,语法如下:
例如创建一个CREATE TABLE your_table_name ( column1 data_type PRIMARY KEY, column2 data_type, ... );
students
表,以student_id
作为主键:CREATE TABLE students ( student_id INTEGER PRIMARY KEY, student_name TEXT, age INTEGER );
- 方式二:在创建表时使用
CONSTRAINT
关键字定义主键约束,语法如下:
例如:CREATE TABLE your_table_name ( column1 data_type, column2 data_type, ..., CONSTRAINT constraint_name PRIMARY KEY (column1) );
CREATE TABLE students ( student_id INTEGER, student_name TEXT, age INTEGER, CONSTRAINT pk_students PRIMARY KEY (student_id) );
- 主键约束在数据完整性方面的作用:
- 唯一性保证:主键约束确保表中每一行数据在主键列上的值是唯一的。这可以防止在表中插入重复的数据行,比如在
students
表中,每个学生的student_id
必须是唯一的,避免出现两个学生有相同的student_id
。 - 标识特定行:主键可以作为表中每一行数据的唯一标识。通过主键,可以方便地定位和操作特定的行数据,比如查询、更新或删除某一个特定学生的记录。
- 外键关联基础:主键经常被用作其他表中外键关联的基础。例如有一个
scores
表记录学生的成绩,其中可能会有一个student_id
外键关联到students
表的student_id
主键,保证成绩数据与学生数据的正确关联。
- 唯一性保证:主键约束确保表中每一行数据在主键列上的值是唯一的。这可以防止在表中插入重复的数据行,比如在
- 如果插入违反主键约束的数据,SQLite默认如何处理:
- SQLite默认会抛出一个错误,阻止插入操作。例如在上述
students
表中,如果尝试插入一个student_id
已经存在的记录,SQLite会返回一个类似SQLITE_CONSTRAINT_PRIMARYKEY
的错误,表明违反了主键约束,插入操作失败。
- SQLite默认会抛出一个错误,阻止插入操作。例如在上述