• table 基础属性


    唯一值约束(unique):

      一张表 可以有多个列 添加唯一值约束,只能允许一列为空值。

    复合唯一性约束unique(sid, kid):

      创建 constraint uc_sk unique(sid, kid)

      删除 alter table t1 drop index uc_sk 

    主键约束(primary key):

      一张表只能有一列设置为主键,主键唯一 且不能为空,innoDB引擎主键即索引。(唯一值约束 + 非空约束)

      当选用innodb存储引擎时,会在主键设置索引,记录存放顺序--索引。

    自增主键(auto_increment not null primary key):

      添加新纪录时,主键默认为上条记录的 主键值加一。

    复合主键 primary key(sid, kid):

      

    check约束  适用于微软的(sql Server)

    外键约束:

      被引用表的列 必须是 主键、唯一的、不为空,且表的存储引擎 为 innodb

      参照动作:cascade(相应操作),restrict(拒绝操作),set null(设为空),no action(不修改),set default(默认值)。

     从表语句:

    create table score
    (
    sid int not null,
    mark int,
    constraint score_fk foreign key(sid)
    references student(sid) on delete cascade on update cascade
    )engine=innodb

      指定参照动作,主表记录做修改、删除,从表引用的列会做相应修改、或不修改、拒绝修改 或 设为默认值

      注意:引用表的列必须为主键,且在删除引用表时 必须删除引用从属关系 或 删除当前表。

    创建表 if not exists

    CREATE TABLE IF NOT EXISTS  `score`(
        sid int
    )engine=innodb
  • 相关阅读:
    javaSE基础知识
    oracle错误分析:ora-04063:view view_test has errors
    爬虫—01-爬虫原理与数据抓取
    Web—13-判断网站请求来自手机还是pc浏览器
    Web—12-详解CSS的相对定位和绝对定位
    Web—11-手机端页面适配
    Web—10-前端性能优化
    Web—09-正则表达式
    知识储备—01-进程,线程,多线程相关总结
    Web—08-移动端库和框架
  • 原文地址:https://www.cnblogs.com/scmath/p/10867075.html
Copyright © 2020-2023  润新知