精华内容
下载资源
问答
  • 主键外键和索引的区别?   主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键外键可以有重复的, 可以是空值 该字段没有重复值,但可以有一个空值 作用: ...
    主键、外键和索引的区别?
    
      主键 外键 索引
    定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键外键可以有重复的可以是空值 该字段没有重复值,但可以有一个空值
    作用: 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度
    个数: 主键只能有一个 一个表可以有多个外键 一个表可以有多个惟一索引

    设置索引

    若要设置外键,在参照表(pc表)  和被参照表(parts表)中,相对应的两个字段必须都设置索引(index)。

    对parts表:

    ALTER TABLE parts ADD INDEX idx_model (model);
    这句话的意思是,为parts表增加一个索引,索引建立在model字段上,给这个索引起个名字叫idx_model。

    对pc表也类似:

    ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

    定义外键

    下面为两张表之间建立前面所述的那种“约束”。因为pc的CPU型号必须参照parts表中的相应型号,所以我们将pc表的cpumodel字段设置为“外键”(FOREIGN KEY),即这个键的参照值来自于其他表。

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model);

    级联操作

    级联更新:更新主键时,外键也随之更新

    可以在定义外键的时候,在最后加入这样的关键字:
    ON UPDATE CASCADE;

    即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。

    如果把这语句完整的写出来,就是:

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model)

    ON UPDATE CASCADE;

    级联删除:删除主键时,外键也随之删除。

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model)

    ON DELETE CASCADE;

    级联更新、删除:

     on update cascade on delete cascade
    
    
    
    
    
    
    
    
    SQLServer2005设置级联删除、级联更新 
     
    在使用LINQ时,数据库中有表外键关联时,删除操作有时会出错,尽管还可以用SQL语句,但有时将这种操作交给数据库,会节省很多开销。
     
    一、选择"关系"
     
     
    二、更改"INSERT和UPDATE规范"
     
     
    SQLServer2005中的"层叠"就是SQLServer2000中的"级联"
     
    按照上面的方法,将数据库中所有表都更改一遍,这样在LINQ中删除时,数据库便自动级联删除了
    展开全文
  • 主键外键和索引的区别?   主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键外键可以有重复的, 可以是空值 该字段没有重复值,但可以有一个空值...

    主键、外键和索引的区别?

      主键 外键 索引
    定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键外键可以有重复的可以是空值 该字段没有重复值,但可以有一个空值
    作用: 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度
    个数: 主键只能有一个 一个表可以有多个外键 一个表可以有多个惟一索引

    设置索引

    若要设置外键,在参照表(pc表)  和被参照表(parts表)中,相对应的两个字段必须都设置索引(index)。

    对parts表:

    ALTER TABLE parts ADD INDEX idx_model (model);
    这句话的意思是,为parts表增加一个索引,索引建立在model字段上,给这个索引起个名字叫idx_model。

    对pc表也类似:

    ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

    定义外键

    下面为两张表之间建立前面所述的那种“约束”。因为pc的CPU型号必须参照parts表中的相应型号,所以我们将pc表的cpumodel字段设置为“外键”(FOREIGN KEY),即这个键的参照值来自于其他表。

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model);

    级联操作

    级联更新:更新主键时,外键也随之更新

    可以在定义外键的时候,在最后加入这样的关键字:
    ON UPDATE CASCADE;

    即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。

    如果把这语句完整的写出来,就是:

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model)

    ON UPDATE CASCADE;

    级联删除:删除主键时,外键也随之删除。

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model)

    ON DELETE CASCADE;

    级联更新、删除:

     on update cascade on delete cascade
    展开全文
  • 主键外键和索引的区别? 主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键,外键可以有重复的,可以是空值 该字段没有重复值,但可以有一个空值 ...

    主键、外键和索引的区别?

      主键 外键 索引
    定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键外键可以有重复的可以是空值 该字段没有重复值,但可以有一个空值
    作用: 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度
    个数: 主键只能有一个 一个表可以有多个外键 一个表可以有多个惟一索引

    设置索引

    若要设置外键,在参照表(pc表)  和被参照表(parts表)中,相对应的两个字段必须都设置索引(index)。

    对parts表:

    ALTER TABLE parts ADD INDEX idx_model (model);
    这句话的意思是,为parts表增加一个索引,索引建立在model字段上,给这个索引起个名字叫idx_model。

    对pc表也类似:

    ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

    定义外键

    下面为两张表之间建立前面所述的那种“约束”。因为pc的CPU型号必须参照parts表中的相应型号,所以我们将pc表的cpumodel字段设置为“外键”(FOREIGN KEY),即这个键的参照值来自于其他表。

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model);

    级联操作

    级联更新:更新主键时,外键也随之更新

    可以在定义外键的时候,在最后加入这样的关键字:
    ON UPDATE CASCADE;

    即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。

    如果把这语句完整的写出来,就是:

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model)

    ON UPDATE CASCADE;

    级联删除:删除主键时,外键也随之删除。

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

    FOREIGN KEY (cpumodel)

    REFERENCES parts(model)

    ON DELETE CASCADE;

    级联更新、删除:

     on update cascade on delete cascade

    原文出处:http://www.phpdadao.com/386.html

    转载于:https://www.cnblogs.com/y0umer/archive/2013/04/26/3045914.html

    展开全文
  • 2设置主键和外键

    2020-10-14 19:13:40
    表已经创建成功的情况,如何设置主键和外键:alter table 表名 add primary key(字段名); alter table 从表名 add constraint fk_xx_xx foreign key(外键字段名) references 主表名(主键);删除主键和外键alter table...

    表已经创建成功的情况,如何设置主键和外键:
    alter table 表名 add primary key(字段名);
    alter table 从表名 add constraint fk_xx_xx foreign key(外键字段名) references 主表名(主键);

    删除主键和外键
    alter table 表名 drop primary key;
    alter table 从表名 drop foreign key fk_xx_xx;

    案例:

    -- 外键约束 foreign key 
    -- 要求:最少2张表,存在 1:N的关联
    -- 1 的一方 主表  N的一方  从表
    -- 外键在从表上

    -- 例如: 主表(部门表1) 从表(员工N)
    -- 部门表
    create table tb_dept(
     deptno int primary key auto_increment, -- 部门编号
     dname varchar(20) unique not null
    );

    -- 员工表
    create table tb_emp(
      empno int primary key auto_increment, -- 编号
      ename varchar(20) not null,  --  姓名
      esex set('男','女') default '男', -- 性别
      esalary decimal(12,2),  -- 工资
      dno int, -- 所属部门

     
      constraint fk_dept_emp foreign key(dno) references tb_dept(deptno)

    );

      -- 添加外键约束,dno这列值必须在另一张tb_dept中出现过

      -- constraint 外键名称 foreign key(外键字段) references 主表(主键字段|唯一键字段)
      --  约束                  外键                 关键

     

    展开全文
  • MySQL如何创建主键外键和复合主键

    万次阅读 2009-12-12 16:49:00
    1.主键语法①创建时:create table sc ( studentno int, courseid int, score int, primary key (studentno) );②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY...前提是原先没有设置主键
  • 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着...
  • 1,为当前已有的表添加新的字段 ...2,为当前已有的表中的字段设置主键自增 alter table student add constraint PK_studentId primaryKey(studentId); 3,为当前已有的表中的字段设置外键 alter...
  • 如何在MySQL中设置外键约束以及外键的作用

    万次阅读 多人点赞 2016-08-05 10:58:00
    如何在MySQL中设置外键约束以及外键的作用 1.外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性一致性 一个就是能够增加ER图的可读性 2.外键的配置 1)先创建一个主表,代码如下: ...
  • SQL server中如何设置外键

    万次阅读 多人点赞 2014-10-09 11:51:54
    以前创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只有主键没有外键时不行的。  建外键的前提是此外键必须是另外一个表的主键。建外键的步骤:  第一步打开要建外键表的...
  • MySQL中如何设置外键

    万次阅读 多人点赞 2019-07-02 22:53:13
    下面我将以举例的方式说明,作者能力有限,欢迎指正补充。 一、环境 Windows操作系统,MySQL 5.7 二、使用工具 Navicat 三、前提知识 1.什么是主键 Primary key,唯一标识一个实体,取值非空唯一。比如,一个人的...
  • 如何设置OrderId + Id联合主键 <p>2、实体对象如何定义才会生成表外键。按照导航属性设置后,fsql.CodeFirst.SyncStructure,数据库里面没有外键。</p><p>该提问来源于开源项目:dotnetcore/...
  • 创建表student表score,表student设置主键,表score设置表student中属性相同的为外键: 创建student表 create table student ( id int primary key , #主键约束 name varchar(20) , #唯一约束 age int ...
  • 设计的时候点中字段 按鼠标右键 --选‘关系’--点‘添加’--点‘表列规范’ 然后根据你的要求设置主键 外键表 以及对应的字段 转载于:...
  • mysql :外键

    2018-07-10 17:28:00
    实习过程中发现比较少用到外键,不过...外键应该如何设置呢? 不论是在主表子表中设置,都不必要设置成主键,只要是唯一键就可以了。 ===?外键的作用 将复杂的数据表进行解耦,尽量让表记录的数据单一化。 ...
  • SQl如何设置外健

    千次阅读 2014-11-30 18:13:53
    4.设置主键外键 5.设置表的更新、删除规则为级联就OK了 不执行任何操作:当我们删除或更新主键表的数据时,会告诉用户不能执行删除或更新该操作。 级联:当我们删除或更新主键表的...
  • EF里的默认映射以及如何使用Data AnnotationsFluent API配置数据库的映射 ...上篇文章演示的通过定义实体类就可以自动生成数据库,并且EF自动设置了数据库的主键外键以及表名字段的类型等,这就是E...
  • 学习感受

    2019-09-20 18:42:08
    上周学习了JavaJavaScript中比较难的一部分——数组循环。数组、循环这两种技巧单独...上周学习了sql server中用鼠标单击创建数据库的方法,并学习了如何设置主键外键,如何创建各种约束,现在又学习了利用T-...
  • 上篇文章演示的通过定义实体类就可以自动生成数据库,并且EF自动设置了数据库的主键外键以及表名字段的类型等,这就是EF里的默认映射。具体分为: 数据库映射:Code First 默认会在本地的SQL Expression...
  • 上节我们创建项目,通过定义实体类就可以自动生成数据库,并且EF帮我们自动设置了数据库的主键外键以及表名字段的类型等,这就是EF的默认映射。具体分为: 数据库映射:Code First 默认会在本地的SQL ...
  • SQL:创建修改表

    2020-03-28 15:25:00
    怎么增加删除列,修改属性,设置主键外键等 创建普通表 create table 表名 (列 数据类型 约束或默认值, 列 数据类型 约束或默认值, ,... ) 例如我们要创建一个学生表,那么我们要先创建一个数据库 create ...

空空如也

空空如也

1 2 3 4 5
收藏数 96
精华内容 38
关键字:

如何设置主键和外键