当前位置: 首页 > news >正文

MySQL之创建和管理表

目录

1. MySQL中的数据类型​编辑​编辑

2. 创建和管理数据库

 方式1:创建数据库

方式2:创建数据库并指定字符集

方式3:判断数据库是否已经存在,不存在则创建数据库( 推荐 )

总结

2.2 使用数据库

 查看当前所有的数据库

查看当前正在使用的数据库

查看指定库下所有的表

查看数据库的创建信息

使用/切换数据库

总结

 2.3 修改数据库

更改数据库字符集

总结

2.4 删除数据库

方式1:删除指定的数据库

方式2:删除指定的数据库( 推荐 )

总结

 3. 创建表

3.1 创建方式1

必须具备:

语法格式:

必须指定:

可选指定:

3.2 创建方式2

 4. 修改表

 使用 ALTER TABLE 语句可以实现

4.1 追加一个列

语法格式

举例:

4.2 修改一个列

语法格式:

举例

 4.3 重命名一个列

语法格式

举例:

4.4 删除一个列

语法格式

举例

5. 重命名表

方式一:使用RENAME

方式二:

6. 删除表

语法格式

举例

7. 清空表

TRUNCATE TABLE语句:

如:

大总结


1. MySQL中的数据类型

2. 创建和管理数据库

 方式1:创建数据库

CREATE DATABASE 数据库名;

方式2:创建数据库并指定字符集

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

方式3:判断数据库是否已经存在,不存在则创建数据库( 推荐

CREATE DATABASE IF NOT EXISTS 数据库名;
如果 MySQL 中已经存在相关的数据库,则忽略创建语句,不再创建数据库。
注意:DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删旧库完成的。

总结

数据库的创建创建数据库create database 数据库名;判断在创建数据库create database if not exists 数据库名;创建数据库指定字符集create database 数据库名 character set 字符集;创建数据库指定排序方式create database 数据库名 collate 排序方式;创建数据库指定字符集和排序方式create database 数据库名 character set 字符集 collate 排序方式;查询数据库的字符集和排序方式mysql18:默认 utf8mb4 utf8mb4_0900_ai_cishow variables like 'character_set_database';show variables like 'collate_database';

2.2 使用数据库

 查看当前所有的数据库

SHOW DATABASES; #有一个S,代表多个数据库

查看当前正在使用的数据库

SELECT DATABASE(); #使用的一个 mysql 中的全局函数

查看指定库下所有的表

SHOW TABLES FROM 数据库名;

查看数据库的创建信息

SHOW CREATE DATABASE 数据库名;
或者:
SHOW CREATE DATABASE 数据库名\G

使用/切换数据库

USE 数据库名;

注意:要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有对象加上“数

据库名.”。

总结

1.2 数据库查看查看所有库show databases;查看当前使用库select database();查看库下所有表show tables from 数据库名;查看创建库的信息和语句show create database 数据库名;选中和切换库;use 数据库名;注意: 对数据进行操作之前,必须要选中库! use 数据库; use 数据库名;

 2.3 修改数据库

更改数据库字符集

ALTER DATABASE 数据库名 CHARACTER SET 字符集; #比如:gbk、utf8等

总结

1.3 数据库修改修改字符集alter database 数据库名 character set 字符集;修改排序方式alter database 数据库名 collate 排序方式;修改字符集和排序方式alter database 数据库名 character set 字符集 collate 排序方式;注意: 数据库中没有修改名称的指令,如果你想改名字,备份数据,删除旧库,创建新库,恢复数据即可!

2.4 删除数据库

方式1:删除指定的数据库

DROP DATABASE 数据库名;

方式2:删除指定的数据库( 推荐


DROP DATABASE IF EXISTS 数据库名;

总结

 1.4 数据库删除直接删除drop database 数据库名;判断删除drop database if exists 数据库名;注意: 删除是一个危险命令,确认明确,再操作!!

 3. 创建表

 修改和删除表修改表中列添加列alter table 表名 add 列名 类型 [first|alter 列名] ;修改列名alter table 表名 change 原列名 新列名 新类型 [first|alter 列名] ;修改列类型alter table 表名 modify 列名 新类型 [first|alter 列名] ;删除列alter table 表名 drop 列名;修改表名alter table rename [to] 新表名;删除表drop table [if exists ] 表名;清空表数据truncate  table 表名;

3.1 创建方式1

必须具备:

  • CREATE TABLE权限
  • 存储空间

语法格式:

CREATE TABLE [IF NOT EXISTS] 表名(
字段1, 数据类型 [约束条件] [默认值],
字段2, 数据类型 [约束条件] [默认值],
字段3, 数据类型 [约束条件] [默认值],
……
[表约束条件]
);

         加上了IF NOT EXISTS关键字,则表示:如果当前数据库中不存在要创建的数据表,则创建数据表; 如果当前数据库中已经存在要创建的数据表,则忽略建表语句,不再创建数据表。

必须指定:

  1. 表名
  2. 列名(或字段名),数据类型,长度

可选指定:

  1. 约束条件
  2. 默认值
-- 创建表
CREATE TABLE emp (
-- int类型
emp_id INT,
-- 最多保存20个中英文字符
emp_name VARCHAR(20),
-- 总位数不超过15位
salary DOUBLE,
-- 日期类型
birthday DATE
);

3.2 创建方式2

  1. 使用 AS subquery 选项,将创建表和插入数据结合起来
  2. 指定的列和子查询中的列要一一对应
  3. 通过列名和默认值定义列
CREATE TABLE emp1 AS SELECT * FROM employees;
CREATE TABLE emp2 AS SELECT * FROM employees WHERE 1=2; -- 创建的emp2是空表
CREATE TABLE dept80
AS
SELECT employee_id, last_name, salary*12 ANNSAL, hire_date
FROM employees
WHERE department_id = 80;
DESCRIBE dept80;

 4. 修改表

 修改和删除表修改表中列添加列alter table 表名 add 列名 类型 [first|alter 列名] ;修改列名alter table 表名 change 原列名 新列名 新类型 [first|alter 列名] ;修改列类型alter table 表名 modify 列名 新类型 [first|alter 列名] ;删除列alter table 表名 drop 列名;修改表名alter table rename [to] 新表名;删除表drop table [if exists ] 表名;清空表数据truncate  table 表名;

 使用 ALTER TABLE 语句可以实现

  1. 向已有的表中添加列
  2. 修改现有表中的列
  3. 删除现有表中的列
  4. 重命名现有表中的列

4.1 追加一个列

语法格式

ALTER TABLE 表名 ADD 【COLUMN】 字段名 字段类型 【FIRST|AFTER 字段名】;

举例:

SHOW CREATE TABLE 表名\G
ALTER TABLE dept80
ADD job_id varchar(15);

4.2 修改一个列

可以修改列的数据类型,长度、默认值和位置

语法格式:

ALTER TABLE 表名 MODIFY 【COLUMN】 字段名1 字段类型 【DEFAULT 默认值】【FIRST|AFTER 字段名
2】;

举例

ALTER TABLE dept80
MODIFY last_name VARCHAR(30);
ALTER TABLE dept80
MODIFY salary double(9,2) default 1000;

 4.3 重命名一个列

使用 CHANGE old_column new_column dataType子句重命名列。

语法格式

ALTER TABLE 表名 CHANGE 【column】 列名 新列名 新数据类型;

举例:

ALTER TABLE dept80
CHANGE department_name dept_name varchar(15);

4.4 删除一个列

删除表中某个字段的

语法格式

ALTER TABLE 表名 DROP 【COLUMN】字段名

举例

ALTER TABLE dept80
DROP COLUMN job_id;

5. 重命名表

 修改和删除表修改表中列添加列alter table 表名 add 列名 类型 [first|alter 列名] ;修改列名alter table 表名 change 原列名 新列名 新类型 [first|alter 列名] ;修改列类型alter table 表名 modify 列名 新类型 [first|alter 列名] ;删除列alter table 表名 drop 列名;修改表名alter table rename [to] 新表名;删除表drop table [if exists ] 表名;清空表数据truncate  table 表名;

方式一:使用RENAME

RENAME TABLE emp
TO myemp;

方式二:

ALTER table dept
RENAME [TO] detail_dept; -- [TO]可以省略

必须是对象的拥有

6. 删除表

 修改和删除表修改表中列添加列alter table 表名 add 列名 类型 [first|alter 列名] ;修改列名alter table 表名 change 原列名 新列名 新类型 [first|alter 列名] ;修改列类型alter table 表名 modify 列名 新类型 [first|alter 列名] ;删除列alter table 表名 drop 列名;修改表名alter table rename [to] 新表名;删除表drop table [if exists ] 表名;清空表数据truncate  table 表名;
  1. MySQL中,当一张数据表 没有与其他任何数据表形成关联关系 时,可以将当前数据表直接删除。
  2. 数据和结构都被删除
  3. 所有正在运行的相关事务被提交
  4. 所有相关索引被删除

语法格式

DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, …, 数据表n];
        IF EXISTS 的含义为:如果当前数据库中存在相应的数据表,则删除数据表;如果当前数据库中不存在相应的数据表,则忽略删除语句,不再执行删除数据表的操作。

举例

DROP TABLE dept80;

注意:DROP TABLE 语句不能回滚

7. 清空表

 修改和删除表修改表中列添加列alter table 表名 add 列名 类型 [first|alter 列名] ;修改列名alter table 表名 change 原列名 新列名 新类型 [first|alter 列名] ;修改列类型alter table 表名 modify 列名 新类型 [first|alter 列名] ;删除列alter table 表名 drop 列名;修改表名alter table rename [to] 新表名;删除表drop table [if exists ] 表名;清空表数据truncate  table 表名;

TRUNCATE TABLE语句:

  • 删除表中所有的数据
  • 释放表的存储空间

如:

TRUNCATE TABLE detail_dept;

大总结

/*1.1数据库的创建创建数据库create database 数据库名;判断在创建数据库create database if not exists 数据库名;创建数据库指定字符集create database 数据库名 character set 字符集;创建数据库指定排序方式create database 数据库名 collate 排序方式;创建数据库指定字符集和排序方式create database 数据库名 character set 字符集 collate 排序方式;查询数据库的字符集和排序方式mysql18:默认 utf8mb4 utf8mb4_0900_ai_cishow variables like 'character_set_database';show variables like 'collate_database';*//*练习:创建ddl_d1库,指定字符集为utf8,且排序方式用大小写敏感的utf8mb4_0900_as_cs模式
*/
CREATE DATABASE IF NOT EXISTS ddl_d1 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;/*1.2 数据库查看查看所有库show databases;查看当前使用库select database();查看库下所有表show tables from 数据库名;查看创建库的信息和语句show create database 数据库名;选中和切换库;use 数据库名;注意: 对数据进行操作之前,必须要选中库! use 数据库; use 数据库名;
*/SHOW DATABASES;SELECT DATABASE();USE mysql;SHOW TABLES FROM mysql;SHOW CREATE DATABASE ddl_d1;/*
1.3 数据库修改修改字符集alter database 数据库名 character set 字符集;修改排序方式alter database 数据库名 collate 排序方式;修改字符集和排序方式alter database 数据库名 character set 字符集 collate 排序方式;注意: 数据库中没有修改名称的指令,如果你想改名字,备份数据,删除旧库,创建新库,恢复数据即可!
*//*1.4 数据库删除直接删除drop database 数据库名;判断删除drop database if exists 数据库名;注意: 删除是一个危险命令,确认明确,再操作!!
*/# 2. DDL之数据表操作
/*2.1 建表语法建表语法总结create table [if not exist] 表名(# 列的信息列名 类型 [列的约束] [列的注释],列名 类型 [列的约束] [列的注释],...列名 类型 [列的约束] [列的注释])[描述][注释]建表事项1. 表名 列名 列类型必须填写的2. 推荐使用if not exists3. 注释不是必须得,但是是很有必要的!4. 列之间使用,隔开,最后一列没有,
*/CREATE DATABASE IF NOT EXISTS book_libs CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;USE book_libs;CREATE TABLE IF NOT EXISTS books(# 列的信息book_name VARCHAR(20) COMMENT '图书名',book_price DOUBLE(4,1) COMMENT '图书价格',book_num INT COMMENT '图书数量'
)CHARSET = utf8mb4 COMMENT '图书表';SHOW TABLES FROM book_libs;/*2.3 建表类型[整数]整数类型(类型,占有空间,范围)标准sql:int / integer   4字节  无符号 0 - 2/32-1  有符号 -2 31 / 2 / 31 -1smallint        2字节  无符号 0 - 2/16-1  有符号 -2 17 / 2 / 17 -1mysql方言:tinyint         1字节  无符号 0 - 2/8 -1  有符号 -2 7 / 2/7-1mediumint       3字节  无符号 0 - 2/24 -1  有符号 -2 23 / 2/23-1bigint          8字节  无符号 0 - 2/64 -1  有符号 -2 63 / 2/63-1有符号: 列名 整数类型 -> 有符号| 有符号 有负值和正值列名 整数类型 unsigned -> 无符号|无符号 没有负值,都是正值,将负值部分,绝对值后,加入正值部分!注意: 选合适范围,范围合适先占有空间最小的!创建一个ddl_d1库中,创建一个t1表,包含: 年龄和学号(范围不确定,但是没有负值)*/CREATE TABLE t1(t1_age TINYINT UNSIGNED COMMENT '年龄,无符号,范围就是 0 - 255',t1_number BIGINT UNSIGNED COMMENT '学号,最大的,且没有负号'
);/*2.4 建表类型[浮点/定值]浮点类型(类型,M,D)float(m,d)   4字节   m 24   d 8double(m,d)  8字节   m 53   d 30定值类型(类型,M,D)decimal(m,d) 动态占有 m 65   d 30使用对比:精度要求不高,例如:身高,体重 float / double精度要求特别高,钱 工资,价格 decimal*//*2.5 建表类型[浮点/定值]浮点类型(类型,M,D)float(m,d)   4字节   m 24   d 8double(m,d)  8字节   m 53   d 30定值类型(类型,M,D)decimal(m,d) 动态占有 m 65   d 30使用对比:精度要求不高,例如:身高,体重 float / double精度要求特别高,钱 工资,价格 decimal*//*2.6 建表类型[字符串]字符串类型char 固定长度类型 一旦声明固定占有对应的空间 M 最大255 [性能较好]varchar 可变长度类型 一旦声明,可以插入小于的长度,自动进行伸缩 M 占有的空间不能超过一行的最大显示65535字节 [性能一般]text 大文本类型,声明不要指定长度,有固定的大小限制, text [65535] , 不占有一行的最大限制空间细节理解1. char声明的时候可以不写m char = char(1)2. char声明了最大长度限制,输入的文本小于长度限制,会在右侧补全空格 char(5) -> 'abc' -> 'abc  '3. char类型在读取的时候,会自动去掉右侧的空格 'abc  ' -> 'abc'4. varchar声明的时候,必须添加m限制 varchar(m)5. mysql4.0以下版本 varchar(20) -> 20字节限制  mb3 -> 66. mysql5.0以上版本 varchar(20) -> 20字符限制7. varchar类型中识别空格,插入空格 读取也是有空格演示varchar最大限制前提: mysql中一行数据最大的占有空间是65535字节,除了TEXT or BLOBs类型的列(不占有65535限制 法外狂徒)一行-> name1列 -> name1列占有的最大空间65535字节varchar类型默认会使用1字节标识是否为null -> 65535-1 = 65534字节字符集utf8mb4 1个字符 = 4个字节   65534 / 4 = 16383解决方案 :1. 缩小字符大小限制 m变小 [不合理]2. 可以修改字符集 [不合理]3. 可以将字符串类型变成TEXT,不占有一行的限制*/CREATE TABLE t1(name1 VARCHAR(16000),name2 TEXT
)CHARSET=utf8mb4;/*2.7 建表类型[时间类型]时间类型year    1 yyyy | yy   '1910' | 1910time    3 HH:MM:SS    '10:10:10'date    3 YYYY-MM-DD  '1910-10-10'datetime 8 YYYY-MM-DD HH:MM:SS '1910-10-10 10:10:10'timestamp 4 YYYY-MM-DD HH:MM:SS '1970-10-10 10:10:10'注意情况1. year可以写两位年 00 - 99  00-69 =2000 - 2069 70 - 99 = 1970 - 1999 推荐四位的年2. 时间类型,要遵循他们的格式插入,插入的时候就是按字符插入,时间默认不会自动赋值扩展自动填写时间:1.插入默认添加时间datatime | timestamp default current_timestamp2.修改默认更改时间datatime | timestamp default current_timestamp on update current_timestamp演示: 创建t2表,注册日期 字段插入自动添加时间,更新数据不变更新日期 字段插入自动添加时间,更新数据时间改变
*/CREATE TABLE t2(name1 VARCHAR(20),reg_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '注册日期,插入数据自动维护时间',up_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT  '更新日期,插入数据填写时间,更新数据自动改变时间'
);/*2.8 修改和删除表修改表中列添加列alter table 表名 add 列名 类型 [first|alter 列名] ;修改列名alter table 表名 change 原列名 新列名 新类型 [first|alter 列名] ;修改列类型alter table 表名 modify 列名 新类型 [first|alter 列名] ;删除列alter table 表名 drop 列名;修改表名alter table rename [to] 新表名;删除表drop table [if exists ] 表名;清空表数据truncate  table 表名;
*/
/*2.9 表操作实战要求1:创建表格employees要求2:将表employees的mobile字段修改到code字段后面。要求3:将表employees的birth字段改名为birthday;要求4:修改sex字段,数据类型为char(1)。要求5:删除字段note;要求6:增加字段名favoriate_activity,数据类型为varchar(100);要求7:将表employees的名称修改为 employees_info*/CREATE TABLE  employeess(emp_num INT,last_name VARCHAR(50),first_name VARCHAR(50),mobile VARCHAR(25),CODE INT,job_time VARCHAR(50),birth DATE,note VARCHAR(255),sex VARCHAR(5)
);# 要求2:将表employees的mobile字段修改到code字段后面。
ALTER TABLE employeess MODIFY mobile VARCHAR(25) AFTER CODE;# 要求3:将表employees的birth字段改名为birthday;
ALTER TABLE employeess CHANGE birth birthday DATE;# 要求4:修改sex字段,数据类型为char(1)。
ALTER TABLE employeess MODIFY sex CHAR(1);DESC employeess;# 要求5:删除字段note;
ALTER TABLE employeess DROP note;#要求6:增加字段名favoriate_activity,数据类型为varchar(100);
ALTER TABLE employeess ADD favoriate_activity VARCHAR(100);#要求7:将表employees的名称修改为 employees_info
ALTER TABLE employeess RENAME employees_info;

相关文章:

MySQL之创建和管理表

目录 1. MySQL中的数据类型​编辑​编辑 2. 创建和管理数据库 方式1:创建数据库 方式2:创建数据库并指定字符集 方式3:判断数据库是否已经存在,不存在则创建数据库( 推荐 ) 总结 2.2 使用数据库 查看当…...

肌肉骨骼肿瘤治疗市场:潜力无限,未来可期

肌肉骨骼肿瘤治疗作为现代医学的重要分支,专注于应对骨骼和肌肉系统中的良性和恶性肿瘤。随着全球人口老龄化和生活方式的改变,肌肉骨骼疾病日益成为公共卫生的重要问题。与此同时,医疗技术的进步和患者对高质量医疗服务的需求不断推动该市场…...

QGIS 创建三维渲染动画

打开数据包中的denali工程文档,可以看到DEM图层和山体阴影图层。首先创建彩色的山体阴影效果: 接下来新建3D视图: 配置三维地图 配置后,可用鼠标中键、右侧的操作盘等进行三维旋转等操作。 接下来在三维地图中创建动画效果&#x…...

Vue生成类似于打卡页面

数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…...

软件工程——期末复习(2)

Part1&#xff1a;软件工程基本概念 软件程序文档数据 在软件工程中&#xff0c;软件通常被定为程序、文档和数据的集合。程序是按事先设计的功能和性能要求编写的指令序列&#xff1b;程序是完成指定功能的一段特定语言代码。文档是描述程序操作和使用的文档&#xff0c;是与…...

vxe-table 键盘操作,设置按键编辑方式,支持覆盖方式与追加方式

vxe-table 全键盘操作&#xff0c;按键编辑方式设置&#xff0c;覆盖方式与追加方式&#xff1b; 通过 keyboard-config.editMode 设置按键编辑方式&#xff1b;支持覆盖方式编辑和追加方式编辑 安装 npm install vxe-pc-ui4.3.15 vxe-table4.9.15// ... import VxeUI from v…...

【BUG】VMware|vmrest正在运行此虚拟机,无法配置或删除快照

VMware版本&#xff1a;VMware 16 文章目录 省流版问题解决方案 详细解释版问题解决方案总结 省流版 问题 只读&#xff0c;因为vmrest正在运行虚拟机。 解决方案 参考&#xff1a;虚拟机设置&#xff0c;只读&#xff0c;因为vmrest正在运行此虚拟机。有谁遇到过这种问题吗&…...

STM32 串口和I2C结合案例:

需求 1. 电脑通过串口 给单机 下发点灯计划 例如 13322 单片机上的灯 LED1 亮1秒 灭1秒 LED3 亮1秒 灭1秒 LED3 亮一秒 灭1秒 133221332213322-> mian.c #include "usart1.h" #include "M24C02.h" #include "stdio.h" #include "le…...

QT6_UI设计——设置表格

环境&#xff1a;qt6.8 1、放置 双击 2行 、列 设置 3、设置表格内容 读取表格内容 uint16 get_table_value_16_cmd(int row,int column) {if(column<1)return 0;QTableWidgetItem *itemnew QTableWidgetItem;itemui1->tableWidget_2->item(row,column);if(item! nul…...

游戏使用辅助工具修改器检测不到游戏进程应该如何解决?多种解决方法分享

当您在使用游戏辅助工具或修改器时遇到“未检测到游戏进程”的提示&#xff0c;这通常意味着修改器未能正确识别并连接到游戏的运行实例。以下是一些可能的解决方案&#xff1a; 1. 确保游戏已启动&#xff1a;•确认游戏已经完全启动并且正在运行中。有时游戏可能还在加载界面…...

Java JVM(内存结构,垃圾回收,类加载,内存模型)

一、JVM 主要功能 1. 什么是 jvm&#xff1f; JVM&#xff08;Java Virtual Machine)&#xff1a;负责运行 Java 程序的核心组件。它将 Java 字节码&#xff08;.class 文件&#xff09;解释或编译为机器代码&#xff0c;并提供内存管理、垃圾回收和线程管理等功能。 JRE (J…...

C++设计模式(桥接、享元、外观、状态)

一、桥接模式 1.定义 将抽象部分与它的实现部分分离&#xff0c;使它们可以独立地变化。 桥接模式通过使用组合关系而不是继承关系来实现解耦&#xff0c;从而提高系统的灵活性和可扩展性。 2.组成 抽象&#xff1a;定义抽象部分的接口&#xff0c;包含一个指向实现类的对象…...

鸿蒙 DevEco Studio 设置状态栏,调用setWindowSystemBarProperties不生效

参考文章&#xff1a;设置状态栏&#xff0c;调用setWindowSystemBarProperties不生效 我使用 setWindowSystemBarProperties 设置状态栏&#xff0c;不生效。 import window from ohos.window;export default {data: {title: World},setSystemBar() {var windowClass null;…...

Spring03——基于xml的Spring应用

Spring开发中主要对Bean的配置 Bean的常用配置一览如下&#xff1a; Xml配置方式功能描述<bean id"" class"">Bean的id和全限定名配置<bean name"">通过name设置Bean的别名&#xff0c;通过别名也能直接获取到Bean实例<bean sc…...

【AIGC半月报】AIGC大模型启元:2024.12(上)

【AIGC半月报】AIGC大模型启元&#xff1a;2024.12&#xff08;上&#xff09; &#xff08;1&#xff09;OpenAI-12日发布会&#xff08;持续更新中........&#xff09;Day01-12.06&#xff1a;SoraDay02-12.07&#xff1a;ChatGPT圣诞老人风格的语音Day03-12.08&#xff1a;…...

本etcd系列文章补充说明

最开始今年四月份读的是etcdv3.6的main分支的代码&#xff0c;最开始没注意&#xff0c;main分支代码是不断修改的&#xff0c;并且最开始对etcd不太了解&#xff0c;所以源码笔记有些理解不太准确&#xff0c;也可能略有错误&#xff0c;所以年底就回过头来重新复习一遍&#…...

【新品发布】ESP32-P4开发板 —— 启明智显匠心之作,为物联网及HMI产品注入强劲动力

核心亮点&#xff1a; ESP32-P4开发板&#xff0c;是启明智显精心打造的一款高性能物联网开发板。它专为物联网项目及HMI&#xff08;人机界面&#xff09;产品而设计&#xff0c;旨在为您提供卓越的性能和稳定可靠的运行体验。 强大硬件配置&#xff1a; 双核400MHz RISC-V处…...

HTML 添加 文本水印

body,html {margin: 0;height: 100vh;width: 100vw;} // 自定义文案const setting {text: "水印文案", // 水印内容innerDate: true, // 在水印下方增加日期width: 110, // 水印宽度};// 自定义文字水印const watermark (function () {return {build: function (a…...

软件无线电安全之GNU Radio基础(下)

往期回顾 软件无线电安全之GUN Radio基础(上) 背景 在上一小节中&#xff0c;我们简单介绍和使用了GNU Radio软件的基础功能和模块&#xff0c;同时通过GNU Radio Companion&#xff08;GRC&#xff09;创建了简单的流程图&#xff0c;展示了信号生成、处理和输出的流程。最后…...

windows基础

系统目录 服务 端口 注册表 黑客常用DOS命令&#xff08;在拿到shell时会用到&#xff09; 一、 系统目录 Windows目录 系统的安装目录 System32configSAM文件 是用户密码的存储文件 System32etchost文件 记录本地解析&#xff08;优先级大于DNS域名解析&#xff09;可以自…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...