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

重庆网站建设公司有哪些免费注册网站有哪些

重庆网站建设公司有哪些,免费注册网站有哪些,学seo可以做网站吗,wordpress自带主题有什么DAY19.1 Java核心基础 MySQL 视图 数据库中的一张虚拟的表,允许不同用户和不同程序以不同的方式查询同一张表的数据 基于数据表,创建一个虚拟的表,然后可以选择需要展示的字段 为不同的用户创建不同的视图,一个视图包含薪资&…

DAY19.1 Java核心基础

MySQL

视图

数据库中的一张虚拟的表,允许不同用户和不同程序以不同的方式查询同一张表的数据

基于数据表,创建一个虚拟的表,然后可以选择需要展示的字段

为不同的用户创建不同的视图,一个视图包含薪资,另外一个不包含薪资

用法:

创建视图:

view_common视图:可以展示给员工看

view_all视图:可以展示给老板看

create view 视图名字 as select语句
-- 示例
create view view_common as select id,name from people;
create view view_all as select * from people;

使用视图(直接使用select语句):

SELECT * from view_common;

删除视图:

drop view 视图名字;

触发器:

触发器定义了一系列操作,可以在对指定表进行插入、更新或删除操作的同时自动执行这些操作

优点:

1、开发更快,因为触发器存储在数据库中,所以不必编写每个触发器在应用程序中执行的操作

2、更容易维护,定义触发器后,访问目标表,会自动调用触发器

3、业务全局实现,如果修改业务,只需要修改触发器即可,不需要修改业务代码

前置触发器

后置触发器

创建两张表:

现在需要执行一个操作,就是在更新tab1的时候同步更新tab2的数据

create TABLE tab1(tab1_id int(11)
);
create TABLE tab2(tab2_id int(11)
);

添加触发器:

CREATE TRIGGER t_afterinsert_on_tab1AFTER INSERT ON tab1FOR EACH ROW BEGININSERT INTO tab2(tab2_id) VALUES(new.tab1_id);END;

现在给tab1添加数据:

INSERT INTO tab1(tab1_id) VALUES(1);

可以看见添加进去tab1中的数据添加进去了,而且tab2中的id也同步添加进去了

image-20250328095139220

image-20250328095201138

然后我们再来看同步删除

创建同步删除触发器

create trigger t_afterdelete_on_tab1AFTER DELETE on tab1for each row beginDELETE from tab2 WHERE tab2_id = old.tab1_id;END;

删除tab1中的数据

image-20250328100030731

image-20250328100036550

可以看见删除tab1_id的时候同步删除了tab2_id

存储过程

是一组为了完成特定的功能的SQL语句的集合,经编译后存储在数据库中,用户通过call 存储过程名字来调用

一次编写,多次使用,避免重复查询的sql语句,存储过程是在数据库中存储和执行的,可以减少客户端和服务器之间的数据传输,提高效率

优点:

  • 模块化设计,一次创建,多次调用
  • 执行速度更快,如果某操作需要重复执行大量的SQL语句或者重复执行,存储过程比SQL语句执行更快
  • 更加安全,对于没有权限执行存储过程的用户,可以授权他们的执行存储过程

存储过程基本形式:

create procedure 名称(参数)
方法体

参数为:出参和入参

in 参数名字 参数类型,out 参数名字 参数类型

入参的写法

传递num进去,如果num为1则插入users表中的数据为”java“,如果num为2则插入users表中的数据为”spring“

create procedure insert_str(in num int)
begindeclare name varchar(20);if num = 1 then set name = "java";elseset name = "spring";end if;insert into users(name) values(name);
end;

调用方法call

call insert_str(1);
call insert_str(2);

image-20250328110826681

可以看见数据库中添加进去一个java和spring

出参的写法:

需要写一个存储过程来查看users的数据数量

create procedure count_num(out count int)
beginselect count(*) into count from users;
end;

调用方法:

调用之后会将这个值付给@count_num,所以我们需要查询一下这个@count_num

call count_num(@count_num);
select @count_num;

image-20250328111315350

删除存储过程

drop procedure 存储过程名字
流程控制语句
if

写一个存储过程来查询name或者score

create procedure select_users(in num int)
beginif num = 1 thenselect name from users;elseif num = 2 thenselect score from users;end if;
end;

调用

call select_users(1)

image-20250328114736021

call select_users(2)

image-20250328114812196

可以看见传入的参数不一样查询的结果也不一样

case

将上面的示例改成case的语法,有点像java中的switch-case方法

create procedure example_case(in num int)
begincase numwhen 1 thenselect name from users;when 2 thenselect score from users;elseselect * from users;end case;
end;

调用:

call example_case(1)

image-20250328120313593

call example_case(2)

image-20250328120326957

call example_case(2)

image-20250328120335798

while

累加1-100,用while实现累加

create procedure example_sum(out sum int)
begindeclare i int default 1;declare s int default 0;while i<=100 doset s = s+i;set i = i+1;end while;set sum = s;
end;

调用:

call example_sum(@sum);
select @sum;

image-20250328193806716

结果是5050

删除该存储过程

drop procedure example_sum;
http://www.dtcms.com/wzjs/101201.html

相关文章:

  • 宁波网站设计服务收费价格佛山做优化的网络公司
  • 南平如何做百度的网站小程序开发流程详细
  • 网站建站建设怎么做整合营销传播理论
  • 只做域名跳转和关停网站武汉百度快速排名提升
  • 加强大学生思想政治教育网站建设石家庄疫情
  • 做网站宣传图片零基础能做网络推广吗
  • 卖文具做网站好还是做电商好深圳网络推广怎么做
  • 闸北企业网站制作aso关键词优化工具
  • 厦门好的网站设计优秀的营销策划案例
  • 网站全景图怎么做360搜索关键词优化软件
  • 手机网站报价表沙洋县seo优化排名价格
  • 阿里巴巴网站制作如何制作网站二维码
  • 重庆网站建设仿站seo视频网页入口网站推广
  • 功能性质网站一个完整的营销策划方案范文
  • 潍坊学校网站建设网店运营是做什么的
  • 深圳外贸平台建站百度官网网站登录
  • 贵州最好的网站建设推广公司自动seo优化
  • 独立站搭建平台推广app平台
  • 做网站一个月可以赚多少钱百度贴吧广告投放
  • 做网站的流程方法网站建设技术托管
  • wordpress重置主题杭州优化外包
  • 青岛外贸网站建设北京seo技术交流
  • 戴南做网站百度推广开户2400
  • 太原推广型网站建设新闻稿发布软文平台
  • 东莞seo网站推广网络营销发展方案策划书
  • 河南省建设厅陈华平官方网站品牌推广平台
  • 网站交易关键词优化报价推荐
  • 网络规划设计师考试考点分析网盘seo网站优化策划书
  • 陇南做网站百度快照
  • 北京西站疫情百度账号免费注册