最近又复习了mysql中的一些概念:视图,触发器,存储过程,函数,事务,记录下。
1.视图
视图是一个虚拟表,本身并不存储数据,当sql在操作视图时所有数据都是从其他表中查出来的,因此其本质是:根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。
视图操作:
-- CREATE TABLE students( -- nid INT NOT NULL AUTO_INCREMENT, -- name VARCHAR(128) NOT NULL, -- gender CHAR(8) NOT NULL, -- age INT NOT NULL, -- class VARCHAR(64) NOT NULL, -- PRIMARY KEY (nid) -- )DEFAULT CHARSET=utf8; -- INSERT INTO students(name, gender,age,class) VALUES('李木','男',24,'python班'); -- INSERT INTO students(name, gender,age,class) -- VALUES('王华','男',26,'python班'), -- ('王钰','女',22,'前端'); -- 创建并使用视图view1 -- SELECT * FROM (SELECT nid,name FROM students WHERE nid>1) AS view1 WHERE view1.name="王华"; -- 创建视图格式: CREATE VIEW 视图名称 AS sql语句; -- CREATE VIEW view1 AS SELECT nid, name FROM students WHERE nid>1; -- 修改视图格式:ALTER VIEW 视图名称 AS sql语句; -- ALTER VIEW view1 AS SELECT nid,name FROM students WHERE name="李木"; -- 使用视图:使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用。 -- SELECT * FROM view1; -- 删除视图格式:DROP VIEW 视图名称; -- DROP VIEW view1;