首页 > 编程语言 >java018学习记录

java018学习记录

时间:2024-03-12 18:32:01浏览次数:32  
标签:count 存储 name 记录 数据库 学习 java018 tab1 view

Java Web

前端 + 后端 + 数据库

DB DataBase

数据库是一个服务,启动服务才能使用,开机自动启动,存储业务数据

关系型数据库,传统数据,主要的业务数据,MySQL、Oracle、SQLServer(C#)

结构复杂、性能稳定、速度较慢

非关系型数据库,MongoDB、Redis

结构灵活、速度快,功能有限,查询次数比较多,更新比较频繁的数据

MySQL

数据库 -》数据表 -》数据

SQL

  • DML:数据操作语言,操作数据库中的数据
  • DDL:数据定义语言,创建、删除、修改数据库、数据表
  • DQL:数据查询语言,查询数据库
  • DCL:数据控制语言,控制数据库组件事务、视图、触发器、存储过程

学习数据库

1、掌握数据库的使用,建库建表 CRUD

2、设计数据库,根据项目的需求,设计数据表和表之间的关联关系

3、数据优化、SQL 优化、性能优化、分表分库、分布式数据库、分布式事务

事务

将多条 SQL 作为一个整体,要么全部执行,要么一条都不执行

为了实现业务的统一性

1、原子性:多条 SQL 是一个整体,不可再分割

2、一致性:SQL 语句执行前后,数据库数据的值保持一致

3、隔离性:一个事务的执行不能被其他事务干扰

4、持久性:一个事务一旦提交,数据库中的数据改变是永久性的

事务的操作:

1、开启事务

start transaction

2、回滚

rollback

3、提交

commit

视图

是一张虚拟的表,数据和主表同步,为什么要使用视图?

字段的可见性,有些字段对某些用户可见,其他用户不可见

创建视图

create view view_common as select id,username,password from account;
create view view_all as select * from account;

使用视图

select * from view_common;

删除视图

drop view view_common;

数据库管理工具,在可视化界面中操作管理数据库,方便代码开发

触发器

定义了一系列的操作,可以在对指定表进行操作的时候自动执行这些操作

数据库端数据同步的组件

创建触发器

use test12;
create trigger t_afterinsert_on_tab1
    after insert on tab1
    for each row
    begin
        insert into tab2(tab2_id) values(new.tab1_id);
    end;
create trigger t_afterdelete_on_tab1
    after delete on tab1
    for each row
    begin
        delete from tab2 where tab2_id = old.tab1_id;
    end;

删除触发器

drop trigger t_afterinsert_on_tab1;
drop trigger t_afterdelete_on_tab1;

存储过程

存储过程是一组为了完成特定功能的 SQL 语句的集合,经过编译存储在数据库中,用户通过指定存储过程的名字以及参数来调用存储过程,一次编写,多次调用,避免开发人员编写重复的代码,从而提高代码的复用性,减少客户端和数据库的交互,提高效率。

create procedure 存储过程名称(参数列表)
存储过程方法体

参数列表:输入输出类型、参数名称、参数类型

入参和出参

入参由外部传入到方法内部的参数

出参由方法向外返回的参数

创建存储过程

use test12;
create procedure add_name(in target int)
begin
    declare name varchar(20);
    if target = 1 then
       set name = 'MySQL';
       else
        set name = 'Java';
    end if;
    insert into account(username) values(name);
end;

调用存储过程

call add_name(11);

删除存储过程

drop procedure add_name;

出参

use test12;
create procedure count_of_account(out count_num int)
begin
    select count(*) into count_num from account;
end;

调用存储过程

call count_of_account(@count_num);
select @count_num;

删除存储过程

drop procedure count_of_account;

分布式事务

微服务模块 seata

标签:count,存储,name,记录,数据库,学习,java018,tab1,view
From: https://blog.csdn.net/qq_30522357/article/details/136659612

相关文章

  • [Blazor] 学习随笔——RZ10012警告的处理
    程序能运行,就是告诉你RZ10012,然后各种提示没有了。清理解决方案、电脑重启了都没有用,后来搜索到github,解决了,记一下:关闭vs删除文件夹.vs,bin,object打开vs,重新生成解决方案也是醉了。文字少的博文不允许投稿到该网站分类?知道什么叫短小精悍吗?知道什么叫短小精悍吗?知道什......
  • 嵌入式系统学习札记系列
    目录写在前面目录一、课程学习——嵌入式技术基础与实践(第6版)写在前面本系列将收录我在学习嵌入式系统的实践过程、笔记心得,其内容以博客的形式呈现。(平时博客写的比较少,大家将就着看)目录一、课程学习——嵌入式技术基础与实践(第6版)嵌入式作业1.1嵌入式系统常用术语......
  • FineReport学习(二)——各种报表的制作
    行式报表:订单表 分组报表:销量表 交叉报表:销量表添加【小计】,一定要使用父子格,小计的“父子格”应该就是“产品”字段C2 添加右侧的合计,同样的操作,合计是按照销量求和,同时每一行的合计,又是针对每个【销售员】求和的,因此,合计的“父子格”应该就是“销售员”字......
  • 2024-03-11 leetcode写题记录
    目录2024-03-11leetcode写题记录206.反转链表题目链接题意解法876.链表的中间结点题目链接题意解法2024-03-11leetcode写题记录206.反转链表题目链接206.反转链表题意给你单链表的头节点head,请你反转链表,并返回反转后的链表。解法链表反转板子题,特殊处理下一个点......
  • 3/12学习进程
    大二学期第三周日报 第一天第二天第三天第四天第五天所花时间(包括上课) 210min90min   代码量(行) 350 200   博客量(篇) 1 1   了解到的知识点编写安卓增删改查,使用sqlite存储数据 验收增删改查,做个人......
  • .Net Core中使用DiagnosticSource进行日志记录
    System.Diagnostics.DiagnosticSource可以丰富地记录程序中地日志,包括不可序列化的类型(例如HttpResponseMessage或HttpContext)。System.Diagnostics.DiagnosticSource通过订阅发布模式运行,我们可以根据自己地需要发现数据源并订阅感兴趣的数据源。 DiagnosticSource与......
  • 腾讯视频号直播卖货学习第十四课-直播时段
    腾讯视频号直播卖货学习第十四课-直播时段直播时段综合价值综合价值:晚上场>早场/凌晨场>其他场晚上场,18-22点最活跃时段UV最多互动最高交易主持适合中高客单商品早场,5-9点中老年场用户少但是竞争少低客单下量大 适合拉新凌晨场,23-4点,特定产品场【情感困扰,失眠晚睡......
  • java学习笔记(不定时更新!)
    (1)三元运算符: 运算式?输出结果1:输出结果2;(2)键盘录入: scannersc=newScanner(System.in){ inti=Scanner.nextInt(); doubled=Scanner.nextDouble(); Stringstr=sc.next(); }(3) 数组(长度固定,可存基本数据类型):数据类型【】数组名=new数据类型【】{元素1......
  • Java学习笔记——第十三天
    常用API(二)MathMath代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法。Math类提供的常用方法方法名说明publicstaticintabs(inta)获取参数绝对值publicstaticdoubleceil(doublea)向上取整publicstaticdoublefloor(doublea)向下......
  • scikit-opt学习笔记
    1.差分约束算法'''minf(x1,x2,x3)=x1^2+x2^2+x3^2s.t.x1*x2>=1x1*x2<=5x2+x3=10<=x1,x2,x3<=5'''defobj_func(p):x1,x2,x3=preturnx1**2+x2**2+x3**2c......