一,一对多表的创建

1.创建主表

create table HostTable(
  cid varchar(32) primary key,
  cname varchar(100)
);

2.创建从表

create table FromTable(
  pid varchar(32) primary key,
  pname varchar(40),
  price double,
);

3.给从表创建从键列

alter table FromTable add hosttable_id varchar(32);

4.添加约束

alter table FromTable  add constraint fromtable _fk foreign key(hosttable_id ) references HostTable(cid);

二,多对多表的创建

引入一张中间表,存储两个从键分别引用于两个主键。两个从键可以多次重复。这样就实现了多对多的表关系。

create table  InterTable(

  hosttableid  varchar(32),

  fromtableid  varchar(32)

);

1.添加联合主键

alter table InterTable add primary key (hosttableid, fromtableid );

2.添加约束

alter table InterTable add constraint   inter_hosttable_fk foreign key (hosttableid) referrences HostTable(cid);

alter table InterTable add constraint   inter_fromtable_fk foreign key (fromtableid) referrences FromTable(pid );

这时InterTable 和 HostTable ,FromTable分别都是一对多的

MySql创建多表关联的步骤的更多相关文章

  1. Springboot项目启动后自动创建多表关联的数据库与表的方案

    文/朱季谦 在一些项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据 ...

  2. Mysql 创建数据库表(删除,删除,插入)

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...

  3. MySQL 创建数据表

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...

  4. MySQL创建民族表的SQL语句

    MySQL创建民族表的SQL语句 CREATE TABLE `nation` ( `id` ) unsigned NOT NULL AUTO_INCREMENT, `nation` ) NOT NUL ...

  5. 九、MySQL 创建数据表

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...

  6. 【Mysql进阶技巧(1)】 MySQL的多表关联与自连接

    自连接 测试数据准备 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `gid` char(1) DEFAULT NULL, `col1` int(11) DEF ...

  7. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  8. MySQL创建数据表

    *  创建数据表 * *       *      一.什么是数据表 * *           * *      二.创建数据表的SQL语句模型 * *          DDL * *       ...

  9. mysql创建/删除表的例子

    创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE ...

随机推荐

  1. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 20165222

    Exp0 Kali安装 安装时没进行截图,只有最终结果.包含共享文件夹,拼音输入法,网络也能正常使用. . 遇到的问题 安装时,安装程序提示找不到网卡. 我猜测应该是我的主机正在使用,程序无法检测到, ...

  2. ringojs 使用rp 包管理web 应用依赖

    rp 是一个类似npm 的包管理工具,我们可以使用package.json 定义依赖 然后执行rp install 即可,类似ringo-admin 的功能 其中packages 类似node 的no ...

  3. 在.NET中实现Actor模型的不同方式

    上周,<实现领域驱动设计>(Implementing Domain-Driven Design)一书的作者Vaughn Vernon,发布了Dotsero,这是一个使用C#编写的.基于.N ...

  4. IMP-00009: 导出文件异常结束 imp

    在一次exp/imp中,用imp导入数据时报错.错误信息如下: IMP-00009: 导出文件异常结束 imp导入时异常结束可以有很多原因造成,要具体问题具体分析. 可能原因一: 导入的数据表过大,而 ...

  5. Jenkins 基础入门

    原文地址:Jenkins 基础入门 博客地址:http://www.extlight.com 一.前言 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作, ...

  6. PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key

    得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: <?php // 先查询出用户的基本信息 $userArray = [['id' = ...

  7. java单例模式等一些程序的写法....持续更新...

    一.单例模式的写法: public class MyFactory { /** * 饿汉式 */ private static MyFactory instance = new MyFactory() ...

  8. ESN

    1.对于一般的硬件设备,ESN是设备序列号,主要用来识别设备,包括未来服务鉴权的需要 2.对于需要license的设备,ESN也是设备序列号的意思,只不过这个序列号可能是根据设备硬件信息算出来的一串字 ...

  9. CentOS iptables防火墙的基本应用讲解

    iptables是Linux下不错的防火墙软件,本文主要给大家介绍下iptables的安装.规则增加和清除.开放指定端口.屏蔽指定ip和ip段等CentOS下iptables的基本应用. 一.ipta ...

  10. React-Todos

    最近学完React的最基本概念,闲下来的时候就自己写了一个Todo-List的小应用.这里做个简略的说明,给想好好学React的新手看. React-Todo 学习前提 这里我用了webpackb做了 ...