当前位置: 首页 > article >正文

MySQL----视图的创造和使用

这里写目录标题

    • **创造视图**
    • **查看视图**
    • **修改视图**
    • **更新视图**
    • **删除视图**

创造视图

使用create view…创造

  • 语法格式
create[algorithm = {undefiend|mergetemptable}]view <视图名> [(<字段名1>[,……,字段名n])]as <select 语句>;
  • 事例
    创造视图v_stu,列出所有 1995年9月1日(birthday) 以及之前出生的 学生名单(student)
createview v_stuasselect *from studentwhere birthday >= '1995-9-1';

查看视图

  • 1.使用describe|desc语句查看
    查看 v_stu 的基本信息
desc v_stu;
  • 2.使用show table status
    查看 v_stu 的基本信息
show table status like 'v_stu';
  • 3.使用show create view
    查看 v_stu 的基本信息
show create view v_stu;

修改视图

使用create or replace语句
如果视图 存在,则 修改
如果视图 不存在,则 创建

  • 语法格式
create or replaceview <视图名>[(<字段名1>[,……,字段名n])]as <select语句>;
  • 事例
    修改视图 v_stu 列出所有 1995年9月1日(birthday) 以及之前出生的 女生名单(student)(sex)
create or replace view v_stuasselect *from studentwhere birthday >= '1995-9-1' and sex  = '女';    

使用 alter view

  • 语法格式
alter view <视图名>[(<字段名1>[,……,字段名n])]as <select语句>;
  • 事例
    修改视图 v_stu_grade 列出“网络131” 班学生的
    学号(sNo) 姓名(sName) 班级(deptName) 课程编号(cNo) 课程名称(cName) 成绩(grade)
alter view v_stu_gradeasselect student.sNo,deptName,course.cNo,cName,score.gradefrom scoreinner join student on student.id = score.sIdinner join course on course.id = score.cIdwhere deptName = '网络131';

更新视图

通过视图,向表中 插入数据

使用 insert values语法

  • 事例
    通过视图 v_stu 插入一条新的学生记录
insert into v_stu( )values(……);

通过视图,修改 表中数据

使用 update set语法

  • 事例
    将学号为 1457894 的学生班级修改为 “网络131”
update v_stu
set deptname = "网络131"
where sNo ="1457894";

通过视图,删除 表中数据
使用 delete from语法

  • 事例
    删除课程编号为 01004 的课程记录
delete from v_stu
where cNo = '01004';

删除视图

使用drop view语句

  • 语法格式
drop from <视图名>;
  • 事例
    删除 v_stu
drop view v_stu;
http://www.lryc.cn/news/2392121.html

相关文章:

  • c/c++的opencv伽马噪声
  • LiveGBS国标视频平台收流模式:UDP、TCP被动与TCP主动传输模式之差异剖析
  • 跳表(Skip List)查找算法详解
  • React从基础入门到高级实战:React 核心技术 - React 与 TypeScript:构建类型安全的应用
  • Django orm详解--组成部件
  • Tomcat 使用与配置全解
  • Chrome 开发中的任务调度与线程模型实战指南
  • aws instance store 的恢复
  • 从零开始创建 Vue 3 开发环境并构建第一个 Demo
  • EasyRTC音视频实时通话助力微信小程序:打造低延迟、高可靠的VoIP端到端呼叫解决方案
  • STM32 SPI通信(软件)
  • 每日刷题c++
  • (自用)Java学习-5.19(地址管理,三级联动,预支付)
  • 【容器】docker使用问题处理
  • ChemDraw 2023|Win英文|化学结构编辑器|安装教程
  • Vue3实现提示文字组件
  • JAVA与C语言之间的差异(一)
  • 深入剖析 C 语言中的指针数组与数组指针
  • 4.1.1 Spark SQL概述
  • 【VSCode-Qt】Docker远程连接的项目UI文件在 VSCode 上无法预览
  • redis五种数据结构详解(java实现对应的案例)
  • Telnet 命令详解
  • 深度解析新能源汽车结构与工作原理
  • React 生命周期与 Hook:从原理到实战全解析
  • OpenSSL 与 C++ 搭建一个支持 TLS 1.3 的服务器
  • HOW - 简历和求职面试宝典(六)
  • 【机器学习基础】机器学习入门核心算法:逻辑回归(Logistic Regression)
  • 深入理解设计模式之命令模式
  • 智能仓储落地:机器人如何通过自动化减少仓库操作失误?
  • Android 架构演进之路:从 MVC 到 MVI,拥抱单向数据流的革命