目录
- -- 创建country表
- CREATE TABLE country(
- id INT PRIMARY KEY auto_increment, -- 国家id
- name VARCHAR(20) -- 国家名称
- );
- -- 添加数据
- INSERT INTO country VALUES (NULL,'中国'),(NULL,'美国'),(NULL,'俄罗斯');
-
- -- 创建city表
- CREATE TABLE city(
- id INT PRIMARY KEY auto_increment, -- 城市id
- name VARCHAR(20), -- 城市名称
- cid INT, -- 外键列。关联country表的主键列id
- CONSTRAINT k1 FOREIGN KEY (cid) REFERENCES country(id) -- 添加外键约束
- );
- -- 添加数据
- INSERT INTO city VALUES (NULL,'北京',1),(NULL,'上海',1),(NULL,'纽约',2),(NULL,'莫斯科',3);
- -- 创建city_country视图,保存城市和国家的信息(使用指定列名)
- CREATE VIEW city_country (city_id,city_name,country_name) AS
- SELECT
- c1.id,
- c1.name,
- c2.name
- FROM
- city c1,
- country c2
- WHERE
- c1.cid=c2.id;
- -- 查询视图
- SELECT * FROM city_country;
- -- 修改视图数据,将北京改为深圳 (注意:修改视图数据后,源表中的数据也会随之修改)
- UPDATE city_country SET city_name='深圳' WHERE city_name='北京';
-
- -- 修改视图结构,将视图中的country_name修改为name
- ALTER VIEW city_country (city_id,city_name,name) as
- SELECT
- c1.id,
- c1.name,
- c2.name
- FROM
- city c1,
- country c2
- WHERE
- c1.cid=c2.id;
- -- 删除city_country视图
- DROP VIEW IF EXISTS city_country;