orcle 数据库 day0903

news2025/1/11 11:16:08

ok奥家人们,今天继续学习orcle数据库 

. 数据完整性

向某张表插入数据、更新、删除数据之前会对数据做校验,目
的就是为了确保数据的正确性、一致性、最大限度 减少重复
的数据、避免脏数据,这就是数据完整性。以下的数据就是脏
数据:
下列数据就是脏数据
  • 学生成绩为负数
  • 手机号码长度大于11
  • 学生学号相同
如何减少数据冗余、避免脏数据?需要我们在创建表的时候为
字段增加约束 ( 规则 ) ,向表插入数据、更新、删除 数据之前对
数据做校验,如果数据满足校验规则提示用户操作成功,否则
提示就用户操作失败。在 Oracle 系统中,约 束的类型包括非
空约束、唯一约束、默认约束、主键约束、外键约束、检查约
束。

1.1 非空约束

插入数据之前会进行验证,确保该列的数据不能为空。非空约
束关键字为 not null
示例:创建 class( 班级 ) 表,为 class_name( 班级名称 ) 字段添加
非空约束
  • 非空约束可以在字段名称后面添加。例如 class_name
    varchar(30) not null
SQL> create table class(
2 id number(5),
3 class_name varchar2(20) not null,
4 class_desc varchar2(300)
5 );
Table created
SQL> desc class;
Name Type Nullable Default
Comments
---------- ------------- -------- ------- ------
--
ID NUMBER(5) Y
CLASS_NAME VARCHAR2(20)
CLASS_DESC VARCHAR2(300) Y
  • 也可以使用alter table...modify为指定的字段添加非空约束。语法如下:
alter table 表名称 modify 字段名称 数据类型 not null;
示例:为班级表的 班级描述 添加非空约束
SQL> alter table class modify class_desc
varchar2(300) not null;
Table altered
SQL> desc class;
Name Type Nullable Default
Comments
---------- ------------- -------- ------- ------
--
ID NUMBER(5) Y
CLASS_NAME VARCHAR2(20)
CLASS_DESC VARCHAR2(300)
验证非空约束
SQL> insert into class(id,class_name)
values('1','一班');
insert into class(id,class_name) values('1','一
班')
ORA-01400: 无法将 NULL 插入
("ZHANGSAN"."CLASS"."CLASS_DESC")
帮助:https://docs.oracle.com/error-help/db/ora-
01400/
SQL> insert into class(id,class_name,class_desc)
values('1','一班','解放小学');
1 row inserted
SQL> commit;
Commit complete

1.2 主键约束

概念:主键也叫作主要的关键字,用来确保每一行数据在表中
的唯一性。
主键关键字: primary key
主键约束特征:非空并且唯一
创建主键语法:
alter table 表名称 add constraint 约束名称 primary
key (字段名);
或者
alter table 表名称 add primary key (字段名);
第一种创建主键语法,需要手动为主键设置名称
第二种创建主键语法,系统自动为主键分配名称,所以不用写
constraint 约束名称
示例:为班级表的 ID 字段建立主键约束
SQL> alter table class add constraint
pk_class_id primary key(id);
Table altered
验证主键约束
SQL> insert into class(class_name,class_desc)
values('二班','希望小学');
insert into class(class_name,class_desc)
values('二班','希望小学')
ORA-01400: 无法将 NULL 插入
("ZHANGSAN"."CLASS"."ID")

帮助:https://docs.oracle.com/error-help/db/ora-
01400/
SQL> insert into class(id,class_name,class_desc)
values('1','二班','希望小学');
insert into class(id,class_name,class_desc)
values('1','二班','希望小学')
ORA-00001: 违反唯一约束条件 (ZHANGSAN.PK_CLASS_ID)
帮助:https://docs.oracle.com/error-help/db/ora-
00001/
SQL> insert into class(id,class_name,class_desc)
values('2','二班','希望小学');
1 row inserted
SQL> commit;
Commit complete

1.3 外键约束

概念:外键也叫作外部关键字,在多个表之间建立关联,确保
数据一致性、正确性。通常在多的一侧建立外键约 束去关联
一的一侧主键。例如:多个学生对应着一个班级。我们可以为
学生表的所在班级字段建立外键,去关联班 级表的主键。外
键特征如下:
  • 外键约束在多张表之间建立关联(联系),确保数据的正确性、一致性。
  • 有外键的表叫做从表,没有外键的表叫做主表。
外键关键字 : foreign key references
语法如下:
alter table 表名称 add constraint 约束名称 foreign
key(字段名称) references 表名称(字段名称);
或者
alter table 表名称 add foreign key(字段名称)
references 表名称(字段名称);
第一种创建外键语法,需要手动为外键设置名称
第二种创建外键语法,系统自动为外键分配名称,所以不用写
constraint 约束名称
示例:创建学生表 ( 学生学号、学生姓名、学生生日、学生成
绩、学生联系方式、所在班级 ) ,为学生表的所在班级字 段添
加外键去关联班级表的主键
SQL> -- 创建学生表
SQL> create table student(
2 id number(10),
3 stu_name varchar2(30) not null, -- 学生姓名
4 stu_birthday date, -- 学生生日
5 stu_score number(5,2), -- 学生成绩
6 stu_mobile char(15), -- 学生联系方式
7 class_id number(5) -- 学生所在班级
8 );
Table created
SQL> desc student;
Name Type Nullable Default
Comments
------------ ------------ -------- ------- -----
---
ID NUMBER(10) Y
STU_NAME VARCHAR2(30)
STU_BIRTHDAY DATE Y
STU_SCORE NUMBER(5,2) Y
STU_MOBILE CHAR(15) Y
CLASS_ID NUMBER(5) Y
SQL> -- 为学生表的id字段建立主键
SQL> alter table student add constraint
pk_student_id primary key(id);
Table altered
SQL> -- 为学生表的class_id建立外键去关联班级表的主键
(id)
SQL> alter table student add constraint
fk_student_classid foreign key(class_id)
references class(id);
Table altered
验证外键约束
SQL> insert into student(id,stu_name,class_id)
values(1,'zs',5);
insert into student(id,stu_name,class_id)
values(1,'zs',5)
ORA-02291: 违反完整约束条件
(ZHANGSAN.FK_STUDENT_CLASSID) - 未找到父项关键字
帮助:https://docs.oracle.com/error-help/db/ora-
02291/
SQL> insert into student(id,stu_name,class_id)
values(1,'zs',1);
1 row inserted
SQL> commit;
Commit complete

1.4 唯一约束

唯一约束强调所在的列允许空值但是值不允许重复。例如班级
表的班级名称不能重复。
唯一约束关键字: unique
唯一约束语法如下:
alter table 表名称 add constraint 约束名称 unique
(字段名);
或者
alter table 表名称 add unique (字段名);
示例:为学生表的手机号码定义唯一约束
SQL> -- 为学生表的手机号码定义唯一约束
SQL> alter table student add constraint
unique_student_mobile unique(stu_mobile);
Table altered
验证唯一约束:
SQL> -- 验证唯一约束
SQL> insert into
student(id,stu_name,stu_mobile,class_id)
values(2,'ls','15518880231',1);
1 row inserted
SQL> insert into
student(id,stu_name,stu_mobile,class_id)
values(3,'ww','15518880231',1);
insert into
student(id,stu_name,stu_mobile,class_id)
values(3,'ww','15518880231',1)
ORA-00001: 违反唯一约束条件
(ZHANGSAN.UNIQUE_STUDENT_MOBILE)
帮助:https://docs.oracle.com/error-help/db/ora-
00001/
唯一约束和主键约束有啥区别?唯一约束可以插入空值,主键
约束不能插入空值

1.5 检查约束

检查约束在插入和更新数据之前对数据的有效性规则进行检
查,这个有效性规则需要我们自己定义。
检查约束关键字: check
创建检查约束语法:
alter table 表名称 add constraint 约束名称 check
(约束条件) ;
或者
alter table 表名称 add check (约束条件) ;
示例:为学生表的 成绩 字段建立检查元素,要求学生成绩必
须在 0~150 之间
SQL> -- 为学生表的“成绩”字段建立检查元素,要求学生成绩
必须在0~150之间
SQL> alter table student add constraint
check_stu_score check(stu_score>=0 and
stu_score<=150);
Table altered
验证检查约束
SQL> -- 验证检查约束
SQL> insert into
student(id,stu_name,stu_mobile,stu_score)
values(4,'jack','15518880233',-1);
insert into
student(id,stu_name,stu_mobile,stu_score)
values(4,'jack','15518880233',-1)
ORA-02290: 违反检查约束条件
(ZHANGSAN.CHECK_STU_SCORE)
帮助:https://docs.oracle.com/error-help/db/ora-
02290/
SQL> insert into
student(id,stu_name,stu_mobile,stu_score)
values(4,'jack','15518880233',1);
1 row inserted
SQL> commit;
Commit complete

.Oracle常用系统函数

Oracle 提供了大量系统内置函数,可以大大增强 SQL 语言的运
算和判断功能。本次课对 Oracle 中常用的系统函数 进行介
绍。

2.1 字符串函数

字符串函数是专门用于字符处理的函数,处理的对象可以是字
符串,还可以是 varchar2 类型的字段,常用的字 符类函数有
如下几种:
dual是Oracle系统内部提供的一个用于临时数据计算的内存表
select * from emp;
-- 使用ascii(c)函数返回字符串c对应的的ascii码
select ascii('A') from dual;
-- 使用chr(i)函数返回ascii码对应的字符,i表示一个整数
select chr(65) from dual;
-- 使用concat函数将字符串s2连接到s1后面
select concat('hello','world') from dual;
-- 使用concat函数将员工表的“职位”字段连接到“员工姓名”字段后面
select concat(ename,job) from emp;
-- 使用initcap()函数,将字符串‘how are you’ 每个单词首字母大写
select initcap('how are you') from dual;
-- 使用length()函数返回字符串HelloWorld的长度
select length('HelloWorld') from dual;
select length('王') from dual;
-- 使用length()函数返回员工表的“员工姓名”的长度
select ename,length(ename) from emp;
-- 使用length()函数返回员“员工姓名”长度大于5的所有员工信息
select * from emp where length(ename)>5;
-- 返回字符串'ABC'的小写形式
-- 返回字符串'abc'的大写形式
select lower('ABC'),upper('abc') from dual;
select lower(ename) from emp;
-- 使用replace()函数将字符串‘abcdefg'替换成’abcdXfg'
select replace('abcdefg','e','X') from dual;
select ename,replace(ename,'A','h') from emp;数字函数 说明
ceil(n) 参数n向上取整
floor(n) 参数n向下取整
round(n1,n2) 四舍五入,并且保留n2位小数
power(n1,n2) 返回n1的n2次方

select substr('abcdefghijklmn',5,3) from dual;
-- 使用instr()在字符串'Oracle 19c'中,从第三个字符开始查找字符串'c'第二次出现的位置
select instr('Oracle 19c','c',3,2) from dual;

2.2 数字函数

数字函数主要用于执行各种数学计算,所有的数字类函数都有
数字参数并返回数字值。常用的数字函数如下:
数字函数
说明
ceil(n)
参数 n 向上取整
floor(n)
参数 n 向下取整
round n1,n2)
四舍五入,并且保留 n2 位小数
power(n1,n2)
返回 n1 n2 次方
select * from emp;
update emp set sal=799.64 where empno=7369;
select ceil(sal) from emp;
select floor(sal) from emp;
select round(sal,1) from emp;
select power(3,3) from dual;

2.3 日期时间函数

Oracle 提供了很多用来处理日期和时间的函数,通过这些函数
可以实现计算需要的特定日期和时间。常用的日期 时间函数
如下:
日期时间函数
说明
sysdate
返回系统当前日期
add_months(d,i)
返回日期d加上i 个月之后的结果。其中
i 为任意整数。
select * from emp;
select sysdate from dual;
select hiredate,add_months(hiredate,1) from
emp;

2.4 转换函数

在操作表中的数据时,使用转换函数将某个数据从一种类型转
换为另一种数据类型。常用的转换函数如下:
转换函数
说明
to_char(x[,format])
将参数 x 转换为指定格式的字符
串, format 表示字符串格式
to_date(s,
[format[lan]])
将参数 s 转换为 date 类型, format
表示字符串格式, lan 表示所使用
的语言
to_number(s)
返回字符串 s 代表的数字
select * from emp;
-- 使用to_char函数将系统日期时间转换为“yyyy-mm-dd
hh24:mi:ss”格式
select sysdate from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual;
-- 向emp表插入数据
insert into emp(empno,ename,hiredate)
values(1000,'zs',to_date('2024/09/03','yyyy-mmdd'));
-- 根据入职日期计算员工的工龄
-- 工龄=系统年份-入职年份
-- 系统年份如何获取?使用to_char(sysdate,'yyyy')将
系统年份
-- 取到,然后使用to_number函数肩将字符串转换为整数
-- 入职年份如何获取?使用to_char(hiredate,'yyyy')将
员工入职
-- 年份取到,然后使用to_number函数肩将字符串转换为整数
select hiredate 入职日
期,to_number(to_char(sysdate,'yyyy'))-
to_number(to_char(hiredate,'yyyy')) 工龄 from
emp;

.PS/SQL编程

3.1 PL/SQL简介

PL/SQL(Procedural Language/SQL) Oracle 数据库引入的一
种过程化编程语言。 PL/SQL 编程语言在除了能够 编写 SQL
句还能执行流程控制语句 ( 顺序、分支、循环 ) PL/SQL 是建立
SQL 语句的基础上的。
PL/SQL 程序以块 (Block) 为基本单位,分为三部分:声明部分
(declare 开头 ) 、执行部分 (begin 开头 ) 、异常处理 部分
(exception 开头 ) 。其中执行部分是必须的,其它两个部分是
可选的,语法结构如下:
[declare]
-- 声明部分,可选-- 在这里可以声明PL/SQL程序块用到
的变量、常量、游标等等
begin
-- 执行部分,必须-- 主要的逻辑控制和运算都在这里完
成
[exception]
[when 异常名称 then]
-- 异常部分,可选
-- 纠正BEGIN里面的错误,或者给用户提供一些错误信息提示
end;
声明部分DECLARE用来定义变量、常量
执行部分begin用来执行PL/SQL的逻辑
当PL/SQL的逻辑执行出现了异常,进入EXCEPTION处理异常
示例:编写第一个 PL/SQL 程序,在控制台输出 HelloWorld
begin
dbms_output.put_line('helloworld...');
end;
-- dbms_output.put_line语句用于输出计算结果。
示例:定义一个 PL/SQL 块,当 0 作为除数抛出异常,给出提示
信息除数不能为 0
begin
-- 异常情况:0不能作为除数
dbms_output.put_line(1/0);
-- 当begin块发生异常,程序跳转到exception块
-- exception唯一职责就是处理begin块的异常
-- 此时处理异常的方式为:向控制台输出‘除数不能为0。’
exception
-- 抓住上面的异常
-- zero_divide是Oracle定义的异常名称。
when zero_divide then
dbms_output.put_line('除数不能为0');
end;

3.2 数据类型

数据类型本质上是一种描述数据存储的内存结构,它决定变量
中所存储数据的类型。
3.2.1 基本数据类型
常用的基本数据类型包括:数值类型、字符串类型、日期类
型、布尔类型 (Logic)
数值类型
number(p,s) 是常用的数值类型,可以用来存储整数和小数。
p 表示数字中的有效位,取值范围为 [1~38] ,如 果 p 没有指
定, Oracle 将使用 38 作为有效位。 s 表示数字精确到小数点右
边的位数。
例如: number(5,2) 表示总共有 5 个数字,其中小数占据了 2
位,最大值为 999.99
例如: number 等价于 number(38)
字符串类型
字符串类型主要包括 varchar2 char
varchar2 用于存储可变长度的字符串,语法结构如下:
varchar2(maxlength) 其中 maxlength 表示可存储字符串的最
大长度。定义变量时必须给出,最大值是 32767 字节。
char 用于存储固定长度的字符串 , 默认最大长度为 1 ,语法结构
如下:
char(maxlength)
char 只有 2000 字节,所以如果 PL/SQL 中的 char 类型变量的长
度大于 2000 字节,则不能赋给数据库中的 char

日期类型
日期类型只有一种,即 DATE 类型,用来存储日期和时间。
布尔类型 (Logic)
布尔类型也只有一种,即 BOOLEAN 类型。主要用于程序的流
程控制和业务逻辑判断,变量值可以是 true false null
3.2.2 特殊数据类型
为了提高编程效率和解决复杂业务逻辑需求, PL/SQL 提供了 3
种特殊的数据类型。
%TYPE 类型
它可以声明一个与指定字段相同的数据类型,通常跟在指定列
名的后面。语法如下:
变量名 表名称.列名称%type
emp_name emp.ename%type;
表示变量emp_name的数据类型跟emp表的ename字段类型完全相
同
示例:在 scott 模式 ( 用户 ) 下,查询员工编号为 7566 的员工姓
名和它的工资。
目的:使用 %type 定义变量并输出
步骤:
1. 定义PL/SQL结构体 declare...begin...end;
2. 定义%type变量 emp_name和emp_sal它们的数据类型
跟emp表的ename和sal相同
3. 根据员工编号(7566)查询员工的姓名和工资,将查询结
果集赋值给变量emp_name、emp_sal
4. 输出变量emp_name、emp_sal的值
declare
-- emp_name数据类型跟emp表的ename字段数据类型相同
emp_name emp.ename%type;
emp_sal emp.sal%type;
begin
-- 将查询的字段值通过into关键字赋给变量emp_name和
emp_sal
select ename,sal into emp_name,emp_sal
from emp
where empno=7566;
-- 输出变量emp_name、emp_sal的值
-- ||表示字符串的拼接 ,类似Java的+
dbms_output.put_line('姓名是:'||emp_name||',
工资是:'||emp_sal);
end;
ok了家人们 see you later

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2112605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

表情,符号,数字,字母,加密和解密源码

表情&#xff0c;符号&#xff0c;数字&#xff0c;字母&#xff0c;加密和解密源码 可以将表情&#xff0c;动物&#xff0c;水果&#xff0c;表情&#xff0c;手势&#xff0c;猫语&#xff0c;兽语&#xff0c;狗语&#xff0c;爱语&#xff0c;符号&#xff0c;数字&#x…

Mac M1安装Hive

一、下载解压Hive 1.官网地址 https://dlcdn.apache.org/hive/ 2.选择对应版本进行下载&#xff0c;这里我以3.1.3为例&#xff1b; 3.下载好后&#xff0c;进行解压&#xff0c;并重命名为hive-3.1.3&#xff0c;放到资源库目录下&#xff1b; 二、配置系统环境 1.打开~/…

WebGL系列教程一(开篇)

目录 1 前言2 推荐的书籍和网站3 WebGL简介4 本教程包含的主要内容预览4.1 顶点着色器4.2 片元着色器4.3 绘制点线面4.4 绘制三角形和四边形4.5 缓冲区4.6 旋转、平移、缩放4.7 动画4.8 颜色和纹理4.9 GLSL语法4.10 模型变换、视图变换、投影变换4.11 光照4.12 层次模型4.13 鼠…

【MySQL】MySQL常用的数据类型——表的操作

前言&#xff1a; &#x1f31f;&#x1f31f;本期讲解关于MySQL常用数据类型&#xff0c;表的简单使用&#xff0c;希望能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;http://t.csdnimg.cn/wwaqe &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondl…

传统CV算法——特征匹配算法

Brute-Force蛮力匹配 Brute-Force蛮力匹配是一种简单直接的模式识别方法&#xff0c;经常用于计算机视觉和数字图像处理领域中的特征匹配。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。这种方法的主要步骤包括&#xff1a; 特征提取&#xff…

JAVA开源项目 图书个性化推荐系统 计算机毕业设计

本文项目编号 T 015 &#xff0c;文末自助获取源码 \color{red}{T015&#xff0c;文末自助获取源码} T015&#xff0c;文末自助获取源码 目录 一、系统介绍1.1 业务分析1.2 用例设计1.3 时序设计 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究…

jmeter之循环控制器使用

一、循环控制器介绍及使用 循环控制器作用&#xff1a; 通过设置循环次数&#xff0c;来实现循环发送请求 位置&#xff1a;测试计划------>线程组(右键添加)------>逻辑控制器------>循环控制器 如图&#xff1a; 参数介绍&#xff1a; 循环次数&#xff1a;5 …

C语言11--特殊函数

静态函数 背景知识&#xff1a;普通函数都是跨文件可见的&#xff0c;即在文件 a.c 中定义的函数可以在 b.c 中使用。静态函数&#xff1a;只能在定义的文件内可见的函数&#xff0c;称为静态函数。 因此静态函数一般会被写在头文件中方便任何需要调用的文件直接包含即可作用&…

JavaScript 循环分支语句-dowhile循环

do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块&#xff0c;然后如果条件为真的话&#xff0c;就会重复这个循环。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta htt…

Ansys Zemax | 什么是Sobol取样?

附件下载 联系工作人员获取附件 本文主要介绍了&#xff1a; 什么是Sobol取样&#xff1f; 和随机光线产生方法相比&#xff0c;Sobol取样有什么优点&#xff1f; Sobol取样有什么限制&#xff1f; 随机取样和Sobol取样模式 一个光源会在位置空间以及角度空间随机产生光…

前端常用工具网站分享:MemFire Cloud,懒人开发者的福音

你是否曾梦想过&#xff0c;有那么一款工具&#xff0c;能够让你像变魔术一样快速搭建起一个应用&#xff0c;而无需深陷复杂的后端搭建和接口开发的泥潭&#xff1f;今天&#xff0c;我要为你介绍的&#xff0c;就是这样一个神奇的存在——MemFire Cloud&#xff0c;一款专为懒…

1.C_数据结构_基本知识

相关名词 数据是什么&#xff1a; 数据即信息的载体&#xff0c;是能够输入到计算机中并且能够计算机识别、存储、处理的符号总称。这里的数据不一定是一个int型&#xff0c;也可能是一个语音、一个字符串或者其他的一些打包的内容。 数据元素是什么&#xff1a; 数据元素(…

Danbooru风格图片分享平台szurubooru

什么是 Danbooru &#xff1f; Danbooru 是一种流行的图片分享网站&#xff0c;以其独特的图片标签系统和搜索功能而闻名。"Danbooru风格"通常指的是模仿 Danbooru 网站的图片论坛或图片分享平台所具有的特定特征&#xff0c;如&#xff1a; 标签系统&#xff1a;用户…

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II

代码随想录刷题day24丨93.复原IP地址 &#xff0c;78.子集 &#xff0c; 90.子集II 1.题目 1.1复原IP地址 题目链接&#xff1a;93. 复原 IP 地址 - 力扣&#xff08;LeetCode&#xff09; 视频讲解&#xff1a;回溯算法如何分割字符串并判断是合法IP&#xff1f;| LeetCod…

2024年高教杯国赛(B题)数学建模竞赛解题思路|完整代码论文集合

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

【2024高教社杯国赛A题】数学建模国赛建模过程+完整代码论文全解全析

你是否在寻找数学建模比赛的突破点&#xff1f;数学建模进阶思路&#xff01; 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024国赛数学建模竞赛&#xff08;A题&#xff09;的全面解析。这个解决方案包不仅包括完整的代码实现&#xff0c;还有详尽的建模过程和解析…

WebAPI(二)、DOM事件监听、事件对象event、事件流、事件委托、页面加载与滚动事件、页面尺寸事件

文章目录 一、 DOM事件1. 事件监听2. 事件类型(1)、鼠标事件(2)、焦点事件(3)、键盘事件(4)、文本事件 3. 事件对象(1)、获取事件对象(2)、事件对象常用属性 4. 环境对象 this5. 回调函数 二、 DOM事件进阶1. 事件流(1)、 捕获阶段(2)、 冒泡阶段(3)、 阻止冒泡(4) 、阻止元素默…

Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著

Optuna这个备受欢迎的超参数优化框架在近期发布了其第四个主要版本。自2018年首次亮相以来&#xff0c;Optuna不断发展&#xff0c;现已成为机器学习领域的重要工具。其用户社区持续壮大&#xff0c;目前已达到以下里程碑&#xff1a; 10,000 GitHub星标每月300万 下载量16,00…

静心是良性循环

我发现一个挺有意思的事&#xff1a; 花时间修炼自己的心&#xff0c;让自己静心&#xff0c;就愿意多花时间修炼&#xff0c;会更加静心&#xff0c;这样就良性循环了。难的是刚开始&#xff0c;心不静&#xff0c;没时间修炼&#xff0c;心静不下来&#xff0c;更没时间修炼&…

分类中的语义一致性约束:助力模型优化

前言 这里介绍一篇笔者在去年ACL上发表的一篇文章&#xff0c;使用了空间语义约束来提高多模态分类的效果&#xff0c;类似的思路笔者也在视频描述等方向进行了尝试&#xff0c;也都取得了不错的效果。这种建模时对特征进行有意义的划分和约束对模型还是很有帮助的&#xff0c;…