Post Jobs

mysql数据库中表的外键约束,SqlServer给一个表增加多个字段语法

添加字段语法

一、外键约束

alter table table_name add column_name +字段类型+ 约束条件

  1、什么是外键?

给一个表增加多个字段:

    外键指的是其他表中的主键,当做该表的外键。

use NatureData
go
alter table XunHu add 
   MaleCount varchar(50) null,
   FemaleCount varchar(50) null,
   SubadultCount varchar(50) null,
   LarvaeCount varchar(50) null,
   TraceType varchar(50) null,
   MountainArea varchar(50) null,
   BehaviourType varchar(50) null,
   Area varchar(50) null,
   Phenology varchar(50) null;
go

  2、创建外键。

 

    2.1 可在创建表的时候直接创建外键,如图所示:

     create table table_name  (字段名 字段属性,[add constraint 
外键name]  foreign key  (字段名)  references 主表(主表主键名));

    2.2 创建完表后再添加外键

     alter table table_name   add constraint  外键name  foreign
key  (字段名)  references 主表(主表主键名);

    2.3删除外键

     alter table table_name drop  外键name

    2.4注意事项:

      所创建的外键属性要和主表中的主键属性相同。

      当创建了外键之后,子表中想要删除某条记录可直接删除,但是主表中想要删除某条记录要先把主表和子表对应的外键给删除后才  能删除主表的某条记录,但是这样做子表就没有外键了,所以建议只是修改子表外键所对应主表主键其他的值,这样就可以删除了。

  3、外键约束的含义:

    3.1外键约束对子表的含义:当在子表中insert或update一条数据时,如果在主表中找不到候选键,那么就不允许该操作。

    3.2外键约束对主表的含义:当在主表中insert或update数据时,如果主表的候选键对应的有子表的外键值,那么就不允许该操作。

  4、innodb支持on语句的高级用法,略过。

二、多表查询

  1、什么是多表查询?

    前提是两张表之前没有什么联系,但是至少有一个共同点是至少有一个相同属性的字段。

  2、多表查询之连接查询

    select  *  from  table_name1,table_name2…….. where
table_name1.相同属性的字段=table_name2.相同属性的字段 [and
         able_name1.相同属性的字段=table_name2.相同属性的字段
];

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图