导读:在MYSQL数据库中 , 表关联是非常重要的概念 。通过建立表之间的关联,可以实现多个表之间的数据交互和查询 。本文将为大家介绍MYSQL表关联的建表语句,希望能够对大家有所帮助 。
一、创建主表
CREATE TABLE `user` (
【mysql中数据表的关联关系有哪三种? MYSQL表关联建表语句】`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(50) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
二、创建从表
CREATE TABLE `order` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单ID',
`user_id` int(11) NOT NULL COMMENT '用户ID',
`order_no` varchar(50) NOT NULL COMMENT '订单编号',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `order_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='订单表';
三、创建中间表
CREATE TABLE `user_role` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`role_id` int(11) NOT NULL COMMENT '角色ID',
KEY `role_id` (`role_id`),
CONSTRAINT `user_role_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `user_role_ibfk_2` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户角色关联表';
四、创建关联表
CREATE TABLE `role` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
`name` varchar(50) NOT NULL COMMENT '角色名称',
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色表';
总结:通过以上建表语句,我们可以实现多个表之间的关联 。在MYSQL数据库中 , 表关联是非常重要的概念 , 它能够为我们提供更加高效和便捷的数据查询方式 。希望本文能够对大家有所帮助 。
推荐阅读
- qt的mysql怎嘛用
- mysql 管理 最好的mysql管理工具
- mysql 免安装版本配置方法 mysql免安装版的
- 如何申请云服务器? 云服务器怎么申请
- redis淘汰策略的参数配置 redis淘汰策略和淘汰机制
- redis实战的例子和教程 redis7实战
- 包含redis如何同步数据的词条
- redis主动删除机制 redis定期删除策略
- etcd与redis性能对比 ETCD与redis