导读:在MYSQL数据库中,表关联是非常重要的概念。通过建立表之间的关联,可以实现多个表之间的数据交互和查询。本文将为大家介绍MYSQL表关联的建表语句,希望能够对大家有所帮助。
一、创建主表
CREATE TABLE `user` (
`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数据库中,表关联是非常重要的概念,它能够为我们提供更加高效和便捷的数据查询方式。希望本文能够对大家有所帮助。