Mysql学习笔记
连接数据库
mysql - h MySQL 数据库服务器的 IP 地址 - u 用户名 - p
然后按下回车键,输入密码即可
数据库操作
创建数据库
CREATE DATABASE [ IF NOT EXISTS ] 数据库名称 DEFAULT CHARACTER SET 字符集 COLLATE 排序规则;
示例:创建数据库lesson,并指定字符集为 GBK ,排序规则为 GBK_CHINESE_CI
CREATE DATABASE IF NOT EXISTS lesson DEFAULT CHARACTER SET GBK COLLATEGBK_CHINESE_CI;
修改数据库
ALTER DATABASE 数据库名称 CHARACTER SET 字符集 COLLATE 排序规则 ;
示例:修改数据库lesson的字符集为 UTF8 ,排序规则为 UTF8_GENERAL_CI
ALTER DATABASE lesson CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
删除数据库
DROP DATABASE [IF EXISTS] 数据库名称;
示例:删除数据库lesson
DROP DATABASE IF EXISTS lesson;
查看数据库
SHOW DATABASES;
使用数据库
USE 数据库名称;
示例:使用数据库lesson
USE lesson;
数据表操作
数据表类型
创建数据表
CREATE TABLE [ IF NOT EXISTS ] 数据表名称 (字段名 1 列类型 ( 长度 ) [ 修饰属性 ] [ 键 / 索引 ] [ 注释 ] ,字段名 2 列类型 ( 长度 ) [ 修饰属性 ] [ 键 / 索引 ] [ 注释 ] ,字段名 3 列类型 ( 长度 ) [ 修饰属性 ] [ 键 / 索引 ] [ 注释 ] ,......字段名 n 列类型 ( 长度 ) [ 修饰属性 ] [ 键 / 索引 ] [ 注释 ]) [ ENGINE = 数据表类型 ][ CHARSET = 字符集编码 ] [ COMMENT = 注释 ] ;
示例:创建学生表,表中有字段学号、姓名、性别、年龄和成绩
CREATE TABLE IF NOT EXISTS student(
`number` VARCHAR(30) NOT NULL PRIMARY KEY COMMENT '学号,主键',
name VARCHAR(30) NOT NULL COMMENT '姓名',
sex TINYINT(1) UNSIGNED DEFAULT 0 COMMENT '性别:0-男 1-女 2-其他',
age TINYINT(3) UNSIGNED DEFAULT 0 COMMENT '年龄',
score DOUBLE(5, 2) UNSIGNED COMMENT '成绩'
)ENGINE=InnoDB CHARSET=UTF8 COMMENT='学生表';
修改数据表
修改表名
ALTER TABLE 表名 RENAME AS 新表名;
ALTER TABLE student RENAME AS stu;
增加字段
ALTER TABLE 表名 ADD 字段名 列类型(长度) [修饰属性] [键/索引] [注释];
示例:在 stu 表中添加字段联系电话(phone),类型为字符串,长度为11,非空
ALTER TABELE stu ADD phone varchar(11) NOT NULL COMMENT '联系电话';
查看表结构
DESC 表名;
修改字段
-- MODIFY 只能修改字段的修饰属性ALTER TABLE 表名 MODIFY 字段名 列类型(长度) [修饰属性] [键/索引] [注释];-- CHANGE 可以修改字段的名字以及修饰属性ALTER TABLE 表名 CHANGE 字段名 新字段名 列类型(长度) [修饰属性] [键/索引] [注释];
ALTER TABLE stu MODIFY sex VARCHAR(2) DEFAULT '男' COMMENT '性别:男,女,其他';
ALTER TABLE stu CHANGE phone mobile VARCHAR(11) NOT NULL COMMENT '联系电话';
删除字段
ALTER TABLE 表名 DROP 字段名;
示例:将 stu 表中的 mobile 字段删除
ALTER TABLE stu DROP mobile;
删除数据表
DROP TABLE [IF EXISTS] 表名;
示例:删除数据表 stu
DROP TABLE IF EXISTS stu;
练习
-- 如果数据库不存在 就创建数据库CREATE DATABASE IF NOT EXISTS exercise DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
-- 使用数据库
USE exercise;
-- 在数据库中创建数据表stu_course
CREATE TABLE IF NOT EXISTS stu_course( `number` INT(11) AUTO_INCREMENT PRIMARY KEY NOT NULL COMMENT '课程号', name VARCHAR(20) NOT NULL COMMENT '课程名称', score DOUBLE(5, 2) NOT NULL COMMENT '学分' )ENGINE=InnoDB CHARSET=UTF8 COMMENT '课程表';
ALTER TABLE stu_course RENAME AS course;
3. 在课程表中添加字段学时(time),类型为整数,长度为3,非空
ALTER TABLE course ADD time INT(3) NOT NULL COMMENT '学时';
4. 修改课程表学分类型为浮点数,小数点后面保留1位有效数字,长度为3,非空
ALTER TABLE course MODIFY score DOUBLE(3,1) NOT NULL COMMENT '学分';
5. 删除课程表
DROP TABLE IF EXISTS course;
6. 删除数据库exercise
DROP DATABASE IF EXISTS exercise;
DML数据操作语言
INSERT
-- 需要注意,VALUES后的字段值必须与表名后的字段名一一对应INSERT INTO 表名(字段名1, 字段名2, ..., 字段名n) VALUES(字段值1, 字段值2, ..., 字段值n);-- 需要注意,VALUES后的字段值必须与创建表时的字段顺序保持一一对应INSERT INTO 表名 VALUES(字段值1, 字段值2, ..., 字段值n);-- 一次性插入多条数据INSERT INTO 表名(字段名1, 字段名2, ..., 字段名n) VALUES(字段值1, 字段值2, ..., 字段值n),(字段值1, 字段值2, ..., 字段值n), ... , (字段值1, 字段值2, ..., 字段值n);INSERT INTO 表名 VALUES(字段值1, 字段值2, ..., 字段值n), (字段值1, 字段值2, ..., 字段值n), ..., (字段值1, 字段值2, ..., 字段值n);
INSERT INTO course(`number`, name, score, `time`) VALUES (1, 'Java基础', 4, 40);INSERT INTO course VALUES (2, '数据库', 3, 20);INSERT INTO course(`number`, score, name, `time`) VALUES (3, 5, 'Jsp', 40);INSERT INTO course(`number`, name, score, `time`) VALUES (4, 'Spring', 4, 5),(5,'Spring Mvc', 2, 5);INSERT INTO course VALUES (6, 'SSM', 2, 3), (7, 'Spring Boot', 2, 2);
UPDATA
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2, ..., 字段名n=字段值n] [WHERE 修改条件]
UPDATA course SET score=4,time=15 WHERE name='数据库';
DELETE
DELETE FROM 表名 [WHERE 删除条件];
DETELE FROM course WHERE 'number'=1;
TRUNCATE
-- 清空表中数据TRUNCATE [TABLE] 表名;
示例:清空课程表的数据
TRUNCATE course;
DELETE和TRUNCATE区别
DQL数据查询语言
SELECT
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名1 AS 别名1, ..., 字段名n AS 别名n]FROM 表名 WHERE 查询条件
SELECT name FROM course WHERE 'number'<5;
从课程表中查询课程名称为"Java基础"的学分和学时
SELECT score, `time` FROM course WHERE name='Java基础';
比较操作符
操作符 | 语法 | 说明 |
---|---|---|
IS NULL | 字段名IS NULL | 如果字段的值为 NULL ,则条件满足 |
IS NOT NULL | 字段名IS NOT NULL | 如果字段的值不为 NULL ,则条件满足 |
BETWEEN...AND | 字段名BETWEEN 最小值 AND 最大值 | 如果字段的值在最小值与最大值之间(能够取到 最小值和最大值),则条件满足 |
LIKE | 字段名 LIKE '%匹配内容%' | 如果字段值包含有匹配内容,则条件满足 |
IN | 字段名 IN (值1,值2...值n) | 如果字段值在值 1, 值 2, ... ,值 n 中,则条件满足 |
示例:从课程表查询课程名为NULL的课程信息
SELECT * FROM course WHERE name IS NULL;
示例:从课程表查询课程名不为NULL的课程信息
SELECT * FROM course WHERE name IS NOT NULL;
示例:从课程表查询学分在2~4之间的课程信息
SELECT * FROM course WHERE score BETWEEN 2 AND 4;
示例:从课程表查询课程名包含"V"的课程信息
SELECT * FROM course WHERE name LIKE '%V%';
示例:从课程表查询课程名以"J"开头的课程信息
SELECT * FROM course WHERE name LIKE 'J%';
示例:从课程表查询课程名以"p"结尾的课程信息
SELECT * FROM course WHERE name LIKE '%p';
示例:从课程表查询课程编号为1,3,5的课程信息
SELECT * FROM course WHERE 'number' IN (1,3,5);
分组
DROP TABLE IF EXISTS student;CREATE TABLE student(
no BIGINT(20) AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT '学号,主键',
name VARCHAR(20) NOT NULL COMMENT '姓名',
sex VARCHAR(2) DEFAULT '男' COMMENT '性别',
age INT(3) DEFAULT 0 COMMENT '年龄',
score DOUBLE(5,2) COMMENT '成绩'
)ENGINE=InnoDB CHARSET=UTF8 COMMENT='学生表';
插入测试数据:
INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '张三', '男', 20,59);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '李四', '女', 19,62);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '王五', '其他',21, 62);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '龙华', '男', 22,75);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '金凤', '女', 18,80);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '张华', '其他',27, 88);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '李刚', '男', 30,88);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '潘玉明', '女',28, 81);INSERT INTO student(no, name, sex, age, score) VALUES (DEFAULT, '凤飞飞', '其他',32, 90);
分组查询
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名1 AS 别名1, ..., 字段名n AS 别名n]FROM 表名 WHERE 查询条件 GROUP BY 字段名1,字段名2,..., 字段名n
分组查询所得的结果只是该组中的第一条数据。
示例:从学生表查询成绩在80分以上的学生信息并按性别分组
SELECT * FROM student WHERE score>80 GROUP BY sex;
示例:从学生表查询成绩在60~80之间的学生信息并按性别和年龄分组
SELECT * FROM student WHERE score BETWEEN 60 AND 80 GROUP BY sex, age;
聚合函数
COUNT() :统计满足条件的数据总条数
示例:从学生表查询成绩在80分以上的学生人数
SELECT COUNT(*) total FROM student WHERE score>80;
SUM():只能用于数值类型的字段或者表达式,计算该满足条件的字段值的总和
示例:从学生表查询不及格的学生人数和总成绩
SELECT COUNT(*) totalCount,SUM(score) totalScore FROM student WHERE score<60;
AVG():只能用于数值类型的字段或者表达式,计算该满足条件的字段值的平均值
SELECT sex,AVG(score) avgScore FROM student GROUP BY sex;
MAX():只能用于数值类型的字段或者表达式,计算该满足条件的字段值的最大值
SELECT MAX(age) FROM student;
MIN():只能用于数值类型的字段或者表达式,计算该满足条件的字段值的最小值
SELECT MIN(score) FROM student;
分组查询结果筛选
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名1 AS 别名1, ..., 字段名n AS 别名n]FROM 表名 WHERE 查询条件 GROUP BY 字段名1,字段名2,..., 字段名n HAVING 筛选条件
分组后如果还需要满足其他条件,则需要使用HAVING子句来完成。
示例:从学生表查询年龄在20~30之间的学生信息并按性别分组,找出组内平均分在74分以上的组
SELECT * FROM student WHERE age BETWEEN 20 AND 30 GROUP BY sex HAVING AVG(score)>74;
排序
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名1 AS 别名1, ..., 字段名n AS 别名n]FROM 表名 WHERE 查询条件 ORDER BY 字段名1 ASC|DESC,字段名2 ASC|DESC,..., 字段名n ASC|DESC
SELECT * FROM student WHERE age BETWEEN 18 AND 30 ORDER BY score DESC, age ASC;
分页
SELECT ALL/DISTINCT * | 字段名1 AS 别名1[,字段名1 AS 别名1, ..., 字段名n AS 别名n]FROM 表名 WHERE 查询条件 LIMIT 偏移量, 查询条数
SELECT * FROM student WHERE score>=60 LIMIT 3, 3;
常用函数
常用数学函数
函数 | 说明 | 示例 |
---|---|---|
ABS(x) | 返回x的绝对值 | SELECT ABS(-8); |
FLOOR(x) | 返回不大于x的最大整数 | SELECT FLOOR(1.3); |
CEIL(x) | 返回不小于x的最小整数 | SELETC CEIL(1.3); |
TRUNCATE(x,d) | 返回数值x保留小数点后d位的值,截断时不进行四舍五入 | SELECT TRUNCATE(1.2328,3); |
ROUND(x) | 返回离x最近的整数,截断时要进行四舍五入 | SELECT ROUND(1.8); |
RAND() | 返回0~1的随机数 | SELECT RAND(); |
MOD(n,m) | 返回n除以m后的余数 | SELECT MOD(9,2); |
常用字符串函数
函数 | 说明 | 示例 |
CHAR_LENGTH(str) | 计算字符串字符个数 | SELECT CHAR_LENGTH('中国'); |
LENGTH(str) | 返回值为字符串str的长度,单位为字节 | SELECT LENGTH('中国'); |
CONCAT(str1,str2,...) | 将多个字符串拼接起来,其中任意一个为NULL则返回值为NULL | SELECT CONCAT('ad','min'); |
UPPER(str) UCASE(str) | 将字符串中的字母全部转换成大写 | SELECT UPPER('abcde'); SELECT UCASE('abcde'); |
LOWER(str) LCASE(str) | 将字符串中的字母全部转换成小写 | SELECT LOWER('ABCDE'); SELECT LCASE('ABCDE'); |
LEFT(s,n) RIGHT(s,n) | 前者返回字符串s从最左边开始的n个字符 后者返回字符串s从最右边开始的n个字符 | SELECT LEFT('abcdefg',5); SELECT RIGHT('abcdefg',5); |
LTRIM(s) RTRIM(s) | 前者返回字符串s,其左边的所有空格被删除 后者返回字符串s,其右边的所有空格被删除 | SELECT LTRIM(' abcde '); SELECT RTRIM(' abcde '); |
TRIM(s) | 返回字符串删除了两边空格后的字符串 | SELECT TRIM(' abcde '); |
REPLACE(s,s1,s2) | 返回一个字符串,用字符串s2代替s中所有字符串s1 | SELECT REPLACE('ababac','ab','d'); |
SUBSTRING(s,n,len) | 从字符串s中返回第一个第n个字符开始 长度为n的字符串 | SELECT SUBSTRING('abcdef',2,3); |
日期和时间函数
函数 | 说明 | 示例 |
CURDATE() CURRENT_DATE() | 返回当前日期 | SELECT CURDATE(); SELECT CURRENT_DATE(); |
CURTIME() CURRENT_TIME() | 返回当前时间 | SELECT CURTIME(); SELECT CURRENT_TIME(); |
NOW() CURRENT_TIMESTAMP() SYSDATE() | 返回当前日期和时间 | SELECT NOW(); SELECT CURRENT_TIMESTAMP(); SELECT SYSDATE(); |
YEAR(d) | 返回日期d中的年 | SELECT YEAR(NOW()); |
MONTH(d) | 返回日期d中的月份值,范围1~12 | SELECT MONTH(NOW()); |
DAYOFMONTH(d) | 返回给定日期是当月的第几天 | SELECT DAYOFMONTH(NOW()); |
HOUR(d) | 返回给定日期d的小时数 | SELECT HOUR(NOW()); |
MINUTE(d) | 返回给定日期d的分钟数 | SELECT MINUTE(NOW()); |
SECOND(d) | 返回给定日期d的秒数 | SELECT SECOND(NOW()); |
ADDDATE(d,n) | 返回起始日期d加上n天的日期 | SELECT ADDDATE(NOW(),3); |
TIMESTAMPDIFF(INTERVAL,d1,d2) | 返回给定日期d1和d2的时间差 | SELECT TIMESTAMPDIFF(YEAR,'2019-10-10','2021-10-1'); |
DATE_FROMAT(d,f) | 返回给定日期格式的字符串 | SELECT DATE_FROMAT(NOW(),'%Y-%m-%d %H:%i:%s'); |
条件判断函数
IF(条件,表达式1,表达式2)
IFNULL(字段,表达式)
如果字段值为空,则使用表达式,否则,使用字段值
CASE...WHEN
CASE WHEN 条件1 THEN 表达式1 [WHEN 条件2 THEN 表达式2 ...] ELSE 表达式n END
CASE 表达式 WHEN 值 1 THEN 表达式 1 [WHEN 值 2 THEN 表达式 2 ...] ELSE 表达式 n END
其他函数
数字格式化函数
示例:SELECT FORMAT(1.2353,2);
系统信息函数
函数 | 说明 | 示例 |
VERSION() | 获取数据库的版本号 | SELECT VERSION(); |
CONNECTION_ID() | 获取服务器的连接数 | SELECT CONNECTION_ID(); |
DATABASE() SCHEMA() | 获取当前数据库名 | SELECT DATABASE(); SELECT SCHEMA(); |
USER() SYSTEM_USER() SESSION_USER() | 获取当前用户名 | SELECT USER(); SELECT SYSTEM_USER(); SELECT SESSION_USER(); |
CURRENT_USER() CURRENT_USER | 获取当前用户名 | SELECT CURRENT_USER(); SELECT CURRENT_USER; |
相关文章:
Mysql学习笔记
连接数据库 找到 MySQL 安装目录下的 bin 目录,然后打开命令窗口,在命令窗口中按如下语法输入命令: mysql - h MySQL 数据库服务器的 IP 地址 - u 用户名 - p 然后按下回车键,输入密码即可 数据库操作 创建数据库 CREAT…...
Safari常用快捷键
一、书签边栏 1、显示或隐藏书签边栏:Control-Command-1 2、选择下一个书签或文件夹:向上头键或向下头键 3、打开所选书签:空格键 4、打开所选文件夹:空格键或右箭头键 5、关闭所选文件夹:空格键或左箭头键 6、更…...
OpenEuler学习笔记(二):用通俗的道理讲操作系统原理
用通俗的道理讲操作系统原理 基础概念类比 把OpenEuler操作系统想象成一个大型的工厂,这个工厂有各种各样的部门,每个部门都有自己的职责,共同协作来让整个工厂正常运转。内核就像是工厂的管理中心,它负责指挥和协调所有的工作。 …...
ros2-7.5 做一个自动巡检机器人
7.5.1 需求及设计 又到了小鱼老师带着做最佳实践项目了。需求:做一个在各个房间不断巡逻并记录图像的机器人。 到达目标点后首先通过语音播放到达目标点信息, 再通过摄像头拍摄一张图片保存到本地。 7.5.2 编写巡检控制节点 在chapt7_ws/src下新建功…...
使用 `scanpy` 观察 `AnnData` 对象内部数据结构
以下是使用 scanpy 观察 AnnData 对象内部数据结构的步骤: 一、导入必要的库: import scanpy as sc二、读取 AnnData 对象: 假设你的 AnnData 对象存储在一个文件中,例如 adata.h5ad,你可以使用以下代码读取它: adata = sc.read(adata.h5ad)如果你已经有了 adata 对象…...
《CPython Internals》阅读笔记:p232-p249
《CPython Internals》学习第 13天,p232-p249 总结,总计 18 页。 一、技术总结 无。 二、英语总结(生词:1) 1.overhead (1)overhead: over-(“above”) head(“top part, uppermost section”) overhead的字面意思是:above…...
Java并发08 - 并发安全容器详解
并发容器详解 文章目录 并发容器详解一:不使用并发容器如何保证安全二:阻塞队列容器2:ArrayBlockingQueue2.1:内部成员2.2:put方法的实现2.3:take方法的实现 3:LinkedBlockingQueue3.1ÿ…...
抽奖系统(3——奖品模块)
1. 图片上传 application.properties 配置上传文件路径 ## 文件上传 ## # 目标路径 pic.local-pathD:/PIC # spring boot3 升级配置名 spring.web.resources.static-locationsclasspath:/static/,file:${pic.local-path} tip: 1. 如果访问的是本地路径,…...
36.centos7上安装python3.6.5、安装卸载依赖包
查看openssl的版本号,默认python3.6.5需要OpenSSL 1.0.2以上的版本支持。 监测安装好的python,是否可以正确导入ssl和_ssl包 pip3安装依赖包 通过Pycharm工具导出requirements.txt文件 查看/usr/bin/目录下的软连接 pip3, python...
微透镜阵列精准全检,白光干涉3D自动量测方案提效70%
广泛应用的微透镜阵列 微透镜是一种常见的微光学元件,通过设计微透镜,可对入射光进行扩散、光束整形、光线均分、光学聚焦、集成成像等调制,进而实现许多传统光学元器件难以实现的特殊功能。 微透镜阵列(Microlens Array&#x…...
nature genetics | scATAC-seq预测scRNA-seq,识别影响基因表达的新染色质区域
–https://doi.org/10.1038/s41588-024-01689-8 Single-cell multi-ome regression models identify functional and disease-associated enhancers and enable chromatin potential analysis 研究团队和单位 Christina S. Leslie–Memorial Sloan Kettering Cancer Center …...
简述mysql 主从复制原理及其工作过程,配置一主两从并验证。
MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。 MySQL主从同步是基…...
Java API:封装自定义响应类
本文介绍 Web 服务开发中自定义响应,涵盖标准 HTTP 响应状态码局限性、自定义响应价值、设计原则与实现、在 Spring Boot 项目应用、与其他响应格式对比总结及应用场景。 1. 标准HTTP响应与自定义响应 1.1标准HTTP响应状态码 在 Web 服务开发中,HTTP…...
【Unity3D】利用Hinge Joint 2D组件制作绳索效果
目录 一、动态绳索 (可移动根节点) 二、静态绳索 三、利用Skinning Editor(Unity2022.3.15f1正常使用) 四、注意事项 一、动态绳索 (可移动根节点) 动态绳索 DynamicRope空物体 Anchor和whitecircle是相同位置的物体ÿ…...
vim练级攻略(精简版)
vim推荐配置: curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 0. 规定 Ctrl-λ 等价于 <C-λ> :command 等价于 :command <回车> n 等价于 数字 blank字符 等价于 空格,tab&am…...
嵌入式硬件篇---PID控制
文章目录 前言第一部分:连续PID1.比例(Proportional,P)控制2.积分(Integral,I)控制3.微分(Derivative,D)控制4.PID的工作原理5..实质6.分析7.各种PID控制器P控…...
技术洞察:C++在后端开发中的前沿趋势与社会影响
文章目录 引言C在后端开发中的前沿趋势1. 高性能计算的需求2. 微服务架构的兴起3. 跨平台开发的便利性 跨领域技术融合与创新实践1. C与人工智能的结合2. C与区块链技术的融合 C对社会与人文的影响1. 提升生产力与创新能力2. 促进技术教育与人才培养3. 技术与人文的深度融合 结…...
C语言程序设计之小系统
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 目录 系统说明 1.1 系统概述 1.2 功能模块总体设计详细设计 3.1 程序中使用的函数 3.2各类问…...
pyinstaller : 无法将“pyinstaller”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
pyinstaller : 无法将“pyinstaller”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1pyinstaller --onefile --windowed 过年烟花.py~~~~~~~~~~~ …...
接口传参 data格式和json格式区别是什么
接口传参 data格式和json格式区别是什么 以下是接口传参 data 格式和 JSON 格式的区别: 定义和范围 Data 格式: 是一个较为宽泛的概念,它可以指代接口传递参数时所使用的任何数据的组织形式。包括但不限于 JSON、XML、Form 数据、纯文本、二进…...
ClickHouse 入门
简介 ClickHouse 是一个列式数据库,传统的数据库一般是按行存储,而ClickHouse则是按列存储,每一列都有自己的存储空间,并且只存储该列的数值,而不是存储整行的数据。这样做主要有几个好处,压缩率高&#x…...
Python自动化:基于faker批量生成模拟数据(以电商行业销售数据为例)
引言:个人认为,“造数据”是一个数据分析师的一项基本技能,当然啦,“造数据”不是说胡编乱造,而是根据自己的需求去构造一些模拟数据集,用于测试等用途,而且使用虚拟数据不用担心数据隐私和安全…...
3.3 OpenAI GPT-4, GPT-3.5, GPT-3 模型调用:开发者指南
OpenAI GPT-4, GPT-3.5, GPT-3 模型调用:开发者指南 OpenAI 的 GPT 系列语言模型,包括 GPT-4、GPT-3.5 和 GPT-3,已经成为自然语言处理领域的标杆。无论是文本生成、对话系统,还是自动化任务,开发者都可以通过 API 调用这些强大的模型来增强他们的应用。本文将为您详细介…...
【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
前言 🌟🌟本期讲解关于spring 事务传播机制介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话…...
力扣203题—— 移除链表元素
题目 递归法使用 if(headnull){return null; }//假设remove返回后面已经去掉val值的链表 我们用head.next去存放他,接着我们要判断此时head head值是否等于val,如果等于我们就返回后继元素即可 head.nextremove(head.next,val); if(head.valval){return…...
Express中间件
目录 Express中间件 中间件的概念 next函数 全局中间与局部中间件 多个中间件 中间的5个注意事项 中间的分类 应用级中间件 路由级中间件 错误级中间件 Express内置中间件 express.json express.urlencoded 第三方中间件编辑 自定义中间件 Express中间件 中间…...
【AIGC】SYNCAMMASTER:多视角多像机的视频生成
标题:SYNCAMMASTER: SYNCHRONIZING MULTI-CAMERA VIDEO GENERATION FROM DIVERSE VIEWPOINTS 主页:https://jianhongbai.github.io/SynCamMaster/ 代码:https://github.com/KwaiVGI/SynCamMaster 文章目录 摘要一、引言二、使用步骤2.1 TextT…...
模块化架构与微服务架构,哪种更适合桌面软件开发?
前言 在现代软件开发中,架构设计扮演着至关重要的角色。两种常见的架构设计方法是模块化架构与微服务架构。它们各自有独特的优势和适用场景,尤其在C#桌面软件开发领域,模块化架构往往更加具有实践性。本文将对这两种架构进行对比࿰…...
Ubuntu 24.04 LTS 安装 tailscale 并访问 SMB共享文件夹
Ubuntu 24.04 LTS 安装 tailscale 安装 Tailscale 官方仓库 首先,确保系统包列表是最新的: sudo apt update接下来,安装 Tailscale 所需的仓库和密钥: curl -fsSL https://tailscale.com/install.sh | sh这会自动下载并安装 …...
fgets、scanf存字符串应用
题目1 夺旗(英语:Capture the flag,简称 CTF)在计算机安全中是一种活动,当中会将“旗子”秘密地埋藏于有目的的易受攻击的程序或网站。参赛者从其他参赛者或主办方偷去旗子。 非常崇拜探姬的小学妹最近迷上了 CTF&am…...
C#高级:用Csharp操作鼠标和键盘
一、winform 1.实时获取鼠标位置 public Form1() {InitializeComponent();InitialTime(); }private void InitialTime() {// 初始化 Timer 控件var timer new System.Windows.Forms.Timer();timer.Interval 100; // 设置为 100 毫秒,即每 0.1 秒更新一次timer.…...
关于AI agent的学术论文实验部分:准确率,响应时间,用户满意度
关于AI agent的学术论文实验部分 在撰写关于AI agent的学术论文时,实验设计和实施是关键部分,仅搭建完成AI agent通常是不够的,需要通过严谨的实验来验证其性能、效果和创新性。以下以一个在智能客服场景中应用AI agent的例子,说明如何完成实验: 明确实验目的:确定通过实…...
消息队列实战指南:三大MQ 与 Kafka 适用场景全解析
前言:在当今数字化时代,分布式系统和大数据处理变得愈发普遍,消息队列作为其中的关键组件,承担着系统解耦、异步通信、流量削峰等重要职责。ActiveMQ、RabbitMQ、RocketMQ 和 Kafka 作为市场上极具代表性的消息队列产品࿰…...
postgresql表分区及测试
本文主要采用list类型实现表分区,并对表分区数据进行查询对比,数据量6000万条以上,速度相差10倍以上。 一、创建表,以substationcode字段为ist类型表分区 CREATE TABLE "public"."d_population_partition" …...
VUE学习笔记(入门)1__创建VUE实例
核心步骤 <div id"app"><!-- 这里存放渲染逻辑代码 --><h1>{{ msg }}</h1><a href"#">{{count}}</a> </div><!-- 引入在线的开发版本核心包 --> <!-- 引入核心包后全局可使用VUE构造函数 --> <…...
STL—stack与queue
目录 Stack stack的使用 stack的模拟实现 queue queue的使用 queue的模拟实现 priority_queue priority_queue的用法 priority_queue的模拟实现 容器适配器 种类 Stack http://www.cplusplus.com/reference/stack/stack/?kwstack stack是栈,后入先出 stack的…...
pthread_create函数
函数原型 pthread_create 是 POSIX 线程(pthread)库中的一个函数,用于在程序中创建一个新线程。 #include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *a…...
suctf2025
Suctf2025 --2标识为看的wp,没环境复现了 所有参考资料将在文本末尾标明 WEB SU_photogallery 思路👇 构造一个压缩包,解压出我们想解压的部分,然后其他部分是损坏的,这样是不是就可以让整个解压过程是出错的从而…...
二、点灯基础实验
嵌入式基础实验第一个就是点灯,地位相当于编程界的hello world。 如下为LED原理图,要让相应LED发光,需要给I/O口设置输出引脚,低电平,二极管才会导通 2.1 打开初始工程,编写代码 以下会实现BLINKY常亮&…...
ESP8266-01S、手机、STM32连接
1、ESP8266-01S的工作原理 1.1、AP和STA ESP8266-01S为WIFI的透传模块,主要模式如下图: 上节说到,我们需要用到AT固件进行局域网应用(ESP8266连接的STM32和手机进行连接)。 ESP8266为一个WiFi透传模块,和…...
微服务学习:基础理论
一、微服务和应用现代化 1、时代的浪潮,企业的机遇和挑战 在互联网化数字化智能化全球化的当今社会,IT行业也面临新的挑战: 【快】业务需求如“滔滔江水连绵不绝”,企业需要更快的交付【变】林子大了,百色用户&…...
【c++继承篇】--继承之道:在C++的世界中编织血脉与传承
目录 引言 一、定义二、继承定义格式2.1定义格式2.2继承关系和访问限定符2.3继承后子类访问权限 三、基类和派生类赋值转换四、继承的作用域4.1同名变量4.2同名函数 五、派生类的默认成员构造函数5.1**构造函数调用顺序:**5.2**析构函数调用顺序:**5.3调…...
Java操作Excel导入导出——POI、Hutool、EasyExcel
目录 一、POI导入导出 1.数据库导出为Excel文件 2.将Excel文件导入到数据库中 二、Hutool导入导出 1.数据库导出为Excel文件——属性名是列名 2.数据库导出为Excel文件——列名起别名 3.从Excel文件导入数据到数据库——属性名是列名 4.从Excel文件导入数据到数据库…...
基于VSCODE+GDB+GDBSERVER远程单步调试设备篇(可视化界面)
目录 说明 配置方法 1)VSCODE必备插件 2)配置launch.json文件,用于GDB调试 调试步骤 目标板运行程序 1)已启动程序,通过attach方式进入调试 2)通过gdbserver启动时加载程序(程序路径根据实际情…...
【设计模式】 单例模式(单例模式哪几种实现,如何保证线程安全,反射破坏单例模式)
单例模式 作用:单例模式的核心是保证一个类只有一个实例,并且提供一个访问实例的全局访问点。 实现方式优缺点饿汉式线程安全,调用效率高 ,但是不能延迟加载懒汉式线程安全,调用效率不高,能延迟加载双重检…...
lvm快照备份
前提 数据文件要在逻辑卷上; 此逻辑卷所在卷组必须有足够空间使用快照卷; 数据文件和事务日志要在同一个逻辑卷上; 前提:MySQL数据lv和将要创建的快照要在同一vg,vg要有足够的空间存储 优点 几乎是热备&…...
PHP CRM售后系统小程序
💼 CRM售后系统 📺这是一款基于PHP和uniapp深度定制的CRM售后管理系统,它犹如企业的智慧核心,精准赋能销售与售后管理的每一个环节,引领企业步入精细化、数字化的全新管理时代。系统集成了客户管理、合同管理、工单调…...
ETL 数据抽取
ETL ETL 数据抽取 ETL(Extract, Transform, Load)是数据集成和处理的重要过程,其中数据抽取(Extract)是第一步,负责从各种数据源中提取数据。以下是ETL数据抽取的详细说明和常用工具: 1. 数据…...
FANUC机器人系统镜像备份与恢复的具体步骤(图文)
FANUC机器人系统镜像备份与恢复的具体步骤(图文) 镜像备份: 如下图所示,进入文件—工具—切换设备,找到插入的U盘UT1, 如下图所示,进入U盘目录后,创建目录,这里目录名称为11, 如下图所示...
MindsDB - 构建企业数据源 AI 对话
一、关于 MindsDB MindsDB是世界上最有效的解决方案,用于构建与混乱的企业数据源对话的AI应用程序。把它想象成图书管理员Marie Kondo。 github : https://github.com/mindsdb/mindsdb官网:https://www.mindsdb.com/官方文档:https://docs.…...