SQLite-CONSTRAINTS(约束)
SQLite – CONSTRAINTS(约束)
约束是数据列在表上执行的规则。这些是用来限制的数据类型可以进入一个表。这样可以确保数据的准确性和可靠性在数据库中。
级或表级约束可以列。列级约束是仅适用于一个列在表级约束应用于整个表。
以下是常用的约束在SQLite。
- NOT NULL Constraint: 确保列不能为空值。
- DEFAULT Constraint : 提供了一个列的默认值时没有指定。
- UNIQUE Constraint: 确保列中的所有值是不同的。
- PRIMARY Key: 惟一地标识每个行/记录在一个数据库表中。
- CHECK Constraint: 检查约束确保列中的所有值满足某些条件。
Not Null Constraint约束
默认情况下,一个列可以容纳NULL值。如果你不想要一个列有一个空值,那么您需要定义这些约束在这列指定NULL列现在不允许。
空不等于没有数据,相反,它代表了未知数据。
例子:
例如,下面的SQLite语句创建一个新的表称为公司,增加了五列,三,ID和姓名和年龄,不接受指定null:
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
DEFAUL约束
默认约束提供了一个默认值时,一列插入语句不提供一个特定的值。
例子:
列补充道。这里,薪水列默认设置为5000.00,所以如果插入语句为本专栏不提供一个值,那么默认情况下,本专栏将被设置为5000.00。
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL DEFAULT 50000.00
);
UUNIQUE(唯一)约束
独特的约束阻止两个记录有相同的值在一个特定的列。公司的表,例如,您可能想要阻止两个或两个以上的人拥有相同的年龄。
例子:
列补充道。列在这里,年龄是独一无二的,所以你不能有两个记录相同的年龄:
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL UNIQUE,
ADDRESS CHAR(50),
SALARY REAL DEFAULT 50000.00
);
PRIMARY KEY约束
主键约束惟一地标识每个记录在一个数据库表中。可以有更多独特的列,但只有一个表中的主键。主键是重要的在设计数据库表。主键是唯一的id。
我们用它们来参考表行。主键成为其他表的外键,当创建表之间的关系。由于长期存在的编码监督,主键在SQLite可以为空。与其他数据库情况并非如此。
主键是表中的一个字段唯一地标识每一行/记录在一个数据库表中。主键必须包含唯一的值。一个主键列不能为空值。
一个表只能有一个主键,可能由单个或多个字段。当使用多个字段主键,他们被称为一个composite key(复合键)。
如果一个表定义一个主键字段(s),那么你不能有两个记录有相同的值,字段(s)。如果一个表上定义一个主键
例子:
你已经看过上面各种示例,我们创造了公司的表与ID主键:
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
Check约束
检查约束使条件检查进入一个记录的值。如果条件的求值结果为false,记录违反约束,不输入到表。
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)
);
Dropping约束:
SQLite支持有限子集的ALTER TABLE。SQLite的ALTER TABLE命令允许用户重命名一个表或添加一个新的列到现有的表。不能重命名一个列,删除一列,或者从一个表添加或删除约束。
SQLite-CONSTRAINTS(约束)的更多相关文章
- SQLite 入门教程(三)好多约束 Constraints(转)
转于: SQLite 入门教程(三)好多约束 Constraints 一.约束 Constraints 在上一篇随笔的结尾,我提到了约束, 但是在那里我把它翻译成了限定符,不太准确,这里先更正一下,应 ...
- SQLite 入门教程(三)好多约束 Constraints
一.约束 Constraints 在上一篇随笔的结尾,我提到了约束, 但是在那里我把它翻译成了限定符,不太准确,这里先更正一下,应该翻译成约束更贴切一点. 那么什么是约束呢? 我们在数据库中存储数据的 ...
- Sqlite 约束条件 Constraints
一.约束 Constraints 我们在数据库中存储数据的时候,有一些数据有明显的约束条件. 比如一所学校关于教师的数据表,其中的字段列可能有如下约束: 年龄 - 至少大于20岁.如果你想录入一个小于 ...
- Oracle约束操作
约束的概念: 约束是在表中定义的用于维护数据库完整性的一些规则.通过为表中的字段定义约 束,可以防止将错误的数据插入到表中. 注意: 1.如果某个约束只作用于单独的字段,既可以在字段级定义约束,也可以 ...
- sqlte3 的约束
约束是在表的数据列上强制执行的规则.这些是用来限制可以插入到表中的数据类型.这确保了数据库中数据的准确性和可靠性. 约束可以是列级或表级.列级约束仅适用于列,表级约束被应用到整个表. 以下是在 SQL ...
- Sqlite - constraint failed[0x1555]: UNIQUE constraint failed
执行插入操作时,出现异常constraint failed[0x1555]: UNIQUE constraint failed 意思是:sqlite 唯一约束失败 定位于某个表字段上,该字段是表的主键 ...
- sql--select into,create database,create table,Constraints
SQL SELECT INTO 语句可用于创建表的备份复件.SELECT INTO 语句SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中.SELECT INTO 语句常用于创建 ...
- Android Lint Checks
Android Lint Checks Here are the current list of checks that lint performs as of Android Studio 2.3 ...
- Unity 重要基础知识点
这是两个月前的学习记录,发出来了下,如果有误欢迎大家指出: 脚本生命周期 //每当脚本被加载时调用一次 // 1. 在Awake中做一些初始化操作 void Awake(){ //初始化publi ...
随机推荐
- LeetCode 191. Number of 1 Bits Question
题意:给你一个整数,计算该整数的二进制形式里有多少个“1”.比如6(110),就有2个“1”. 一开始我就把数字n不断右移,然后判定最右位是否为1,是就cnt++,否则就继续右移直到n为0. 可是题目 ...
- maven编写主代码与测试代码
3.2 编写主代码 项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(比如jar),而测试代码只在运行测试时用到,不会被打包.默认情况下,Maven假设项目主代码位于src/main/ja ...
- Beyond Compare 忽略两个文件内容的顺序比较文件内容(xjl456852原创)
有时两个文件内容的顺序是不固定的,对比时需要忽略文件顺序进行对比. 可以这样设置: 点击菜单下面工具栏按钮: 点击Format旁的三角,选择Sorted,就会按文件的顺序排序比较.忽略了文件内容顺序的 ...
- LoadRunner录制回放脚本RecContentType=application/json报错
今天做一个新项目,项目系统的框架是用SSH,特意查看了一下项目源码,用的ajax提交比较多,主要的问题是该系统对IE(8~10)浏览器都不兼容,无法进行录制. 是问题,总有解决的办法! 我本机为Loa ...
- git 学习笔记一
1.git的 介绍 分布式和 集中式 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟, ...
- Hacker(18)----了解Windows系统漏洞
一.WinXP中的漏洞 在WinXP中,常见的漏洞主要有UPNP服务漏洞.帮助与支持中心漏洞.压缩文件夹漏洞.服务拒绝漏洞.RDP漏洞以及热键漏洞. 1.UPNP服务漏洞 漏洞描述:UPNP(Univ ...
- 普通用户登录PLSQL后提示空白OK对话框错误
问题描述: 1.普通域账号登录域成员服务器后,打开PLSQL正常,输入用户名密码登录后提示一个空白的OK对话框,点确定后又返回到输入用户密码界面. 2.在CMD窗口下调用SQLPLUS登录数据库时报如 ...
- UIApplication的作用
1.设置app图标右上角的数字2.设置状态栏的属性(样式.是否要显示)3.打开某个链接\发短信\打电话4.keyWindow : 访问程序的主窗口(一个程序只能有一个主窗口)5.windows : 访 ...
- C# 创建验证码图片
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; us ...
- 货币小写转大写.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...