MySQL、Oracle 常用SQL:建表、建视图、数据增删改查、常用condition
目录
- 1 MySQL、Oracle 建表语句整理
- 1.1 MySQL 建表
- 1.2 Oracle 建表
- 1.3 补充
- 1.3.1 主键:新增、删除
- 1.3.2 字段:新增、修改、删除
- 2 MySQL、Oracle 建视图
- 3 数据:增删改查
- 3.1 插入数据
- 3.1.1 MySQL、Oracle 插入一条数据
- 3.1.2 MySQL、Oracle 插入多条数据(语法不一样)
- 3.1.3 MySQL、Oracle 将查询出来的数据插入到表中
- 3.2 删除数据
- 3.2.1 删除所有数据:TRUNCATE、DELETE
- 3.2.2 删除符合条件的数据:DELETE
- 3.3 修改数据:UPDATE
- 3.4 数据查询:SELECT
- 4 MySQL、Oracle 常用 condition 条件整理
- 5 其他补充
- 5.1 MySQL、Oracle 的数据排序:ORDER BY ... ASC|DESC
- 5.2 MySQL、Oracle 查询数量的控制(分页): LIMIT、ROWNUM
- 5.3 CASE WHEN:用于条件逻辑的判断
1 MySQL、Oracle 建表语句整理
删除表:DROP TABLE TABLE_NAME;
建表:CREATE TABLE TABLE_NAME();
主键:PRIMARY KEY
不为空: NOT NULL
默认值:DEFAULT DEFAULT_VALUE
MySQL、Oracle 通用样例:
-- 删除表:表必须存在,才能删除表
DROP TABLE TABLE_NAME;
-- 建表:表存在,则不允许重复创建
CREATE TABLE TABLE_NAME ( COLUMN1 DATATYPE PRIMARY KEY, COLUMN2 DATATYPE NOT NULL, COLUMN3 DATATYPE DEFAULT '默认值'
);
-- MySQL、Oracle 修改表名
ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME;
-- MySQL、Oracle 复制表
CREATE TABLE NEW_TABLE_NAME1 AS
SELECT * FROM TABLE_NAME;
注意:DATATYPE 是指 数据库的数据类型,需要修改成具体数据类型。
1.1 MySQL 建表
INT类型 自增:INT AUTO_INCREMENT
注释:COMMENT
参考案例:
-- 删除表:表必须存在,才能删除表
DROP TABLE TABLE_NAME;
-- 建表:表存在,则不允许重复创建
CREATE TABLE TABLE_NAME (COLUMN1 INT AUTO_INCREMENT PRIMARY KEY, COLUMN2 VARCHAR(200) NOT NULL DEFAULT '默认值' COMMENT '字段注释',COLUMN3 VARCHAR(200)
) COMMENT '表的注释';
-- 修改表注释
ALTER TABLE TABLE_NAME COMMENT 'XXXX表';
-- 字段添加注释
ALTER TABLE TABLE_NAME MODIFY COLUMN3 VARCHAR(200) COMMENT '注释内容';
1.2 Oracle 建表
INT类型:不支持自增,Oracle 没有自增的数据类型。
注释:不能直接在 建表语句 里面写。
(1)表注释:
COMMENT ON TABLE TABLE_NAME IS ‘表的注释’;
(2)字段注释:
COMMENT ON COLUMN TABLE_NAME.COLUMN1 IS ‘字段注释’;
参考案例:
DROP TABLE TABLE_NAME; -- 表必须存在,才能删除表
CREATE TABLE TABLE_NAME ( COLUMN1 NUMBER PRIMARY KEY,COLUMN2 VARCHAR2(200) DEFAULT '默认值' NOT NULL,COLUMN3 VARCHAR2(200)
);
COMMENT ON TABLE TABLE_NAME IS '表的注释';
COMMENT ON COLUMN TABLE_NAME.COLUMN1 IS '字段注释';
注意事项:
建表语句的字段 同时设置:不为空 和 默认值,MySQL 和 Oracle 顺序不一样。
MySQL:不为空 + 默认值,如:NOT NULL DEFAULT ‘默认值’
Oracle:默认值 + 不为空,如:DEFAULT ‘默认值’ NOT NULL
1.3 补充
1.3.1 主键:新增、删除
MySQL、Oracle 的 添加主键、删除主键,参考如下:
-- 添加主键
ALTER TABLE TABLE_NAME ADD PRIMARY KEY (COLUMN1);
-- 删除主键
ALTER TABLE TABLE_NAME DROP PRIMARY KEY;
1.3.2 字段:新增、修改、删除
MySQL、Oracle 的 新增字段、修改字段数据类型、删除字段,参考如下:
-- 添加字段
ALTER TABLE TABLE_NAME ADD COLUMN1 DATATYPE;
-- 修改字段数据类型
ALTER TABLE TABLE_NAME MODIFY COLUMN1 NEW_DATATYPE;
-- 删除字段
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN1;
MySQL 字段重命名
ALTER TABLE TABLE_NAME CHANGE COLUMN1 NEW_COLUMN1 DATATYPE;
Oracle 字段重命名
ALTER TABLE TABLE_NAME RENAME COLUMN COLUMN1 TO NEW_COLUMN1;
2 MySQL、Oracle 建视图
MySQL、Oracle 建视图
CREATE VIEW VIEW_NAME AS
SELECT COLUMN1, COLUMN2
FROM TABLE_NAME
WHERE CONDITION;
MySQL、Oracle 创建视图、修改视图:
CREATE OR REPLACE VIEW VIEW_NAME AS
SELECT COLUMN1, COLUMN2
FROM TABLE_NAME
WHERE CONDITION;
3 数据:增删改查
3.1 插入数据
3.1.1 MySQL、Oracle 插入一条数据
基本形式如下:
INSERT INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, ...)
VALUES (VALUE1, VALUE2, VALUE3, ...);
TABLE_NAME:插入数据的表名称
(COLUMN1, COLUMN2, …) :表的列名称,指定要插入的列
(value1, value2, …) :与列对应的值,它们的顺序和类型应该与列的定义相匹配
参考案例:
INSERT INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3)
VALUES ('1','11','111');
注意:如果表中的某些列设置了默认值或者允许空值(NULL),那么在插入数据时可以省略这些列,会自动使用默认值或者空值填充这些列。
3.1.2 MySQL、Oracle 插入多条数据(语法不一样)
(1)MySQL 的插入多条数据,基本形式如下:
INSERT INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, ...)
VALUES
(VALUE1A, VALUE2A, VALUE3A, ...),
(VALUE1B, VALUE2B, VALUE3B, ...),
...
(VALUE1Z, VALUE2Z, VALUE3Z, ...);
参考案例:
INSERT INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3)
VALUES
('1','11','111'),
('2','22','222'),
('3','33','333');
(2)Oracle 的插入多条数据,基本形式如下:
INSERT ALL
INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, ...) VALUES (VALUE1A, VALUE2A, VALUE3A, ...)
INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, ...) VALUES (VALUE1B, VALUE2B, VALUE3B, ...)
...
INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, ...) VALUES (VALUE1Z, VALUE2Z, VALUE3Z, ...)
SELECT * FROM DUAL;
参考案例:
INSERT ALL
INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3) VALUES ('1', '11', '111')
INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3) VALUES ('2', '22', '222')
INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3) VALUES ('3', '33', '333')
SELECT * FROM DUAL;
3.1.3 MySQL、Oracle 将查询出来的数据插入到表中
基本形式如下:
INSERT INTO TABLE2 (COLUMN1, COLUMN2, COLUMN3)
SELECT COLUMN1, COLUMN2, COLUMN3
FROM TABLE1
WHERE CONDITION;
参考案例:
INSERT INTO TABLE2 (COLUMN1, COLUMN2, COLUMN3)
SELECT '4' AS COLUMN1, COLUMN2, COLUMN3
FROM TABLE_NAME
WHERE COLUMN1='1';
注意:AS COLUMN1 可以不写,但是为了阅读性,最好还是加上。
当目标表TABLE2 和 来源表TABLE1 的结构一致 (相同的列、列的顺序和数据类型一致),插入语句可以不写列,基本形式如下:
INSERT INTO TABLE2
SELECT *
FROM TABLE1
WHERE CONDITION;
3.2 删除数据
3.2.1 删除所有数据:TRUNCATE、DELETE
1、MySQL、Oracle 删除所有数据,可以使用 TRUNCATE
TRUNCATE 不允许带条件,直接删除表所有数据并释放空间。比 DELETE 操作更快。
TRUNCATE TABLE TABLE_NAME;
2、MySQL、Oracle 删除所有数据,使用 DELETE 操作
DELETE 可以带条件删除,是逐行删除的,比 TRUNCATE 操作慢。
DELETE FROM TABLE_NAME;
注意:数据量特别大时,全部删除,建议使用 TRUNCATE。
3.2.2 删除符合条件的数据:DELETE
MySQL、Oracle 的语法一致,如下:
DELETE FROM TABLE_NAME WHERE CONDITION;
DELETE FROM TABLE_NAME WHERE CONDITION1 AND CONDITION2;
DELETE FROM TABLE_NAME WHERE CONDITION1 OR CONDITION2;
-- 参考案例:
DELETE FROM TABLE_NAME WHERE COLUMN1='1';
3.3 修改数据:UPDATE
MySQL、Oracle 的语法一致,如下:
UPDATE TABLE_NAME SET COLUMN1 = VALUE1, COLUMN2 = VALUE2 WHERE CONDITION;
-- 参考案例:
UPDATE TABLE_NAME SET COLUMN2 = 'AAA' WHERE COLUMN1='2';
column1 和 column2 是要更新列的名称,value1 和 value2 是要设置的新值。
3.4 数据查询:SELECT
MySQL、Oracle 的语法一致,如下:
-- 查询表所有列的数据
SELECT * FROM TABLE_NAME WHERE CONDITION;
-- 参考案例:
SELECT * FROM TABLE_NAME WHERE COLUMN1='2';-- 查询具体列的数据
SELECT COLUMN1, COLUMN2, ... FROM TABLE_NAME WHERE CONDITION;
-- 参考案例:
SELECT COLUMN1,COLUMN2 FROM TABLE_NAME WHERE COLUMN1='2';
查询所有列,可以使用星号(*)作为通配符。
4 MySQL、Oracle 常用 condition 条件整理
1、等于(=):用于匹配等于指定值的记录。
2、不等于(<> 或 !=):用于匹配不等于指定值的记录。
3、大于(>)、小于(<)、大于等于(>=)、小于等于(<=):用于匹配指定范围内的值。
SELECT * FROM TABLE_NAME WHERE COLUMN1 = VALUE;
SELECT * FROM TABLE_NAME WHERE COLUMN1 != VALUE;
SELECT * FROM table_name WHERE COLUMN1 <> VALUE;
SELECT * FROM TABLE_NAME WHERE COLUMN1 > VALUE1 AND COLUMN2 < VALUE2;
-- 案例:
SELECT * FROM TABLE_NAME WHERE COLUMN1 = '1';
SELECT * FROM TABLE_NAME WHERE COLUMN1 != '1';
SELECT * FROM TABLE_NAME WHERE COLUMN1 <> '1';
SELECT * FROM TABLE_NAME WHERE COLUMN1 > '1' AND COLUMN2 < '999';
4、LIKE:用于模糊匹配字符串值。可以使用通配符来指定模式。
SELECT * FROM TABLE_NAME WHERE COLUMN1 LIKE 'PATTERN%'; -- 查询:以 PATTERN 开头的数据
SELECT * FROM TABLE_NAME WHERE COLUMN1 LIKE '%PATTERN%'; -- 查询:包含 PATTERN 的数据
-- 案例:
SELECT * FROM TABLE_NAME WHERE COLUMN1 LIKE '2015%'; -- 以 2015开头的所有数据,如:20150101
SELECT * FROM TABLE_NAME WHERE COLUMN1 LIKE '%01-2%'; -- 包含 01-2 的数据,如:2015-01-20
5、IN:用于匹配指定的多个值之一。
SELECT * FROM TABLE_NAME WHERE COLUMN1 IN (VALUE1, VALUE2, ...);
-- 案例-返回:COLUMN1 等于 1、2、3 的数据
SELECT * FROM TABLE_NAME WHERE COLUMN1 IN ('1','2','3');
6、BETWEEN:用于匹配指定范围内的值。
SELECT * FROM TABLE_NAME WHERE COLUMN1 BETWEEN VALUE1 AND VALUE2;
-- 案例-返回:COLUMN1 在 1 和 99 之间的数据(包含1、99)
SELECT * FROM TABLE_NAME WHERE COLUMN1 BETWEEN '1' AND '999';
7、IS NULL:用于匹配空值的数据。
8、IS NOT NULL:用于匹配不为空的数据。
SELECT * FROM TABLE_NAME WHERE COLUMN1 IS NULL;
SELECT * FROM TABLE_NAME WHERE COLUMN1 IS NOT NULL;
9、AND、OR:用于组合多个条件,使用AND运算符表示同时满足多个条件,使用OR运算符表示满足任一条件。
SELECT * FROM TABLE_NAME WHERE COLUMN1 = VALUE1 AND COLUMN2 = VALUE2;
SELECT * FROM TABLE_NAME WHERE COLUMN1 = VALUE1 OR COLUMN2 = VALUE2;
5 其他补充
5.1 MySQL、Oracle 的数据排序:ORDER BY … ASC|DESC
MySQL、Oracle 的 ORDER BY 子句可以指定一个或多个列进行排序,
并且可以指定升序(ASC)或降序(DESC)排序。
SELECT COLUMN1, COLUMN2, ...
FROM TABLE_NAME
ORDER BY COLUMN1, COLUMN2, ... ASC|DESC;
-- 默认升序
SELECT COLUMN1, COLUMN2, ...
FROM TABLE_NAME
ORDER BY COLUMN1;
注意:如果不指定排序方向(ASC或DESC),则默认情况下都是升序排序(ASC)
5.2 MySQL、Oracle 查询数量的控制(分页): LIMIT、ROWNUM
1、MySQL 的 LIMIT 子句用于限制查询结果返回的数据数量。
LIMIT 通常与 SELECT 语句一起使用,以指定从数据库表中检索的记录的数量。
(1)LIMIT count:只返回最多count条记录。返回结果集的前 count 条数据。
(2)LIMIT offset, count:从指定的offset位置开始返回最多count条记录。
例如,LIMIT 5, 10 将返回结果集中的第6条到第15条记录(索引从0开始)。
参考案例:
-- 返回:1条数据
SELECT * FROM TABLE_NAME LIMIT 1;
-- 返回:前5条数据
SELECT * FROM TABLE_NAME LIMIT 5;
-- 返回:从第2条开始的2条数据,即 (第2条、第3条)
SELECT * FROM TABLE_NAME LIMIT 1,2;
-- 想每页显示10条记录,并查询第3页的内容,可以使用以下查询:
SELECT * FROM TABLE_NAME LIMIT 20, 10;
2、Oracle 的 ROWNUM 用于限制返回行数的伪列。
ROWNUM 是在数据行被检索出来后才分配的,这意味着当行被检索出来时,ROWNUM 的值已经确定了。
通常使用 ROWNUM <= n 来限制返回的行数,而不是使用 ROWNUM > n 来筛选行。
因此,当你尝试使用类似 ROWNUM > 1 这样的条件时,由于在行被检索出来时 ROWNUM 的值已经确定,
所以不会有任何行可以满足 ROWNUM > 1 的条件。
-- 返回:第 1 条数据
SELECT * FROM TABLE_NAME WHERE ROWNUM = 1;
-- 返回:前 10 条数据
SELECT * FROM TABLE_NAME WHERE ROWNUM <=10;
-- 没有返回数据
SELECT * FROM TABLE_NAME WHERE ROWNUM > 1;
SELECT * FROM TABLE_NAME WHERE ROWNUM > 1 AND ROWNUM <4;
注意:使用类型 ROWNUM > 1 AND ROWNUM < 4 的查询,结果将不会返回任何行,
因为对于任何一行,ROWNUM的值要么大于1,要么小于5,但不能同时满足这两个条件。
将 ROWNUM 伪列放到子查询的列中,达到分页效果
参考案例:
SELECT * FROM (SELECT T.*, ROWNUM ROW_ID FROM TABLE_NAME T
)
WHERE ROW_ID > START_OFFSET AND ROW_ID <= END_OFFSET;-- 返回:第2条、第3条 数据
SELECT * FROM ( SELECT T.*, ROWNUM ROW_ID FROM TABLE_NAME T
)
WHERE ROW_ID > 1 AND ROW_ID <= 3;
-- 想每页显示10条记录,并查询第3页的内容,可以使用以下查询:
SELECT * FROM ( SELECT T.*, ROWNUM ROW_ID FROM TABLE_NAME T
)
WHERE ROW_ID > 20 AND ROW_ID <= 30;
5.3 CASE WHEN:用于条件逻辑的判断
MySQL、Oracle 的 CASE WHEN 语句基本结构,如下:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result
END;
当符合条件(condition) 则返回:结果(result)。
参考案例:
-- 查询列的逻辑判断处理
SELECT COLUMN1, COLUMN2,
CASE WHEN COLUMN1='1' THEN 'RESULT 1' WHEN COLUMN1='2' THEN 'RESULT 2' ELSE 'RESULT 3'
END AS RESULT_COLUMN
FROM TABLE_NAME;-- 条件的逻辑判断处理
SELECT COLUMN1, COLUMN2, COLUMN3
FROM TABLE_NAME
WHERE COLUMN1 = '1'
AND CASE WHEN COLUMN3 > 10 THEN 1 WHEN COLUMN3 < 5 THEN 2 ELSE 3
END = 1;
相关文章:
MySQL、Oracle 常用SQL:建表、建视图、数据增删改查、常用condition
目录 1 MySQL、Oracle 建表语句整理1.1 MySQL 建表1.2 Oracle 建表1.3 补充1.3.1 主键:新增、删除1.3.2 字段:新增、修改、删除 2 MySQL、Oracle 建视图3 数据:增删改查3.1 插入数据3.1.1 MySQL、Oracle 插入一条数据3.1.2 MySQL、Oracle 插入…...
Docker(八)高级网络配置
作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 高级网络配置 注意:本章属于 Docker 高级配置,如果您是初学者,您可以暂时跳过本章节,直接学习…...
VUE--- ref refs
ref & refs 的作用:用于获取dom元素或组件实例,也可用于组件组件间数据的获取和修改 ref & refs 与querySelector的区别: ● ref & refs 查找的范围是当前组件内,更加精确稳定 ● querySelector 查找的范围是整个页面…...
微信小程序之WXML 模板语法之数据绑定、事件绑定、wx:if和列表渲染
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…...
maven导入无法拉取所需依赖
maven导入无法拉取所需依赖 1.原因2.解决搞定收工! 1.原因 公司使用的是gradle,配置的私有云,maven里面配置私有云完全使用不了,无论配置国内还是国外的,导入的项目报错拉不到jar包。 <mirror><id>mirro…...
【2023-08-20】字节跳动秋招笔试四道编程题解
恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 订阅专栏【进阶版】2023最新大厂笔试真题 & 题解,不容错过的宝藏资源! 第一题:最小交换次数 题目描述 小盖将n个珠子排成一排,然后将它们串…...
VPS网站发布-个人网站搭建与部署-个人简历网站示例-个人简历网站案例-网站推广
文章目录 1. 个人网站搭建指南1.1 网站示例 | 个人网站 | 个人简历模版 | 个人简历网站 | 网站案例1.2 准备工具 2. 网页部署教程(ubuntu)2.1 购买域名2.2 购买VPS2.3 部署工具 Apache || Nginx2.1.1 网页相关文件上传到github库2.1.2 在VPS中执行一键部…...
INTEWORK—PET 汽车软件持续集成平台
产品概述 INTEWORK-PET-CI是经纬恒润自主研发的汽车软件持续集成&持续交付平台,在传统的持续集成基础上深化了研运一体化(DevOps)的概念,将嵌入式软件中的拉取代码、检查、构建、测试、版本管理以及发布交付等环节串联起来&am…...
【Git】 取消上一次commit或push
一、取消上一次commit 如果你需要取消上一次的 Git 提交,有几个不同的方法可以实现。其中包括撤消提交、提交到新的分支、使用 Git 回滚等等。 下面介绍三种方法: 方法1:使用 Git reset 使用 Git reset 命令来取消上一次提交: …...
回归预测 | Matlab基于OOA-SVR鱼鹰算法优化支持向量机的数据多输入单输出回归预测
回归预测 | Matlab基于OOA-SVR鱼鹰算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于OOA-SVR鱼鹰算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于OOA-SVR鱼鹰算法优化支持向量机的数据…...
Spring Boot整合MyBatis
引言 在现代Java开发中,Spring Boot和MyBatis被广泛使用,它们分别代表了轻量级的企业级开发框架和优秀的持久化框架。本文将探讨如何在Spring Boot项目中整合MyBatis,以构建高效、灵活且易于维护的持久层。通过这一完美结合,开发…...
MySQL语句 | 在MySQL中解析JSON或将表中字段值合并为JSON
MySQL提供了一系列的JSON函数来处理JSON数据,包括从JSON字符串中提取值和将表中字段值合并为JSON等。 在MySQL中解析JSON 可使用JSON_EXTRACT函数提取JSON字符串中指定字段的值,使用JSON_UNQUOTE函数去除提取的字符串值周围的引号,以得到原…...
基于springboot+vue的图书个性化推荐系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…...
将自然数序列剔除掉包含4的数字,求第k(1e12)个数是什么
题目 思路:将k转化为九进制,然后将大于等于4的数字加一 #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back const int maxn 1e6 5, inf 1e9, maxm 5e3 5; int a[maxn], b[maxn]; string s; int n, …...
用Photoshop来制作GIF动画
录了个GIF格式的录屏文件,领导让再剪辑下,于是用Photoshop2023(PS版本低至CS6操作方式一样)进行剪辑,录屏文件有约1400帧,由于我处理的帧数太多,PS保存为GIF格式时,还是挺耗时的&…...
原地swap(inplace_swap)
inplace_swap algorithm based on exclusive-or (^) void inplace_swap(int *x, int *y) {*y *x ^ *y;*x *x ^ *y;*y *x ^ *y; }原理(展开为二进制计算异或即可): 0 ^ 0 0 0 ^ 1 1 1 ^ 0 1 1 ^ 1 0 reverse_array algorithm based on inplace_swap void re…...
《JVM由浅入深学习九】 2024-01-15》JVM由简入深学习提升分(生产项目内存飙升分析)
目录 开头语内存飙升问题分析与案例问题背景:我华为云的一个服务器运行我的一个项目“csdn-automatic-triplet-0.0.1-SNAPSHOT.jar”,由于只是用来测试的服务器,只有2G,所以分配给堆的内存1024M查询内存使用(top指令&a…...
统计学-R语言-4.6
文章目录 前言列联表条形图及其变种---单式条形图条形图及其变种---帕累托图条形图及其变种---复式条形图条形图及其变种---脊形图条形图及其变种---马赛克图饼图及其变种---饼图饼图及其变种---扇形图直方图茎叶图箱线图小提琴图气泡图总结 前言 本篇文章是对数据可视化的补充…...
git提权
实验环境——vulnhub-dc2靶场 git提权 前提:用户可以使用sudo中git权限 查看sudo权限 sudo -l可以发现git命令存在sudo提权 基于此进行权限提升 方式: sudo git help config #在末行命令模式输入 !/bin/bash 或 !sh #完成提权 sudo git -p help…...
实验四 SQL语言
🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
