SQLite 约束

约束是在表的数据列上强制执行的规则。这些是用来限制可以插入到表中的数据类型。这确保了数据库中数据的准确性和可靠性。

约束可以是列级或表级。列级约束仅适用于列,表级约束被应用到整个表。

以下是在 SQLite 中常用的约束。

  • NOT NULL 约束:确保某列不能有 NULL 值。

  • DEFAULT 约束:当某列没有指定值时,为该列提供默认值。

  • UNIQUE 约束:确保某列中的所有值是不同的。

  • PRIMARY Key 约束:唯一标识数据库表中的各行/记录。

  • CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。

CHECK 约束

CHECK 约束启用输入一条记录要检查值的条件。如果条件值为 false,则记录违反了约束,且不能输入到表。

实例

例如,下面的 SQLite 创建一个新的表 COMPANY,并增加了五列。在这里,我们为 SALARY 列添加 CHECK,所以工资不能为零:

CREATE TABLE COMPANY3(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL CHECK(SALARY > 0)
);

删除约束

SQLite 支持 ALTER TABLE 的有限子集。在 SQLite 中,ALTER TABLE 命令允许用户重命名表,或向现有表添加一个新的列。重命名列,删除一列,或从一个表中添加或删除约束都是不可能的。

最新文章

  1. SQL表新增触发(触发器)
  2. Codeforces Round #373 (Div. 2) E. Sasha and Array
  3. 软件测试第三次作业——7.使用下面方法printPrimes()完成后面的问题(a)~(f)
  4. jsp页面缓存清理
  5. 奇妙的动态代理:EF中返回的对象为什么序列化失败
  6. Java Synchronized Blocks
  7. VMware Tools安装
  8. ajax 乱码
  9. Java设计模式11:常用设计模式之代理模式(结构型模式)
  10. linux服务器上
  11. tomcat各版本和jsp、jstl、servlet的依赖关系(转)
  12. wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备
  13. 完全关闭IIS日志,包括System32下的LogFile
  14. 基于C#的接口自动化测试(一)
  15. c++ --> const关键字总结
  16. 深入学习Redis(3):主从复制
  17. 牛客小白月赛13-J小A的数学题 (莫比乌斯反演)
  18. CodeForces 461B Appleman and T
  19. luogu P2617 Dynamic Rankings && bzoj 1901 (带修改区间第k大)
  20. jvisualvm远程连接

热门文章

  1. leetcode 1214 Two Sum BSTs
  2. 编写自定义的django-admin命令
  3. Pacemaker+ISCSI实现Apache高可用-环境准备
  4. 通过scrapy,从模拟登录开始爬取知乎的问答数据
  5. 前台后台$.psot交互
  6. JS高级---复习
  7. webpack4.x基本配置
  8. 编译和链接(lib和dll区别)(转载)
  9. ColorPix——到目前为止最好用的屏幕取色器
  10. AcWing 852. spfa判断负环 边权可能为负数。