美文网首页
part8. 高级SQL特性

part8. 高级SQL特性

作者: katelin | 来源:发表于2019-01-07 17:33 被阅读0次

第22课 高级SQL特性

约束

1.约束:管理如何插入或管理数据库数据的规则
DBMS通过在数据库表上施加约束来实施引用完整性

  1. 主键:
  • 任意两行的主键值都不相同
  • 每行都具有一个主键值,列中不允许NULL值
  • 包含主键值的列从不修改或更新
  • 主键值不能重用
CREATE TABLE Vendors
(
    vend_id  CHAR(10)  NOT NULL  PRIMARY KEY,
    vend_name  CHAR(50)  NOT NULL,
...
)
ALTER TABLE Vendors
ADD CONSTRAINT PRIMARY KEY (vend_id);
  1. 外键:
ALTER TABLE Orders
ADD CONSTRAINT
FOREIGN KEY(cust_id) REFERENCES Customers(cust_id);
  1. 唯一约束UNIQUE
    表可包含多个唯一约束,唯一约束列可包含NULL值,可修改或更新,可重复使用,不能用来定义外键

  2. 检查约束

quantity  INTEGER  NOT NULL  CHECK (quantity>0)
ADD CONSTRAINT CHECK (gender LIKE '[MF]')

索引

CREATE INDEX prod_name_ind
ON Products (prod_name);

触发器

CREATE TRIGGER customer_state
ON Customers
FOR INSERT, UPDATE
AS
UPDATE Customers
SET cust_state=UPPER(cust_state)
WHERE Customers.cust_id=inserted.cust_id;

相关文章

  • part8. 高级SQL特性

    第22课 高级SQL特性 约束 1.约束:管理如何插入或管理数据库数据的规则DBMS通过在数据库表上施加约束来实施...

  • postgresql with(CTE)查询

    WITH查询是PostgreSQL支持的高级SQL特性之一,这一特性常称为CTE(Common Table Exp...

  • SQL学习二十、SQL高级特性

    约束(constraint) 管理如何插入或处理数据库数据的规则。 DBMS 通过在数据库表上施加约束来实施引用完...

  • sql语法以及高级特性

    sql语法 表与列 创建表 在关系模型中,每个关系是一个数据实体。在sql中可以通过create table命令创...

  • Learning Spark [4] - Spark SQL

    Spark SQL为Spark提供了以下几个特性: 提供高级结构框架的API(见Learning Spark [3...

  • mybatis--特性,特点,ORM思想

    MyBatis特性:① MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架②MyBatis避...

  • 第三章 高级特性

    3.1 介绍 我们现在将讨论一些SQL更高级的特性, 这些特性可以简化管理和避免数据的丢失或损坏。最后,我们将看看...

  • SQL 高级 01

    SQL 高级 02 SQL 高级 03 SQLite Limit 子句 SQLite 的 LIMIT 子句用于限制...

  • SQL 高级 02

    SQL 高级 01 SQL 高级 03 SELECT INTO 语句 SELECT INTO 语句从一个表中选取数...

  • 使用Netty,我们到底在开发些什么?

    您可能感兴趣的文章: 大数据成神之路系列:Java高级特性增强-集合Java高级特性增强-多线程Java高级特性增...

网友评论

      本文标题:part8. 高级SQL特性

      本文链接:https://www.haomeiwen.com/subject/lazsrqtx.html