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 ...
随机推荐
- hdu 5072 Coprime (容斥)
Problem Description There are n people standing in a line. Each of them has a unique id number. Now ...
- 源码分析之spring-JdbcTemplate日志打印sql语句
对于开源的项目来说的好处就是我们遇到什么问题可以通过看源码来解决. 比如近期有个同事问我说,为啥JdbcTemplate中只有在Error的时候才打印出sql语句呢.我一想,这和log的配置有关系吧. ...
- WebService--使用 CXF 开发 REST 服务
现在您已经学会了如何使用 CXF 开发基于 SOAP 的 Web 服务,也领略了 Spring + CXF 这个强大的组合,如果您错过了这精彩的一幕,请回头看看这篇吧: Web Service 那点事 ...
- ipython with ubuntu
在Linux环境下,其实IDE环境配置比较容易配.所以建议用linux做开发. 首选启动终端:Ctrl+Alt+T sudo apt-get update sudo apt-get install p ...
- 常用的50条linux 命令
从今天起,咱开始正式学习python了,于是遍整理了50条linux的常用命令. 1 线上查询帮助命令 :man 遇到什么不会的命令可以 man +你想要查询的命令 (需要有网),因为是英文的所以 ...
- DevExpress控件-GridControl根据条件改变单元格/行颜色--转载
DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...
- 工欲善其事必先利其器---SQL在线可视化模型设计,(还可学习拖拽知识)
作为技术人员,在开发项目中,不可避免的要跟数据库打交道,一个完整的项目正常情况下是讨论完整体需求,有了大致的框框在脑海中后,是需要设计合理的数据库的,这时会有其他的专业的UML建模工具可以使用, 但是 ...
- C#创建Windows服务的几个注意事项
1.服务安装后的自动启动:服务的StartType即使配置成Automatic,在首次安装成功之后还是要在服务列表中找到并手工启动.此外,可以通过在ProjectInstaller中添加AfterIn ...
- HTTP get、post请求
Post请求: string postData = "user=123&pass=456"; // 要发放的数据 byte[] byteArray = Encoding.U ...
- SimpleDateFormat的部分方法
1,语法格式:new SimpleDateFormat("yyyy-MM-dd HH:mm") parse:String-->Date format:Date-->St ...