来源:MySQL必知必会读书笔记-8(表的操纵,视图,存储过程,游标,触发器)
1--表的操作
创建一个表

创建表
在创建表的时候应确保这个表之前不存在,若之前存在则应删除之后再创建
AUTO_INCREMENT表示自动增加
使用默认值的话,在列定义后加DEFAULT 常量,表示默认初始化为一个常量
更新一个表
添加一个列

添加列
删除一个列

删除列
定义外键

增加外键
删除表

删除表
重命名一个表

image
2--视图
什么是视图
视图是一个虚拟的表,它与普通的表不一样,视图只包含使用时动态数据的查询。
举例:

搜索买了某个产品的客户的信息的查询语句,我们可以将其包装成为一个虚拟表productcustomers,
使用这个虚拟表可以轻松检索出相同的数据

这就是视图
为什么使用视图?

** 视图的规则和限制**

3--视图的使用
创建视图

示例:
创建一个视图,这个视图是包含了顾客对应的订单以及其对应的订单内容的虚拟表
CREATE VIEW productcustomers AS
SELECT cust_name, cust_contact, prod_id FROM customers, orders, orderitems WHERE customers.cust_id = orders.cust_id AND orderitems.order_num = orders.order_num
通过这个视图搜索订购了TNT的顾客
SELECT cust_name, cust_contact FROM productcustomers WHERE prod_id = 'TNT2';
由此可见视图简化了复杂SQL代码的使用,同时也提高了代码的复用性。
使用视图重新格式化检索出的数据


** 使用视图过滤数据**
过滤没有邮箱的顾客


** 使用视图与计算字段**
列出某个订单物品表中的每一种物品的总价
CREATE VIEW orderitemsexpanded AS
SELECT order_num, prod_id, quantity, item_price, quantity*item_price AS expanded_price FROM orderitems
SELECT *
FROM orderitemsexpanded WHERE order_num = 20005;

4--视图更新
一个表可以进行更新操作(insert,update和delete)
虚拟表即视图同样可以,但是受到了一些限制
若视图中有以下操作则不可以更新

