MySQL其一,概念学习,可视化软件安装以及增删改查语句
目录
MySQL
1、数据库的概念
2、数据库分类
3、MySQL的安装
4、安装过程中的问题
DataGrip的使用:
SQLynx的使用:
5、编写SQL语句
6、DDL语句
7、DML
新增数据:
删除数据:
修改数据:
MySQL
SQL其实是一门开发语言。
大数据为啥要学习SQL语句?大数据起步比较晚。
起步晚,要流行:1)方便使用 2)简单易学 学习成本小
我们所有的大数据组件,每个组件都有自己的用法。想使用大数据,要求会SQL即可。能够吸引大批老的程序员使用新技术。
数据库:SQL语句
Hadoop(Hive): 类似的SQL语句
Spark : Spark SQL
Flink : Flink SQL
数仓学科: Python语言(打个基础)
1、数据库的概念
DB: 数据库的意思,其实本质上就是文本文件而已。我们一般无法察觉,也查看不了,原因是安全性。
数据库管理系统(DataBase Management System,DBMS):文件文件就是数据库的本质,数据库管理系统其实就是用来管理数据文本内容的工具(软件)而已。
数据库管理系统就i是一套软件而已,别人开发出来供我们使用的。
Java : API (开发帮助文档)
2、数据库分类
两大派(华山派 -- 剑宗和 气宗 ):关系型数据 和 非关系型数据库
关系型数据库:主流
MySQL:免费的,以前是SUN公司,后来Oracle 一个表500万数据的时候开始考虑性能问题
Oracle: Oracle 收费的,软件贼大,安全型贼好。 一般政府部门,银行系统。互联网公司都在去O。
MS Server: 微软的
DB2 : IBM的
Access : 微软出来的。小垃圾 其实就是一个excel表格。
非关系型数据库:
互联网发达起来
- HBase是一个分布式的、面向列的开源数据库 上亿行,百万列
- MongoDB是一个基于分布式文件存储的数据库 H5
- Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API 每个公司都在用。是基于内存的数据库。
非关系型书库的出现不是为了革命,而是辅助。
什么是关系型数据库呢?
通过行和列存储数据,这样设计出来的数据库都是关系型数据库。
3、MySQL的安装
SQL和数据库的关系?
SQL是一种语言,标准语言。
mysql、oracle 都可以编写和执行sql。
官方了两种安装包:
Oracle: 1G
MS Server: 特别大
数据库的密码: 统一 123456
mysql8.0 它底层进行了优化,同样的sql语句,在mysql8.0 比 mysql5.x 运行速度快。
4、安装过程中的问题
版本要注意:mysql 5.5 和 5.7 特别多
我们现在用的是mysql 8.0版本,他们之间存在一定的兼容问题。
假如你有一个新的电脑:安装软件的时候,比如jdk、mysql、idea等跟工作相关的软件安装C盘。
这些软件是数据库的Server端。 服务器端是不要钱。
安装玩之后,可以使用黑窗口操作。
进入bin之后,输入cmd
登录进去后,就可以编写sql了。
展示所有数据库
show databases;
黑窗口编写SQL语句太费劲了,如果有可视化的软件就好了:
软件购买
远程连接:
可以连接本地和远程,比如同桌的数据库
点击"测试连接" 看是否连接成功!
原因是Navicat 12版本,连接高版本的数据库,使用的密码校验机制跟 mysql8.0 的机制有不一样的地方。
人工修复一下这个Bug:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;//更新一下用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';//刷新权限
FLUSH PRIVILEGES;alter user 'root'@'localhost' identified by 'root';
如何使用Navicat编写命令:
F6 或者 Fn + F6
远程连接工具都有哪些?
Navicat 、 SQLYog 、DataGrip
粘贴激活码即可。
DataGrip的使用:
先创建项目:起个英文名
添加数据源mysql:
选择mysql:
SQLynx的使用:
无需安装,解压即用。
该客户端的优点:1)支持国产的一些数据库 2)运行速度比较快(导入导出)
5、编写SQL语句
1) SQL语句的分类
SQL: Structure Query Language(结构化查询语言),SQL最早是被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准。后来被国际化标准组织(ISO)采纳为关系型数据库语言的国际标准。
国家的统一的语言:普通话 各个地方都有方言。每一个数据库都有方言。方言就是独自。
- DDL(Data Definition Language):数据定义语言,用来定义数据库对象(数据库、表、列)
创建一个数据库、创建表、添加字段等
- DML(Data Manipulation Language):数据操作语言,用于定义数据库记录(数据)
数据的新增、修改、删除
- DQL(Data Query Language):数据查询语言,用于查询记录(数据)
专门针对数据的查询的
- TCL(Transaction Control Language):事务控制语言,DCL(Data Control Language):数据控制语言,用于定义访问权限和安全级别
控制事务、添加用户、赋予权限、修改密码等。
6、DDL语句
数据库的操作:
展示所有的数据库
show databases;
# 创建数据库
CREATE DATABASE mydb01;
# 创建数据库,并采用指定的字符集
CREATE DATABASE mydb02 CHARACTER SET UTF8;
utf8字符集是可以支持中文的,非常的方便。查看数据库(了解)
# 查看创建数据库mydb1定义的信息
SHOW CREATE DATABASE mydb01;
mysql> show create database mydb01;1 row in set (0.07 sec)mysql> alter database mydb01 character set gbk;
Query OK, 1 row affected (0.09 sec)mysql> show create database mydb01;# 将数据库mydb1的字符集修改为GBK
ALTER DATABASE mydb1 CHARACTER SET GBK;DROP DATABASE mydb1; (不重要)# 切换当前使用的数据库
USE mydb1;
# 查询当前使用的数据库
SELECT DATABASE();查看mysql的版本:
select verion();
关于表的操作:
展示该数据库中的所有表:
show tables;创建一个表:
语法:
create table 表名( 字段一 数据类型(数据长度),.....);
实战:
create table stu (name varchar(255),phone varchar(11),age int(3));查看表结构:
desc stu;# 查看创建一个表的信息
SHOW CREATE TABLE t_users; #不常见在sql语句中 # 后面的语句不执行,代表注释
修改表的名字
alter table stu rename to student;
以下内容可以练习一遍即可:
# 给一张表添加一个字段
ALTER TABLE t_users ADD score DOUBLE(5,2);
# 修改一张表的字段类型
ALTER TABLE t_users MODIFY score INT;
# 修改一张表的字段名
ALTER TABLE t_users CHANGE name uname VARCHAR(50);
# 修改一张表的字符集
ALTER TABLE t_users CHARACTER SET GBK;修改表添加一个身高字段:
int 整数 1 2 3 4... 不能写1.11
double 小数 (5,2) 带小数为总共有5个长度,2 表示小数点后能存2位,所以整数为长度是3.double(5,2) 最大能表示到 999.99alter table student add height double(5,2);
# 删除一张表中的字段
ALTER TABLE t_users DROP score;表的删除:
drop table student ;-- 创建一个跟这个表一模一样的表结构
create table stu2 like stu;
-- 创建一个表,表结构跟另一个表一模一样,并且数据也跟它一模一样,类似于copy 某个表
create table stu3 as select * from stu;
-- ------------展示table的DDL语句------------------
-- 查看所有的表
show tables;
-- 创建一个表
create table stu01(id int(20),name varchar(20),age int(3)
);
-- 查看表结构
desc stu01;
describe stu01;
-- 修改表结构,不是修改表中的数据
-- 重命名
alter table stu01 rename to student;desc student;
-- 添加列
alter table student add score double(5,2);
-- 修改一个列的数据类型
alter table student modify score int(3);
-- 修改字段的名字
alter table student change name sname varchar(30);
-- 修改一张表的字符集
alter table student character set utf8;
show create table student;
-- 删除一个字段
alter table student drop score;
-- 新建一个表,该表的表字段跟student 一模一样
create table stu like student;
desc stu;
-- 创建一个表,表结构和数据都跟你一模一样
create table stu2 as select * from student;
-- 删除表
drop table student;
DDL语句:数据库的新增修改删除查看。表的新增修改删除查看表字段的新增修改删除查看(已经涵盖在了表的修改操作中了)
假如 编写sql语句 回车代表换行,不代表执行,一个sql语句见 ; 表示写完了。
建表语句中,经常出现字段的类型:
比如 age 年龄 数据类型 数字表示 int
常见的数据类型:
数据类型 | 类型描述 | 示例 |
int | 整型,整数类型 | |
double | 浮点型 | double(5,2): 表示最多有5位,其中必须有两位数小数,即最大值是999.99 |
char | 固定长度的字符串 | char(5): 固定5位字符,即'aa'也占用5位字符 |
varchar | 可变长度的字符串 | varchar(5): 可以根据内容动态分配空间,'aa'只占用两位。括号里的5表示最大的位数。 |
text | 字符串类型 | |
blob | 字节类型 | 很少用的,一般存在 比如 音乐,图片 |
date | 日期类型 | yyyy-MM-dd |
time | 时间类型 | hh:mm:ss |
timestamp | 时间戳类型 | yyyy-MM-dd hh:mm:ss,会自动赋值 |
datetime | 时间类型 | yyyy-MM-dd hh:mm:ss |
作业:字段类型 5遍
其实特别简单: 记住 int varchar 就可以了。
DDL语句都可以使用图形化界面解决(练习练习即可!)
图形化界面操作(必须掌握):
7、DML
DML指的是对数据库中的数据进行增、删、改的操作。不要和DDL搞混了。
新增数据:
语法-- 必须遵循的法则
INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...);注意:列名与列值的类型、个数、顺序要一一对应。
mysql> use mydb03;
Database changed
mysql> show tables;
+------------------+
| Tables_in_mydb03 |
+------------------+
| stu |
+------------------+
1 row in set (0.08 sec)mysql> desc stu;
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| name | varchar(255) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| height | double(5,2) | YES | | NULL | |
+--------+--------------+------+-----+---------+-------+
3 rows in set (0.12 sec)mysql> insert into stu(name,age,height) values('zhangsan',22,190.9);
Query OK, 1 row affected (0.07 sec)mysql> insert into stu(name,age,height) values('lisi',23,180);
Query OK, 1 row affected (0.11 sec)mysql> select * from stu; # 该语句是查询语句,表示查询stu中所有的数据
+----------+-----+--------+
| name | age | height |
+----------+-----+--------+
| zhangsan | 22 | 190.90 |
| lisi | 23 | 180.00 |
+----------+-----+--------+
2 rows in set (0.08 sec)# insert into 表名 如果表名后面不添加任何的字段名,就是向所有字段插入值。
mysql> insert into stu values('wangwu',24,175);
Query OK, 1 row affected (0.06 sec)mysql> select * from stu;
+----------+-----+--------+
| name | age | height |
+----------+-----+--------+
| zhangsan | 22 | 190.90 |
| lisi | 23 | 180.00 |
| wangwu | 24 | 175.00 |
+----------+-----+--------+
3 rows in set (0.09 sec)
# insert into 表名 如果表名后面添加字段名,说明想向这个字段设置值,其他字段不管了。
mysql> insert into stu(name) values('zhaoliu');
Query OK, 1 row affected (0.09 sec)mysql> select * from stu;
+----------+------+--------+
| name | age | height |
+----------+------+--------+
| zhangsan | 22 | 190.90 |
| lisi | 23 | 180.00 |
| wangwu | 24 | 175.00 |
| zhaoliu | NULL | NULL |
+----------+------+--------+null 就是空的意思,没有任何值,不是 0 也不是 '' desc stu;
insert into stu(id,sname,age) values(1,'zhangsan',20);
select * from stu;
insert into stu values(2,'lisi',20);
insert into stu(id,sname) values(3,'王五');
insert into stu(id,sname) values (4,'sisi'),(5,'五仁'),(6,'六子');
课下练习:
create table emp(id int,name varchar(100),gender varchar(10),birthday date,salary double(10,2),entry_date date,resume text
);INSERT INTO emp(id,name,gender,birthday,salary,entry_date,resume)
VALUES(1,'zhangsan','female','1990-5-10',10000,'2015-5-5','good girl');INSERT INTO emp(id,name,gender,birthday,salary,entry_date,resume)
VALUES(2,'lisi','male','1995-5-10',10000,'2015-5-5','good boy');INSERT INTO emp(id,name,gender,birthday,salary,entry_date,resume)
VALUES(3,'你好','male','1995-5-10',10000,'2015-5-5','good boy');
创建一个新的表,跟stu表不一样
需求是:从stu中,查询数据导入到emp表中。
insert into emp(sname,sage,sheight) select * from stu;mysql> insert into emp(sname,sage,sheight) select * from stu;
Query OK, 4 rows affected (0.11 sec)
Records: 4 Duplicates: 0 Warnings: 0mysql> select * from emp;
+----------+------+---------+--------+
| sname | sage | sheight | gender |
+----------+------+---------+--------+
| zhangsan | 22 | 191 | NULL |
| lisi | 23 | 180 | NULL |
| wangwu | 24 | 175 | NULL |
| zhaoliu | NULL | NULL | NULL |
+----------+------+---------+--------+
4 rows in set (0.07 sec)
stu | emp |
name varchar | sname varchar |
age int | sage int |
height double | sheight double |
select 语句查询出来的数量以及字段类型和顺序都必须 和 insert into 中表的字段数量、类型、顺序一样,跟表名字、表字段的名字没有半毛钱关系。
对比:
这个语句执行的时候必须有表
insert into 表名 select * from 表2这个语句执行的时候可以没有表,sql语句帮创建表
create table 表名 as select * from 表2
删除数据:
# 删除数据
DELETE FROM 表名;
# 删除掉表中所有的数据
TRUNCATE TABLE 表名;delete from stu where name='zhaoliu';
# where 后面可以添加条件,满足条件的删除掉
DELETE 和 TRUNCATE1. delete删除表中的数据,表结构还在;删除的数据可以恢复。
2. truncate是直接将表DROP掉,然后再按照原来的结构重新创建一张表。数据不可恢复。
3. truncate删除效率比delete高。
where条件:
如何造数据:
字段 | 解释 | |
name | 姓名 | |
groupid | 小组 | |
score | 成绩 |
# 删除姓名叫"张三"的数据
delete from student where name='张三';# 删除成绩不是100的数据
delete from student where score != 100;
delete from student where score <> 100;# 删除不及格的数据
delete from student where score < 60;
# 删除成绩在[60, 80]范围的数据
delete from student where score >= 60 and score <= 80;delete from student where score between 60 and 80;
# 删除小组是1,3,5的数据
delete from student where groupid = 1 or groupid = 3 or groupid =5;
delete from student where groupid in (1,3,5);
# 删除成绩是空的数据
delete from student where score is null;
# 删除成绩不及格的第三组的数据
delete from student where score < 60 and groupid = 3;# 删除姓张的数据
delete from student where name like '张%';% 表示任意0个或者多个字符
# 删除名字中含有 伟 字的同学
delete from student where name like '%伟%';
修改数据:
需求:只要这个同学姓张,就加10分
考虑语法:
UPDATE 表名 SET 列名1=列值1,列名2=列值2 。。。 WHERE 列名=值根据语法编写sql语句:
score = 10 是将 score 的数据重置为 10
update student set score = 10 where name like '张%';
修改为:
update student set score = score + 10 where name like '张%';
# 将所有员工薪水修改为5000元。
UPDATE emp SET salary=5000 # 将姓名为’zhangsan’的员工薪水修改为3000元。
UPDATE emp SET salary=3000 WHERE name=’ zhangsan’;# 将姓名为’lisi’的员工薪水修改为4000元,job改为ccc。
UPDATE emp SET salary=4000,job='ccc' WHERE name='lisi';# 将wu的薪水在原有基础上增加1000元。
UPDATE emp SET salary=salary+1000 WHERE name='wu';ifnull(字段名,默认值)
update stu set age = ifnull(age,0) + 1;
相关文章:
MySQL其一,概念学习,可视化软件安装以及增删改查语句
目录 MySQL 1、数据库的概念 2、数据库分类 3、MySQL的安装 4、安装过程中的问题 DataGrip的使用: SQLynx的使用: 5、编写SQL语句 6、DDL语句 7、DML 新增数据: 删除数据: 修改数据: MySQL SQL其实是一门…...
SpringCloud 题库
这篇文章是关于 SpringCloud 面试题的汇总,包括微服务的概念、SpringCloud 的组成及相关技术,如服务注册与发现、负载均衡、容错等,还涉及 Nacos 配置中心、服务注册表结构等原理,以及微服务架构中的日志采集、服务网关、相关概念…...
【ETCD】[源码阅读]深度解析 EtcdServer 的 processInternalRaftRequestOnce 方法
在分布式系统中,etcd 的一致性与高效性得益于其强大的 Raft 协议模块。而 processInternalRaftRequestOnce 是 etcd 服务器处理内部 Raft 请求的核心方法之一。本文将从源码角度解析这个方法的逻辑流程,帮助读者更好地理解 etcd 的内部实现。 方法源码 …...
数据分析与机器学习全解析
一、数据分析基础要点 (一)数据收集 确定数据源:明确是内部数据库、外部公开数据、传感器采集还是用户调研等来源,不同来源数据质量与获取难度各异。例如内部销售数据可直接获取,而市场调研数据需设计问卷并投入人力收…...
Qt 一个简单的QChart 绘图
Qt 一个简单的QChart 绘图 先上程序运行结果图: “sample9_1QChart.h” 文件代码如下: #pragma once#include <QtWidgets/QMainWindow> #include "ui_sample9_1QChart.h"#include <QtCharts> //必须这么设置 QT_CHARTS_USE_NAME…...
力扣——322. 零钱兑换
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...
Qt之网络监测
在Qt中,网络监测通常涉及到检测网络连接状态、网络延迟、带宽使用情况等。Qt提供了一些类和模块来帮助开发者实现这些功能。以下是一些常用的方法和类: 1. 检测网络连接状态 QtNetwork模块中的QNetworkConfigurationManager类可以用来检测设备的网络连…...
抓包软件fiddler和wireshark使用手册
fiddler官方文档 Fiddler 抓包教程1 Fiddler 抓包教程2 wireshark抓包学习 2添加链接描述 ip 过滤 ip.src_host ip.dst_host ip.addr mac 过滤 eth.src eth.dst eth.addr 端口过滤 tcp.port tcp.srcport tcp.dstport 协议类型过滤 arp dhcp 规则组合 and or...
【从零开始入门unity游戏开发之——C#篇03】变量和常量
文章目录 一、变量1、什么是变量?2、申明变量的固定写法3、变量的类型值和引用类型的区别无符号和有符号位——表示变量所占用的内存空间的大小范围——表示变量的取值范围取值范围和存储单位的关系为什么byte的范围是 0 到 255?为什么 sbyte 的范围是 -…...
SpringBoot 手动实现动态切换数据源 DynamicSource (上)
大家好,我是此林。 在实际开发中,经常可能遇到在一个SpringBoot Web应用中需要访问多个数据源的情况。 下面来介绍一下多数据源的使用场景、底层原理和手动实现。 一、 多数据源经典使用场景 场景一:业务复杂,数据量过大 1. 业务…...
ERROR Error: command failed: yarnError: command failed: yarn
1、异常信息 2、解决 解决方法一: WinR进入命令行,重新安装npm(如果报镜像源问题建议镜像源也重新配置) 输入命令,重新安装npm/yarn #npm npm install#npm 配置镜像源 npm config set registry https://registry.npmmirror.com#npm 查看镜…...
【java】finalize方法
目录 1. 说明2. 调用过程3. 注意事项 1. 说明 1.finalize方法是Java中Object类的一个方法。2.finalize方法用于在对象被垃圾回收之前执行一些清理工作。3.当JVM(Java虚拟机)确定一个对象不再被引用、即将被回收时,会调用该对象的finalize方法…...
C++ 内存管理和模板与STL
此篇目是之后各种C库的基础 目录 内存管理 内存分布 内存管理方式 new和delete operator new 与 operator delete函数 实现原理 定位new表达式(placement-new) 模板基础 泛型编程 模板 函数模板 类模板 STL 组成部分 内存管理 内存分布 int globalVar 1; //全局变量 静…...
同一个局域网下的两台电脑实现定时或者实时拷贝数据
【亲测能用】 需求:从数据库服务器上将数据库备份文件*.bak,每天定时拷贝到局域网下另一台电脑上,实现异机备份。 本文中192.168.1.110是本机,192.168.1.130是异机(备份机)。需求是每天定时从192.168.1.1…...
Python毕业设计选题:基于django+vue的汽车租赁管理网站
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 用户管理 汽车品牌管理 汽车信息管理 汽车租赁管理 汽车商品信息管理 汽车租赁 购物…...
scrapy对接rabbitmq的时候使用post请求
之前做分布式爬虫的时候,都是从push url来拿到爬虫消费的链接,这里提出一个问题,假如这个请求是post请求的呢,我观察了scrapy-redis的源码,其中spider.py的代码是这样写的 1.scrapy-redis源码分析 def make_request_from_data(self, data):"""Returns a Reques…...
Netty 性能优化与调试指南
Netty 是一款高性能的网络通信框架,其高性能得益于良好的设计和优化。但是在实际使用中,如果配置或实现不当,可能会导致性能下降或调试困难。本文将从性能优化和调试两方面入手,详细讲解如何在使用 Netty 时提高应用性能和诊断问题…...
网络安全产品之认识WEB应用防火墙
随着B/S架构的广泛应用,Web应用的功能越来越丰富,蕴含着越来越有价值的信息,应用程序漏洞被恶意利用的可能性越来越大,因此成为了黑客主要的攻击目标。传统防火墙无法解析HTTP应用层的细节,对规则的过滤过于死板&#…...
R学习——因子
目录 1 定义因子(factor函数) 2因子的作用 一个数据集中的 只需要考虑可以用哪个数据来进行分类就可以了,可以用来分类就可以作为因子。 Cy1这个因子对应的水平level是4 6 8: 1 定义因子(factor函数) 要…...
2024 亚马逊云科技re:Invent:Werner Vogels架构哲学,大道至简 六大经验助力架构优化
在2024亚马逊云科技re:Invent全球大会第四天的主题演讲中,亚马逊副总裁兼CTO Dr.Werner Vogels分享了 The Way of Simplexity,繁简之道,浓缩了Werner在亚马逊20年构建架构的经验。 Werner表示,复杂性总是会“悄无声息”地渗透进来…...
【代码随想录day58】【C++复健】 117. 软件构建(拓扑排序);47. 参加科学大会(dijkstra(朴素版)精讲)
117. 软件构建(拓扑排序) 继续边看解析边做题,思考时的问题做个如下的总结: 1. 存边用什么数据结构? 在题目中,我们需要存储节点之间的依赖关系(边信息)。选择适合的数据结构非常重…...
单目深度估计模型 lite-mono 测试
lite-mono 使用工业数据集kitti 进行训练,目的使用单目摄像头实现物体深度预测,关于kitti数据集的介绍和下载参考 (二)一文带你了解KITTI数据集-CSDN博客文章浏览阅读2.7w次,点赞64次,收藏294次。文章介绍…...
JAVA基础学习笔记_网络编程
文章目录 网络编程网络编程三要素IPIPv4细节InetAddress 端口号协议 UDPUDP协议(发数据)UDP协议(接受数据)UDP聊天室单播,组播,广播 TCP中文乱码问题代码细节,三次握手和四次挥手 网络编程 计算机之间通过网络进行数据传输 软件结构 C/S,Client/Server,客户端服务器,精美但麻…...
说下JVM中一次完整的GC流程?
大家好,我是锋哥。今天分享关于【说下JVM中一次完整的GC流程?】面试题。希望对大家有帮助; 说下JVM中一次完整的GC流程? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中,垃圾回收(GC&am…...
鸿蒙NEXT开发案例:保质期计算
【引言】 保质期计算应用是一个基于鸿蒙NEXT框架开发的数字和文本统计组件。用户可以输入商品的生产日期和保质期天数,应用会自动计算并展示相关信息,包括保质状态、剩余天数、生产日期和到期日期。 【环境准备】 • 操作系统:Windows 10 …...
LLM并发加速部署方案(llama.cpp、vllm、lightLLM、fastLLM)
大模型并发加速部署 解析当前应用较广的几种并发加速部署方案! llama.cpp、vllm、lightllm、fastllm四种框架的对比: llama.cpp:基于C,①请求槽,②动态批处理,③CPU/GPU混合推理vllm:基于Pyth…...
用最小的代价解决mybatis-plus关于批量保存的性能问题
1.问题说明 问题背景说明,在使用达梦数据库时,mybatis-plus的serviceImpl.saveBatch()方法或者updateBatchById()方法的时候,随着数据量、属性字段的增加,效率越发明显的慢。 serviceImpl.saveBatch(); serviceImpl.updateBatch…...
蓝桥杯历届真题 --#递推 翻硬币(C++)
文章目录 思路完整代码结语 原题链接 思路 通过观察测试用例,我们猜测,从左到右依次对比每一个位置上的状态,如果不一样我们就翻一次,最终得到的答案即为正解。 完整代码 //这里是引入了一些常用的头文件,和一些常规操作 //第一…...
BurpSuite-8(FakeIP与爬虫审计)
声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址:IP伪造和爬虫审计_哔哩哔哩_bilibili 一、FakeIP 1.配置环境 BurpSuite是java环境下编写的,而今天的插件是python编写的,…...
JAVA8、Steam、list运用合集
Steam运用 Java Stream API为开发人员提供了一种函数式和声明式的方式来表达复杂的数据转换和操作,使代码更加简洁和富有表现力。 1、使用原始流以获得更好的性能【示例:求和】 使用 int、long 和 double 等基本类型时,请使用IntStream、LongStream 和 DoubleStream 等基本流…...
深入详解人工智能机器学习:强化学习
目录 强化学习概述 强化学习的基本概念 定义 关键组件 强化学习过程 常用算法 应用示例 示例代码 代码解释 应用场景 强化学习核心概念和底层原理 核心概念 底层原理 总结 强化学习概述 强化学习(Reinforcement Learning, RL)是机器学习中的…...
docker的简单使用
文章目录 docker简介docker架构镜像和容器镜像有关的常用命令容器相关常用命令 docker简介 Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。 Docker可以让开方子打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到…...
启动的docker容器里默认运行dockerd
问题 已在Dockerfile里yum install docker 但docker run 启动容器后, docker ps等命令无法执行 ps -aux 没有dockerd 进程 临时解决 另开一个终端 docker exec -it 容器名 bash 手动启 dockerd 默认启动 分析 现在启动容器的默认命令是 /sbin/init sbin/init 是根文件系统…...
Python爬虫技术的最新发展
在互联网的海洋中,数据就像是一颗颗珍珠,而爬虫技术就是我们手中的潜水艇。2024年,爬虫技术有了哪些新花样?让我们一起潜入这个话题,看看最新的发展和趋势。 1. 异步爬虫:速度与激情 随着现代Web应用的复…...
什么是厄尔米特(Hermitian)矩阵?
厄米矩阵(Hermitian Matrix)定义 在数学和物理中,厄米矩阵是满足以下条件的复方阵: A A † \mathbf{A}\mathbf{A}^\dagger AA† 其中, A † \mathbf{A}^\dagger A†表示矩阵 A \mathbf{A} A的共轭转置,即…...
从零开始:Linux 环境下的 C/C++ 编译教程
个人主页:chian-ocean 文章专栏 前言: GCC(GNU Compiler Collection)是一个功能强大的编译器集合,支持多种语言,包括 C 和 C。其中 gcc 用于 C 语言编译,g 专用于 C 编译。 Linux GCC or G的安…...
Excel + Notepad + CMD 命令行批量修改文件名
注意:该方式为直接修改原文件的文件名,不会生成新文件 新建Excel文件 A列:固定为 renB列:原文件名称C列:修改后保存的名称B列、C列,需要带文件后缀,为txt文件就是.txt结尾,为png图片…...
1.1 android:监听并处理返回事件
在Android开发过程中,默认执行返回事件是结束当前界面,返回上一个界面,没有任何提示,但用户可能会误操作,这时出现一个提示界面对用户较为友好,接下来,让我们探究返回事件的处理。 一、onBackP…...
解决Ubuntu关机主板不断电的问题(其它使用GRUB的Linux发行版大概率也可用)
前言: 在某些主板上,Ubuntu20.04系统关机并不会连带主板一起断电。 猜测可能是主板太老了。无法识别较新的系统的关机信号,导致无法断电。连带着一些电脑周边设备也不会断电导致状态无法重置,后续会出现一些问题。 目标…...
【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)
文件上传 文章目录 文件上传 What is Upload-File?Upload-File In CTF Web151 考点:前端校验解题: Web152 考点:后端校验要严密解题: Web153 考点:后端校验 配置文件介绍解题: Web154 考点&am…...
无法正常启动此程序,因为计算机丢失wlanapi.dll
wlanapi.dll丢失怎么办?有没有什么靠谱的修复wlanapi.dll方法_无法启动此程序,因为计算机中丢失wlanapi.dll-CSDN博客 wlanapi.dll是 Windows 操作系统中的一个动态链接库文件,主要与 Windows 无线 LAN (WLAN) API 相关。该DLL提供了许多必要的函数&…...
C++ webrtc开发(非原生开发,linux上使用libdatachannel库)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、libdatachannel库的下载和build二、开始使用 1.2.引入库3.开始使用 总结 前言 使用c开发webrtc在互联网上留下的资料甚少,经过我一段时间的探…...
vue-router路由传参的两种方式(params 和 query )
一、vue-router路由传参问题 1、概念: A、vue 路由传参的使用场景一般应用在父路由跳转到子路由时,携带参数跳转。 B、传参方式可划分为 params 传参和 query 传参; C、而 params 传参又可分为在 url 中显示参数和不显示参数两种方式&#x…...
VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释
《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…...
github操作学习笔记(杂乱版)
git开源的分布式版本控制系统: 每次修改文件提交后,都会自动创建一个项目版本 查看git版本看有没有安装成功:git --version 把默认编辑器设置成vim:git config --global core.editor "vim" 1、设置昵称和邮箱ÿ…...
TaskBuilder SQL执行工具
为了方便开发者连接当前任擎服务器上配置的各个数据源对应的数据库进行相关操作,TaskBuilder提供了一个SQL执行工具,点击系统侧边栏里的执行SQL图标 ,即可打开该工具,界面如下图所示: 该工具从上至下分为三个区域&a…...
快速掌握Quartz.Net计划任务调度框架,轻松实现定时任务
前言 Quartz.Net是一个开源的作业调度框架,可以用于管理计划任务和定期执行。Quartz.Net提供了丰富的作业计划选项,例如精确或模糊时间表达式、日期和时间限制等。Quartz.Net采用分布式架构,允许在多个计算机上运行任务。 Quartz.Net架构设…...
Linux ufw命令丨Linux网络防火墙ufw命令详解
ufw(Uncomplicated Firewall)是Ubuntu系统上默认的防火墙组件,它为轻量化配置iptables而开发,提供了一个非常友好的界面用于创建基于IPv4和IPv6的防火墙规则 ufw在Ubuntu 8.04 LTS后的所有发行版中默认可用,它通过命令…...
shell编程(完结)
shell编程(完结) 声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其…...
深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)
深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna) 前言1.Chat2DB2.SQL Chat3.Wren AI4.Vanna 前言 在数据驱动决策的时代,将自然语言查询转化为结构化查询语言(SQL)的能力变得日益重要。无论是小型创业…...