创建一张二级联动的SQL表和表数据和查询语句
时间: 2024-06-09 22:07:37 浏览: 45
中国省市二级联动sql语句
好的,以下是创建一张二级联动的SQL表,以及表数据和查询语句的示例:
-- 创建省份表
CREATE TABLE `provinces` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 插入省份数据
INSERT INTO `provinces` (`name`) VALUES ('广东'), ('北京'), ('上海');
-- 创建城市表
CREATE TABLE `cities` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`province_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_province_id` (`province_id`),
CONSTRAINT `fk_province_id` FOREIGN KEY (`province_id`) REFERENCES `provinces` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 插入城市数据
INSERT INTO `cities` (`name`, `province_id`) VALUES
('广州', 1), ('深圳', 1), ('珠海', 1),
('北京市', 2), ('朝阳区', 2), ('海淀区', 2),
('上海市', 3), ('黄浦区', 3), ('徐汇区', 3);
-- 查询所有省份及其下属城市
SELECT p.name AS province, c.name AS city
FROM provinces p
LEFT JOIN cities c ON p.id = c.province_id
ORDER BY p.id, c.id;
阅读全文