Oracle基础1

数据准备

create table my_user
(id    number primary key,name1 varchar2(30),name2 varchar2(30)
);
alter table my_useradd(name3 varchar2(30));
-- 修改字段
alter table my_usermodify(name1 varchar2(10),name2 varchar2(20));
-- 修改字段名
alter table my_user rename column name3 to name33;
select *
from my_user;-- 删除字段
alter table my_userdrop column name33;insert into my_user
values (1, 'xx1', 'xx2');
commit;
-- **分析性:维度建模
-- **交易性:--建立价格区间表
create table t_pricetable
(id          number primary key,price       number(10, 2),ownertypeid number,minnum      number,maxnum      number
);--业主类型
create table t_ownertype
(id   number primary key,name varchar2(30)
);--业主表
create table t_owners
(id          number primary key,name        varchar2(30),addressid   number,housenumber varchar2(30),watermeter  varchar2(30),adddate     date,ownertypeid number
);--区域表
create table t_area
(id   number,name varchar2(30)
);--收费员表
create table t_operator
(id   number,name varchar2(30)
);--地址表
create table t_address
(id         number primary key,name       varchar2(100),areaid     number,operatorid number
);
drop table t_address;--账务表--
create table t_account
(id        number primary key,owneruuid number,ownertype number,areaid    number,year      char(4),month     char(2),num0      number,num1      number,usenum    number,meteruser number,meterdate date,money     number(10, 2),isfee     char(1),feedate   date,feeuser   number
);create sequence seq_account;--业主类型
insert into t_ownertype
values (1, '居民');
insert into t_ownertype
values (2, '行政事业单位');
insert into t_ownertype
values (3, '商业');--地址信息--
insert into t_address
values (1, '明兴花园', 1, 1);
insert into t_address
values (2, '鑫源秋墅', 1, 1);
insert into t_address
values (3, '华龙苑南里小区', 2, 2);
insert into t_address
values (4, '河畔花园', 2, 2);
insert into t_address
values (5, '霍营', 2, 2);
insert into t_address
values (6, '回龙观东大街', 3, 2);
insert into t_address
values (7, '西二旗', 3, 2);--业主信息
insert into t_owners
values (1, '范冰', 1, '1-1', '30406', to_date('2015-04-12', 'yyyy-MM-dd'), 1);
insert into t_owners
values (2, '王强', 1, '1-2', '30407', to_date('2015-02-14', 'yyyy-MM-dd'), 1);
insert into t_owners
values (3, '马腾', 1, '1-3', '30408', to_date('2015-03-18', 'yyyy-MM-dd'), 1);
insert into t_owners
values (4, '林小玲', 2, '2-4', '30409', to_date('2015-06-15', 'yyyy-MM-dd'), 1);
insert into t_owners
values (5, '刘华', 2, '2-5', '30410', to_date('2013-09-11', 'yyyy-MM-dd'), 1);
insert into t_owners
values (6, '刘东', 2, '2-2', '30411', to_date('2014-09-11', 'yyyy-MM-dd'), 1);
insert into t_owners
values (7, '周健', 3, '2-5', '30433', to_date('2016-09-11', 'yyyy-MM-dd'), 1);
insert into t_owners
values (8, '张哲', 4, '2-2', '30455', to_date('2016-09-11', 'yyyy-MM-dd'), 1);
insert into t_owners
values (9, '昌平区中西医结合医院', 5, '2-2', '30422', to_date('2016-10-11', 'yyyy-MM-dd'), 2);
insert into t_owners
values (10, '美廉美超市', 5, '4-2', '30423', to_date('2016-10-12', 'yyyy-MM-dd'), 3);--操作员
insert into t_operator
values (1, '马小云');
insert into t_operator
values (2, '李翠花');--地区--
insert into t_area
values (1, '海淀');
insert into t_area
values (2, '昌平');
insert into t_area
values (3, '西城');
insert into t_area
values (4, '东城');
insert into t_area
values (5, '朝阳');
insert into t_area
values (6, '玄武');--价格表--insert into t_pricetable
values (1, 2.45, 1, 0, 5);
insert into t_pricetable
values (2, 3.45, 1, 5, 10);
insert into t_pricetable
values (3, 4.45, 1, 10, null);insert into t_pricetable
values (4, 3.87, 2, 0, 5);
insert into t_pricetable
values (5, 4.87, 2, 5, 10);
insert into t_pricetable
values (6, 5.87, 2, 10, null);insert into t_pricetable
values (7, 4.36, 3, 0, 5);
insert into t_pricetable
values (8, 5.36, 3, 5, 10);
insert into t_pricetable
values (9, 6.36, 3, 10, null);--账务表--
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '01', 30203, 50123, 0, 1, sysdate, 34.51, '1',to_date('2012-02-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '02', 50123, 60303, 0, 1, sysdate, 23.43, '1',to_date('2012-03-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '03', 60303, 74111, 0, 1, sysdate, 45.34, '1',to_date('2012-04-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '04', 74111, 77012, 0, 1, sysdate, 52.54, '1',to_date('2012-05-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '05', 77012, 79031, 0, 1, sysdate, 54.66, '1',to_date('2012-06-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '06', 79031, 80201, 0, 1, sysdate, 76.45, '1',to_date('2012-07-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '07', 80201, 88331, 0, 1, sysdate, 65.65, '1',to_date('2012-08-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '08', 88331, 89123, 0, 1, sysdate, 55.67, '1',to_date('2012-09-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '09', 89123, 90122, 0, 1, sysdate, 112.54, '1',to_date('2012-10-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '10', 90122, 93911, 0, 1, sysdate, 76.21, '1',to_date('2012-11-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '11', 93911, 95012, 0, 1, sysdate, 76.25, '1',to_date('2012-12-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 1, 1, 1, '2012', '12', 95012, 99081, 0, 1, sysdate, 44.51, '1',to_date('2013-01-14', 'yyyy-MM-dd'), 2);insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '01', 30334, 50433, 0, 1, sysdate, 34.51, '1',to_date('2013-02-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '02', 50433, 60765, 0, 1, sysdate, 23.43, '1',to_date('2013-03-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '03', 60765, 74155, 0, 1, sysdate, 45.34, '1',to_date('2013-04-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '04', 74155, 77099, 0, 1, sysdate, 52.54, '1',to_date('2013-05-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '05', 77099, 79076, 0, 1, sysdate, 54.66, '1',to_date('2013-06-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '06', 79076, 80287, 0, 1, sysdate, 76.45, '1',to_date('2013-07-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '07', 80287, 88432, 0, 1, sysdate, 65.65, '1',to_date('2013-08-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '08', 88432, 89765, 0, 1, sysdate, 55.67, '1',to_date('2013-09-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '09', 89765, 90567, 0, 1, sysdate, 112.54, '1',to_date('2013-10-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '10', 90567, 93932, 0, 1, sysdate, 76.21, '1',to_date('2013-11-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '11', 93932, 95076, 0, 1, sysdate, 76.25, '1',to_date('2013-12-14', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 2, 1, 3, '2012', '12', 95076, 99324, 0, 1, sysdate, 44.51, '1',to_date('2014-01-14', 'yyyy-MM-dd'), 2);insert into t_account
values (seq_account.nextval, 100, 1, 3, '2012', '12', 95076, 99324, 0, 1, sysdate, 44.51, '1',to_date('2014-01-01', 'yyyy-MM-dd'), 2);
insert into t_account
values (seq_account.nextval, 101, 1, 3, '2012', '12', 95076, 99324, 0, 1, sysdate, 44.51, '1',to_date('2015-01-01', 'yyyy-MM-dd'), 2);

 

-- todo 1 基本结构创建
-- 查看当前用户
select user
from dual;
select sysdate
from dual;

--创建表空间
--datefile '地址'(告诉用户表存在哪个文件里)
--size
--autoextend on
--next


--创建用户 default tablespace 默认表空间


--给新用户授权 grant dba to c##wateruser;


--查看用户


-- todo 2 数据类型
-- 字符串类型
-- mysql选择
-- 数据不多 且追求速度
-- name char(10)      name插入数据 就一定会占用10字节空间
-- 数据量比较大
-- name varchar(10)   name插入数据'123' 就一定会占用3字节空间
-- long 2G

-- oracle
-- name varchar2(20)  在一定条件下把汉字,普通字符按照2个字节处理 数字1字节

-- hive 字符串
-- string 2G 可变

-- 数字类型
-- number(5)    数字有5位,小数点后没有
-- number(5,2)  总共5位 小数点后2位  188.88
-- number       整数  100 -10

-- 时间类型
-- todo mysql中可以有 date datetime year等时间类型
-- 并且 字符串可以 和这些时间类型 比较 插入数据
-- todo oracle 中 date 2000-10-10 10:10:10
-- 不能和 字符串进行比较 插入

create table xxx
(
    dt date
);
-- date 2000-10-10 10:10:10
-- oracle时间基本使用 date类型
select SYSDATE
from dual;
insert into xxx
values (SYSDATE);
-- 在oracle中把时间类型转化为字符串
select *
from xxx
where to_char(dt, 'yyyy-mm-dd hh24:mi:ss') = '2024-04-17 12:07:11';
-- timestamp ==> current_timestamp
-- 区分 ==> 时区
select current_timestamp
from dual;
-- 把unix类型的时间戳 转化为data时间类型
SELECT date '1970-01-01' + NUMTODSINTERVAL(1713327444, 'SECOND')
from dual;


-- todo 3 表操作
-- 扩展(了解)
-- 如果想要主键自增长 需要设置 自增序列
-- create sequence seq_userinfo
--     increment by 1
--     start with 1
--     nomaxvalue
--     nominvalue
--     cache 20;
-- 查看表结构
-- 在命令窗口 desc 表名
-- 在pl/sql中 SELECT DBMS_METADATA.GET_DDL('TABLE','XXX') FROM DUAL;
-- 注意: 表名必须大写

-- 1. 创建表(主键 没有自增长)
create table my_user
(
    id    number primary key,
    name1 varchar2(30),
    name2 varchar2(30)
);


-- 修改表结构
-- 2. 增加一个字段
-- ALTER TABLE 表名称  ADD(列名  1  类型  [DEFAULT  默认值],列名   1  类型 [DEFAULT  默认值]...)
alter table my_user
    add (name3 varchar2(30));
-- 增加多个字段
alter table my_user
    add (name4 varchar2(30),name5 varchar2(30));

-- 3. 修改字段
-- 修改数据类型 不能修改字段名
-- ALTER TABLE 表名称 MODIFY(列名 1  类型  [DEFAULT  默认值],列名 1  类型 [DEFAULT  默认值]...)
alter table my_user
    modify (
        name1 varchar2(20),
        name2 varchar2(10)
        );

-- 4. 修改字段名
-- ALTER TABLE 表名称 RENAME COLUMN 原列名 TO  新列名
alter table my_user rename column name5 to name55;

-- 5. 删除一个字段
-- ALTER TABLE 表名称 DROP COLUMN 列名
alter table my_user
    drop column name55;

-- 6. 删除多个字段
-- ALTER TABLE 表名称 DROP (列名 1,列名 2...)
alter table my_user
    drop (name4, name3);


-- 7. 删除表
drop table 表名;

-- todo 4 数据增删改
-- 默认开启事务的 只要使用了增删改(都需要commit)
-- 创建表
-- 插入一条数据
insert into my_user
values (1, 'xxx1', 'xxx2');
select *
from my_user;
commit;

-- 插入多条数据(不能同时插入多条数据)
insert into my_user
values (2, 'xxx3', 'xxx4');
insert into my_user
values (3, 'xxx5', 'xxx6');
rollback;
select *
from my_user;
insert into my_user
values (4, 'xxx7', 'xxx8');
commit;

-- 数据修改和mysql一样
-- update 表名 set 字段名='xxx' where ;
-- 数据删除和mysql一样
-- delete from xxx where ;

-- delete可以回滚
-- truncate table 不可以回滚
-- 把数据表直接删除 然后从新创建新的


-- todo 5 条件查询语句
-- 模糊查询 NAME like
-- 逻辑运算符优先级问题
-- 查询业主名称包含“刘”的或者门牌号包含 5 的业主记录 ,并且地址编号 为 3 的记录。
select *
from T_OWNERS
where (name like '%刘%' or HOUSENUMBER like '%5%')
  and ADDRESSID = 3;

-- 三种去重方式(查询 t_account 中去重的month)
select MONTH
from T_ACCOUNT;

-- 方法1
select distinct month
from T_ACCOUNT;
-- 方法2
select MONTH
from T_ACCOUNT
group by MONTH;
-- 方法3
-- from > where > group by > having > select > order by > limit
with t1 as (
    select month, row_number() over (partition by MONTH order by MONTH) rn
    from T_ACCOUNT)
select *
from t1
where rn = 1;


-- 基于伪列查询
-- 伪列 并不真实存在于表中 他是根据orcale在读取插入数据的时候 根据物理地址信息编码形成的信息
-- 查询t_owners
select *
from T_OWNERS;
-- rownum 基于查询的 自动产生的一个编号 并且一定从1开始
-- rownum 行号
select rownum, T_OWNERS.*
from T_OWNERS;
-- rownum<5的所有数据
select rownum, T_OWNERS.*
from T_OWNERS
where ROWNUM < 5;
-- rownum>5的所有数据 使用rownum的时候不要使用> 不支持
select rownum, T_OWNERS.*
from T_OWNERS
where ROWNUM > 5;
-- 基于查询结果 获取的编号 并且必定从1开始
with t1 as (
    select rownum rn, T_OWNERS.*
    from T_OWNERS)
select *
from t1
where rn > 5;
-- 查询rownum大于3的所有数据
with t1 as (
    select rownum rn, T_OWNERS.*
    from T_OWNERS)
select *
from t1
where rn > 3;
-- rowid 行id (T_OWNERS)
select ROWID, T_OWNERS.*
from T_OWNERS;
-- 通过 rowid 可以指定查数据
select *
from T_OWNERS
where ROWID = 'AAASuiAANAAAAC9AAA';

-- todo 6 rowid 和 rownum的使用
-- todo 6.1 rowid 去重(t_account)
-- 1. 查看rowid
select rowid
from my_user;

-- 2. 通过rowid去重(效率较低不建议使用)
-- 按照月份去重(按照月份分组 并获取 每组中的最小值rowid)
delete
from my_user
where rowid not in (select min(rowid)) from my_user
group by id, name);

-- todo 6.2 删除完全一样的重复数据
-- 准备数据用作 修改 删除
-- 表中有完全相同的数据(准备表)
create table my_test
(
    id   number,
    name varchar2(50)
);
truncate table my_test;
insert into my_test
values (1, '老王');
insert into my_test
values (1, '老王');
insert into my_test
values (2, '老李');
insert into my_test
values (2, '老李');
insert into my_test
values (3, '老张');
insert into my_test
values (3, '老张');
commit;
select *
from my_test;

-- 4. 修改一条指定数据update
-- 不用rowid进行数据修改(不可行)

-- 按照rowid就行数据修改


-- 5. 删除重复数据
-- 只删除重复数据(注意:如果有数据本身就不重复 会不会受影响?)


--todo 6.3 rownum 分页 限制数据数量显示(oracle中没有limit)
--rownum只有在rownum<xx的时候才会显示
--每一个结果集都会有一个rownum
--1. 查看rownum t_owners表

--2.分页显示[ <=页数 * 每页个数, > (页数-1) * 每页个数 ]
--每页显示2条数据 显示第3页数据

--3.排序分页
with t1 as (
    select *
    from T_OWNERS
    order by name
),
     t2 as (
         select ROWNUM rm, t1.*
         from t1
     )
select *
from t2
where rm <= 3 * 2
  and rm > (3 - 1) * 2;


-- todo 7 聚合函数 练习
-- 1. 按区域统计水费之和
-- 最终显示区域: t_area.name
-- 总钱数: sum(t_account.money)
select ta.NAME, sum(tt.MONEY)
from t_account tt
         join t_area ta
              on tt.AREAID = ta.ID
group by ta.NAME;


-- 2. 查询水费合计大于 169000 的区域及水费合计
-- having 方式1
select ta.NAME, sum(tt.MONEY) sy
from t_account tt
         join t_area ta
              on tt.AREAID = ta.ID
group by ta.NAME
having sum(tt.MONEY) > 169000;

-- with 方法2
with t1 as (
    select ta.NAME te, sum(tt.MONEY) sy
    from t_account tt
             join t_area ta
                  on tt.AREAID = ta.ID
    group by ta.NAME
)
select t1.te, t1.sy
from t1
where sy > 169000;


-- hive中,不能直接select cout(*) from 表,应该分组求再的乘

-- todo 8 连接查询
-- mysql方式
-- 内连接: a inner join b ==> a join b
-- 外连接: a left/right join b ==> a left/right outer join b
-- 笛卡尔积: a,b
-- oracle方式
--左连接 : select xxx from 表1,表2 where 表1.字段=表2.字段(+);
--右连接 : select xxx from 表1,表2 where 表1.字段(+)=表2.字段;
--内连接 : select xxx from 表1,表2 where 表1.字段=表2.字段;

-- 1. 查询业主(t_owners)的账务记录(t_account)
-- 显示业主编号、名称、年、月、金额。如果此业主
-- mysql方式(inner join)

-- mysql方式(join)

-- oracle方式


-- 2. 查询业主(t_owners)的账务记录(t_account)
-- 显示业主编号、名称、年、月、金额。如果此业主 没有账务记录也要列出姓名
-- mysql方式(left join)

-- mysql方式(left outer join)

--oracle方式


-- 3. 笛卡尔积
-- 创建笛卡尔积
-- mysql方式(inner join 没有on)

-- cross join(交叉连接)

-- oracle方式(不加where)


-- 4. 笛卡尔积的使用
-- 年份    月份
-- 2020   01
-- 2020   02
-- 2020   03
-- 2020   04
-- 2020   05
-- 2020   06
with t1 as (
    select '01' as 月份
    from dual
    union all
    select '02' as 月份
    from dual
    union all
    select '03' as 月份
    from dual
    union all
    select '04' as 月份
    from dual
    union all
    select '05' as 月份
    from dual
    union all
    select '06' as 月份
    from dual
),
     t2 as (
         select '2020' as 年份
         from dual
     )
select *
from t1,
     t2;


-- todo 9 子查询
-- 1. 单行子查询 : 返回的是一行一列
-- 查询 2012 年 1 月用水量 大于 1月整月平均值的台账记录(month需要为'01',T_ACCOUNT表)
select *
from T_ACCOUNT
where YEAR = '2012'
  and MONTH = '01'
  and USENUM > (select avg(USENUM)
                from T_ACCOUNT
                where YEAR = '2012'
                  and MONTH = '01');

-- 2. 多行子查询 返回多条数据
-- 查询 2012 年 1月 2月 用水量大于 2012整年平均值的台账记录

-- 3. from 子句中的子查询
-- 查询显示业主编号 ,业主名称 ,业主类型名称 ,条件为业主类型为”居民”  T_OWNERS, T_OWNERTYPE,
-- 1. from子句中写法

-- 2. 内连接写法


-- 4. select 子句中的子查询
-- 4.1 列出业主信息 ,包括 ID ,名称 ,所属地址 T_OWNERS T_ADDRESS
-- 1. 内连接的方法
select tr.ID, tr.NAME, te.NAME
from T_OWNERS tr
         join T_ADDRESS te
              on tr.ADDRESSID = te.ID


-- 2. select子句中写法
select tr.ID,
       tr.NAME,
       (select name
        from T_ADDRESS te
        where tr.ADDRESSID = te.ID)
from T_OWNERS tr;

-- 4.2 列出业主信息 ,包括 ID ,名称 ,所属地址, 所属区域 T_OWNERS T_ADDRESS T_AREA
-- 1. 内连接的方法
select T_OWNERS.ID, T_OWNERS.NAME, T_ADDRESS.NAME, T_AREA.NAME
from T_OWNERS
         join T_ADDRESS
              on T_OWNERS.ADDRESSID = T_ADDRESS.ID
         join T_AREA
              on T_ADDRESS.AREAID = T_AREA.ID;

-- 2. select子句中写法
select T_OWNERS.ID,
       T_OWNERS.NAME,
       (select T_ADDRESS.NAME from T_ADDRESS where T_OWNERS.ADDRESSID = T_ADDRESS.ID),
       (select T_AREA.NAME
        from T_AREA,
             T_ADDRESS
        where T_ADDRESS.AREAID = T_AREA.ID
          and T_OWNERS.ADDRESSID = T_ADDRESS.ID)
from T_OWNERS;


select substr('6666@qq.com', instr('6666@qq.com', '@') + 1, length('6666@qq.com') - instr('6666@qq.com', '@') + 1)
from dual;

select sysdate from dual;
select add_months(sysdate,2) from dual;

select sysdate + interval '1' year from dual;
select sysdate + interval '1' month from dual;
select sysdate + interval '1' day from dual;
select sysdate + interval '1' hour from dual;
select sysdate + interval '1' minute from dual;
select sysdate + interval '1' second from dual;

select 1+1 from dual;

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

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

相关文章

SignalR中的重连机制和心跳监测机制详解

一. 重连机制 声明&#xff1a;   本节仅介绍重连机制和心跳监测机制&#xff0c;基于Core 3.1框架&#xff0c;至于SignalR其它的一些基本使用&#xff0c;包括引入、Hub、配置等常规操作&#xff0c;在本节中不介绍&#xff0c;后续写Core下的SignalR 说明   默认是没有重…

钥匙和房间

题目链接 钥匙和房间 题目描述 注意点 所有 rooms[i] 的值 互不相同如果能进入所有房间返回true&#xff0c;否则返回falserooms[i] 是进入 i 号房间可以获得的钥匙集合 解答思路 可以通过深度优先遍历找到所有可以访问的房间&#xff0c;需要注意的是同一个房间不能重复访…

(数据分析) 一季度四川外贸进出口增长7.8% 回稳向好态势显著

据海关统计&#xff0c;一季度&#xff0c;四川实现货物贸易进出口总值2415.4亿元&#xff0c;规模位列全国第8&#xff0c;同比&#xff08;下同&#xff09;增长7.8%&#xff0c;增速高出全国2.8个百分点。主要呈现以下特点&#xff1a; 一、进口显著回升&#xff0c;进、出口…

2024.4.26

//异或 Complex Complex::operator^(const Complex c1){Complex temp;temp.relthis->rel^c1.rel;temp.virthis->vir^c1.vir;return temp; }//按位取反 Complex Complex::operator~(){this->rel~this->rel;this->vir~this->vir;return* this; } //左移 Comple…

vue+element之解决upload组件上传文件失败后仍显示在列表上、自动上传、过滤、findIndex、splice、filter

MENU 前言错误案例(没有用)正确方法结束语 前言 el-upload上传失败后&#xff0c;文件仍显示在列表上。 这个pdf文件上传失败&#xff0c;仍显示在列表&#xff0c;给人错觉是上传成功&#xff0c;所以要把它去掉。 在element中&#xff0c;file-list和v-model:file-list是用于…

Bun 入门到精通(一)

Bun 是什么&#xff1f; Bun 是用于 JavaScript 和 TypeScript 应用程序的多合一工具包。它作为一个名为 bun 的可执行文件提供。 其核心是 Bun 运行时&#xff0c;这是一个快速的 JavaScript 运行时&#xff0c;旨在替代 Node.js。它是用 Zig 编写的&#xff0c;并由 JavaSc…

Matlab|交直流系统潮流计算(含5种控制模式)

目录 1 主要内容 程序参考流程图 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《交直流系统潮流计算及相互关联特性分析》&#xff0c;采用5种交直流潮流控制方式&#xff1a;1.定电流定电压 2.定电流定熄弧角 3.定功率定电压 4.定功率定熄弧角 5.定触发角…

Kafka 生产者应用解析

目录 1、生产者消息发送流程 1.1、发送原理 2、异步发送 API 2.1、普通异步发送 2.2、带回调函数的异步发送 3、同步发送 API 4、生产者分区 4.1、分区的优势 4.2、生产者发送消息的分区策略 示例1&#xff1a;将数据发往指定 partition 示例2&#xff1a;有 key 的…

ollama集成open-webui本地部署大模型应用

文章目录 概述安装ollama运行指定模型命令帮助docker 安装 webuiWebUI与ollama在同一台机器WebUI与ollama不在同一台机器(推荐)更新open-webui离线安装open-webui使用验证访问导入模型文件参考资料概述 ollama是一款在本地启动并运行大型语言模型的工具,主要功能是在 Docke…

原型模式(上机考试抽题)

定义 原型模式主要解决的问题就是创建复对象&#xff0c;⽽这部分 对象 内容本身⽐较复杂&#xff0c;⽣成过程可能从库或者RPC接⼝中获取数据的耗时较⻓&#xff0c;因此采⽤克隆的⽅式节省时间。 上机考试抽题 从⼀部分可以上机考试的内容开始&#xff0c;在保证⼤家的公平…

经典的免费wordpress模板

这款经典的免费WordPress模板以鲜艳的红色为主调&#xff0c;充满了活力与热情。设计简洁而现代&#xff0c;适合各种类型的项目网站。模板采用响应式设计&#xff0c;确保在不同设备和屏幕尺寸上都能呈现出完美的视觉效果。 红色象征着激情、活力和自信&#xff0c;这款模板…

面试题:判断一个完全平方数

面试题&#xff1a;判断一个完全平方数 方法一&#xff1a;平方根法 bool isPerfectSquare(int n) {int sqrt_n int(sqrt(1.0 * n));return sqrt_n * sqrt_n n; }方法二&#xff1a;连续奇数和法 // 一个完全平方数可以表示为前n个连续奇数的和&#xff0c;如1 3 5 // 不…

对策略模式的理解

目录 一、场景1、题目描述 【[来源](https://kamacoder.com/problempage.php?pid1082)】2、输入描述3、输出描述4、输入示例5、输出示例 二、不使用策略模式三、使用策略模式1、不优雅的实现2、策略模式 简单工厂模式2.1 代码2.2 优点2.3 另一种实现方式 四、个人思考 一、场…

2024年Q1企业邮箱安全性研究报告:钓鱼邮件同比增长59.9%

4月23日&#xff0c;Coremail邮件安全联合北京中睿天下信息技术有限公司发布《2024年第一季度企业邮箱安全性研究报告》。对当前企业邮箱的应用状况和安全风险进行了分析。 1、垃圾邮件持续增长 根据Coremail邮件安全人工智能实验室最新数据显示&#xff0c;2024年第一季度&am…

4 -26

4-26 1 英语单词100个一篇六级翻译 2 div 4 补题目 3 概率论期中卷子一张&#xff0c;复习复习。 4 备课ing 晚上出去炫饭&#xff0c;串串香&#xff0c;无敌了。 中间一些模拟题是真的恶心&#xff0c;思维题是真的想不到&#xff0c;感觉自己就是一个废物呢。 1.是将一个数…

[C++]STL---unordered_set与unordered_map的模拟实现

目录 前言 哈希桶的改造 哈希桶的初步改造 迭代器的模拟实现 operator() 类互相typedef时的前置声明 友元声明 迭代器的出口 插入Insert() 查找Find(&#xff09; 哈希表的最终改造 unordered_set的模拟实现 unordered_map的模拟实现 前言 unordered_set与set的区…

mysql索引里得基数是啥

最近遇到又问mysql索引中得基数是啥&#xff0c;有什么影响吗&#xff0c;下面罗列以下&#xff1a; 索引里得基数是指索引中存放得不同值的数量。对于像某个字段&#xff0c;如果存有多个不同的值&#xff0c;那么基数就会大&#xff0c;反之&#xff0c;如果有很多重复的值&a…

运行游戏提示dll文件丢失,分享多种有效的解决方法

在我们日常频繁地利用电脑进行娱乐活动&#xff0c;特别是畅玩各类精彩纷呈的电子游戏时&#xff0c;常常会遭遇一个令人困扰的问题。当我们满怀期待地双击图标启动心仪的游戏程序&#xff0c;准备全身心投入虚拟世界时&#xff0c;屏幕上却赫然弹出一条醒目的错误提示信息&…

最受站长欢迎的wordpress模板

蓝色与黄色&#xff0c;作为经典的互补色&#xff0c;它们在企业网站设计中总能碰撞出令人印象深刻的火花。当这两种鲜艳的色彩巧妙结合时&#xff0c;不仅能够吸引访客的注意力&#xff0c;还能传达出一种活力四射、积极向上的企业形象。 今天&#xff0c;我们为您推荐的这款…

LAPGAN浅析

LAPGAN 引言 在原始 GAN和CGAN中&#xff0c;还只能生成 16*16, 28*28, 32*32 这种低像素小尺寸的图片。而LAPGAN首次实现 64*64 的图像生成。与其一下子生成这么大的图像 &#xff08;包含信息量这么多&#xff09;&#xff0c;不如一步步由小到大&#xff0c;这样每一步生成…