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

MySQl 数据库操作

目录

一、MySQL 数据库介绍

二、MySQl 库操作

1. 系统数据库

2. 数据库操作

(1)创建数据库

 (2)数据库命名规则

(3)选择数据库

(4)查看数据库 

(5)删除数据库

 (6)修改数据库

三、MySQL 表操作

1. 表介绍

2. 查看表

3. 创建表

4. 查看表结构

5. 修改表

(1)修改表名

(2)增加字段

(3)修改字段

(4)删除字段

6. 复制表

7. 删除表

四、MySQL 数据操作

1. 介绍

2. 插入数据

顺序插入

指定字段插入

批量插入

3. 删除数据 

4. 更新数据 

5. 查询数据 

(0)关键字执行的优先级

(1)单表查询

(2)多表查询

(3)例子

总结与最佳实践

五、MySQL 数据库用户授权

1. 创建用户

2. 授权操作

3. 查看权限

4. 撤销权限

(一)DROP 与 DELETE 核心区别​

(二)DELETE 与 TRUNCATE 对比​


一、MySQL 数据库介绍

  • MySQL 是一款开源的关系型数据库管理系统(RDBMS),由瑞典公司 MySQL AB 开发,后被 Oracle 收购。它是目前最流行的数据库之一,广泛应用于 Web 开发、企业级应用、数据分析等领域。
  • SQL 语言的组成
    • DDL(数据定义语言):用来建立数据库、数据库对象和定义字段。如CREATE!、ALTER、DROP。
    • DML(数据操纵语言):用来插入、删除和修改数据库中的数据。如INSERT、DELETE、UPDATE。
    • DQL(数据查询语言):用来查询数据库中的数据,如SELECT。
    • DCL(数据控制语言):用来控制数据库组件的存取许可、存取权限等,如 COMMIT、ROLLBACK、GRANT、REVOKE。

二、MySQl 库操作

1. 系统数据库

MySQL 安装后默认包含以下系统数据库:

数据库名作用
mysql存储用户权限、角色、密码等系统级信息。
information_schema提供数据库元数据(如表、字段、权限等)的只读视图。
performance_schema监控 MySQL 服务器性能指标(如查询耗时、锁等待)。
sys基于 performance_schema 的简化视图,方便用户查看性能数据。

注意

  • 禁止直接修改系统数据库的表(如 mysql.user),需使用专用 SQL 命令(如 CREATE USER)。

  • 通过 SHOW DATABASES; 查看所有数据库。

2. 数据库操作

(1)创建数据库
-- 基础语法  
CREATE DATABASE  数据库名; -- 示例:创建名为 `db1` 的数据库,create database db1;
 (2)数据库命名规则
  • 可以由字母、数字、下划线、@、#、¥
  • 区分大小写
  • 唯一性
  • 不能使用关键字如 create select
  • 不能单独使用数字
  • 最长128位
(3)选择数据库
--语法
USE 数据库名;--示例:切换到db1库
mysql> use db1;
Database changed
(4)查看数据库 
--查看当前数据库中有哪些表
show databases; 
--显示创建名为db1的数据库时所使用的SQL语句
show create datavase db1;
--返回当前选中的数据库的名称
select database();
(5)删除数据库
--语法
DROP DATABASE 数据库名;
--示例:删除db1库
drop database db1;
 (6)修改数据库
--语法
ALTER DATABASE 数据库名; 
--示例:修改数据库 test_db 的字符集为 utf8mb4
ALTER DATABASE test_db CHARACTER SET utf8mb4;  

三、MySQL 表操作

1. 表介绍

  • 表(Table) 是关系数据库的核心组件,用于存储结构化数据。

  • 结构:由 列(字段) 和 行(记录) 组成。

  • 表的本质:数据库中存储数据的二维结构。

  • 表引擎:决定表的存储和处理方式(常用:InnoDB(支持事务、外键)、MyISAM(性能高,不支持事务))。​

  • 表约束:保证数据完整性(如主键PRIMARY KEY、非空NOT NULL、唯一UNIQUE、默认值DEFAULT)。

2. 查看表

#查看前提是先USE进入这个数据库内,或者在命令中IN指定查询的数据库
-- 查看当前数据库中的所有表  
SHOW TABLES;  -- 查看表详细信息(存储引擎、字符集等)  
SHOW TABLE STATUS LIKE '表名';  

3. 创建表

-- 基础语法  
CREATE TABLE [IF NOT EXISTS] 表名 (  列名1 数据类型 [约束],  列名2 数据类型 [约束],  ...  [PRIMARY KEY (列名)]  
) [ENGINE=存储引擎] [DEFAULT CHARSET=字符集];  -- 示例:创建学生表  
CREATE TABLE IF NOT EXISTS students (  id INT AUTO_INCREMENT PRIMARY KEY,  name VARCHAR(50) NOT NULL,  age TINYINT UNSIGNED,  class_id INT,  FOREIGN KEY (class_id) REFERENCES classes(id)  
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;  

注意:

  1. 在同一个表中,字段名是不能相同
  2. 宽度和约束条件可选
  3. 字段名和类型是必须的,字段的类型宽度和约束条件是可选项
  4. 表中最后一个字段不要加逗号
  • 数据类型INTVARCHARDATETEXT 等。

    • (一)数值类型​

      类型​

      存储大小​

      范围(有符号)​

      范围(无符号)​

      说明及示例​

      TINYINT​

      1 字节​

      -128 ~ 127​

      0 ~ 255​

      适用于枚举值(如状态码:0/1)​

      SMALLINT​

      2 字节​

      -32768 ~ 32767​

      0 ~ 65535​

      短整型数据(如年龄字段)​

      INT/INTEGER​

      4 字节​

      -2147483648 ~ 2147483647​

      0 ~ 4294967295​

      标准整数类型(主键常用)​

      BIGINT​

      8 字节​

      ±9.2e18​

      0 ~ 1.8e19​

      超大整数(如时间戳毫秒级)​

      FLOAT​

      4 字节​

      单精度浮点(7 位有效数字)​

      -​

      科学计算(需注意精度丢失)​

      DOUBLE​(M,D)

      8 字节,M表示长度,D表示小数位数​

      双精度浮点(15 位有效数字)​

      -​

      高精度计算(如金额存储)

      DECIMAL(M,D)DECIMAL(M,D)依赖于M和D的值,M最大值为65依赖于M和D的值,M最大值为65小数值

      ​注意:数值类型可加 UNSIGNED 修饰符设置无符号类型,INT (M) 中的 M 表示显示宽度,需配合 ZEROFILL 使用才生效​

      ​(二)日期时间类型​

      类型​

      存储大小​

      格式​

      范围​

      特性说明​

      DATE​

      3 字节​

      YYYY-MM-DD​

      1000-01-01 ~ 9999-12-31​

      仅存储日期​

      TIME​

      3 字节​

      HH:MM:SS​

      -838:59:59 ~ 838:59:59​

      可存储时间间隔​

      YEAR​

      1 字节​

      YYYY 或 YY​

      1901 ~ 2155​

      简化年存储​

      DATETIME​

      8 字节​

      YYYY-MM-DD HH:MM:SS​

      1000-01-01 00:00:00 ~ 9999-12-31 23:59:59​

      无时区概念​

      TIMESTAMP​

      4 字节​

      同上​

      1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC​

      自动转换时区,占用空间小​

      最佳实践:

    • ​TIMESTAMP 适合记录数据变更时间(支持自动更新)​

    • DATETIME 适合存储固定时区的时间(如业务系统统一用北京时间)​一个汉字在 UTF-8 中占 3 字节,GBK 中占 2 字节​VARCHAR 的最大长度受限于表的行大小(InnoDB 默认 65535 字节

        (三)字符串类型​

类型​

存储方式​

最大长度​

存储需求​

典型应用场景​

CHAR(M)​

固定长度(不足补空格)​

M=0~255​

空间 = M 字节​

短字符串(如 MD5 哈希值)​

VARCHAR(M)​

可变长度(前缀 + 数据)​

M=0~65535​

空间 = 1/2 字节前缀 + 实际长度​

动态文本(如用户昵称)​

TEXT​

长文本存储(无字符集前缀)​

65535 字符​

按实际内容存储​

文章内容、详情描述​

BLOB​

二进制大对象​

同上​

二进制数据存储​

图片、文件二进制流​

NVARCHAR​

统一字符集存储(UTF-8)​

取决于字符集​

每个字符占 3 字节(UTF-8)​

多语言支持场景​

  • 约束条件

    约束作用示例
    PRIMARY KEY主键约束,唯一标识记录(非空且唯一)id INT PRIMARY KEY
    AUTO_INCREMENT自增(仅限整数类型),常用于主键id INT PRIMARY KEY AUTO_INCREMENT
    UNIQUE唯一约束,字段值不可重复email VARCHAR(50) UNIQUE
    NOT NULL非空约束,字段值不能为 NULLname VARCHAR(20) NOT NULL
    DEFAULT默认值,插入数据时未指定则使用默认值status INT DEFAULT 0
    FOREIGN KEY外键约束,关联其他表的主键FOREIGN KEY (dept_id) REFERENCES department(id)
  • 存储引擎InnoDB(支持事务)、MyISAM(高性能读)。

4. 查看表结构

##查看表字段及属性(字段名 + 类型 + 约束)
DESCRIBE 表名;  #可简写为DESCR 表名
-- 示例输出:
+------------+------------------+------+-----+---------+-------------------+
| Field      | Type             | Null | Key | Default | Extra             |
+------------+------------------+------+-----+---------+-------------------+
| id         | int              | NO   | PRI | NULL    | auto_increment    |
| name       | varchar(50)      | NO   |     | NULL    |                   |
+------------+------------------+------+-----+---------+-------------------+#查看完整的建表信息
SHOW CREATE TABLE 表名\G;  #\G 表示以长格式显示结果

5. 修改表

(1)修改表名
--语法
ALTER TABLE 表名 RENAME 新表名;  
--示例:t1改为t2
ALTER TABLE t1 RENAME t2;  
(2)增加字段
--语法
ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件...],ADD 字段名 数据类型 [完整性约束条件...]ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件...]  FIRST;ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件...]  AFTER 字段名;-
(3)修改字段
ALTER TABLE 表名 MODIFY 字段名	数据类型 [完整性约束条件……];
ALTER TABLE 表名 CHANGE 旧字段名	新字段名	旧数据类型 [完整性约束条件…];
ALTER TABLE 表名 CHANGE 旧字段名	新字段名	新数据类型 [完整性约束条件…];例子:alter table t2 modify name char(50);
Query OK, 0 rows affected (0.02 sec)Records:0 Duplicates:0 Warnings:0
mysql> alter table t2 change name user name varchar(50);
Query OK, 0 rows affected (0.02 sec)Records:0 Duplicates:0 Warnings:0
(4)删除字段
ALTER TABLE students DROP COLUMN email;  

6. 复制表

复制表只复制表结构,不复制表中数据
mysql> create table t3 like t2;复制表结构+记录(key不会复制:主键、外键和索引)
mysql> create table t4 select* from t2;

7. 删除表

-- 删除表(不可恢复!)  
DROP TABLE 表名;  DROP TABLE 数据库名.表名;

四、MySQL 数据操作

1. 介绍

数据操作语言(DML)用于对表中的数据进行 增(INSERT)、删(DELETE)、改(UPDATE)、查(SELECT)

2. 插入数据

顺序插入

语法:INSERT INTO 表名 VALUES(值1,值2,值3..值n)

INSERT INTO students  
VALUES (1, '张三', '男', '2003-05-20', 101);  
指定字段插入

语法:INSERT INTO 表名(字段1,字段2..字段n)VALUES(值1,值2,值3..值n)

INSERT INTO students (name, class_id)  
VALUES ('李四', 102);  -- 未指定字段使用默认值或 NULL  
批量插入

语法:INSERT INTO 表名 VALUES(值1,值2,值3..值n),(值1,值2..值n)

INSERT INTO students (name, gender, class_id)  
VALUES  ('王五', '女', 101),  ('赵六', '男', 102);  

3. 删除数据 

删除所有数据
DELETE FROM students;  -- 逐行删除,可回滚  
TRUNCATE TABLE students;  -- 快速清空表,不可回滚  条件删除
DELETE FROM 表名 WHERE 条件表达式;
--例
DELETE FROM students WHERE id = 3;  

4. 更新数据 

UPDATE 表名 SET 字段1=值1, 字段2=值2, ... [WHERE 条件];
-- 更新单个字段  -示例:
UPDATE students SET name = '张三丰' WHERE id = 1;  -- 更新多个字段  -示例:UPDATE students SET gender = '女', class_id = 103 WHERE name = '李四';  

5. 查询数据 

(0)关键字执行的优先级

        执行顺序:

        FROM → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY →         LIMIT

(1)单表查询

准备数据

create database test;
use test;
create table renyuan(
id int not null unique auto_increment, #员工id
name varchar(20) not null,     #姓名
sex enum('male','female') not null default 'male', #性别,大部分是男的
age int(3) unsigned not null default 28,  #年龄
hire_date date not null,    #入职时间
post varchar(50),       #岗位
post_comment varchar(100),  #职位描述
salary double(15,2),    #薪资
office int, #办公室,一个部门一个屋子
depart_id int  #部门编号
);
insert into renyuan(name,sex,age,hire_date,post,salary,office,depart_id) values
('zhangsan','male',18,'20170301','teacher',7300.33,401,1), #教学部
('lisi','male',78,'20150302','teacher',1000000.31,401,1),
('wangwu','male',81,'20130305','teacher',8300,401,1),
('zhaoliu','male',73,'20140701','teacher',3500,401,1),
('suqi','male',28,'20121101','teacher',2100,401,1),
('zhuba','female',18,'20110211','teacher',9000,401,1),
('洪金宝','male',18,'19000301','teacher',30000,401,1),
('成龙','male',48,'20101111','teacher',10000,401,1),('歪歪','female',48,'20150311','sale',3000.13,402,2),#销售部门
('丫丫','female',38,'20101101','sale',2000.35,402,2),
('丁丁','female',18,'20110312','sale',1000.37,402,2),
('星星','female',18,'20160513','sale',3000.29,402,2),
('格格','female',28,'20170127','sale',4000.33,402,2),('张野','male',28,'20160311','operation',10000.13,403,3), #运营部门
('程咬金','male',18,'19970312','operation',20000,403,3),
('程咬银','female',18,'20130311','operation',19000,403,3),
('程咬铜','male',18,'20150411','operation',18000,403,3),
('程咬铁','female',18,'20140512','operation',17000,403,3)
;
  • 简单查询

    查询所有字段:SELECT * FROM 表名;查询指定字段:SELECT 字段1, 字段2 FROM 表名;使用别名:SELECT 字段 AS 别名 FROM 表名;去重查询:SELECT DISTINCT 字段 FROM 表名;
  • where条件

    比较运算符:=, <>, >, <, >=, <=逻辑运算符:AND, OR, NOTBETWEEN:WHERE 字段 BETWEEN 值1 AND 值2IN:WHERE 字段 IN (值1, 值2)LIKE:WHERE 字段 LIKE '模式' (%匹配任意字符,_匹配单个字符)IS NULL:WHERE 字段 IS NULL
  • group by 分组 

    将结果集按一个或多个列分组:SELECT 分组字段, 聚合函数(字段)
    FROM 表名
    GROUP BY 分组字段;常用聚合函数:COUNT():计数, SUM():总和, AVG():平均值, MAX():最大值, MIN():最小值
  • order by 排序(对结果集排序

    SELECT 字段 FROM 表名 ORDER BY 字段1 [ASC|DESC], 字段2 [ASC|DESC];
    • ASC:升序(默认)

    • DESC:降序

  • limit 限制结果条目

    限制返回的记录数:
    SELECT 字段 FROM 表名 LIMIT 数量;
    SELECT 字段 FROM 表名 LIMIT 偏移量, 数量;
  • 正则匹配

    SELECT 字段 FROM 表名 WHERE 字段 REGEXP '正则表达式';

    常用正则符号:

    • ^:匹配开头

    • $:匹配结尾

    • .:匹配任意单个字符

    • [字符集]:匹配字符集中的任意一个字符

    • *:匹配前面的子表达式零次或多次

(2)多表查询

准备数据

create database test2;
use test2;
create table bumen(
id int,  
name varchar(20) 
);
create table renyuan(
id int primary key auto_increment,
name varchar(20),
sex enum('male','female') not null default 'male',
age int,
dep_id int  #部门ID
);
insert into bumen values
(200,'技术'),
(201,'人力资源'),
(202,'销售'),
(203,'运营');insert into renyuan(name,sex,age,dep_id) values
('zhangsan','male',18,200),
('lisi','female',48,201),
('wangwu','male',38,201),
('zhaoliu','female',28,202),
('sunqi','male',18,200),
('zhuba','female',18,204)
;
  • 子查询

    • 定义:在一个SQL查询语句中嵌套另一个查询语句

    • 语法:<表达式>[NOT]IN <子查询>

    • 特点:

      • 可以出现在SELECT、FROM、WHERE等子句中

      • 通常用括号括起来

      • 可以作为表达式、条件或数据源使用

        --示例
        #查询平均年龄在25岁以上的部门名
        mysql> select id, name from bumen where id in (select dep id from renyuan group by dep id having avg(age) >25);#查看技术部员工姓名
        mysql> select name from renyuan where dep id in (select id from bumen where name=’技术’);#查看不足1人的部门名(子查询得到的是有人的部门 id)
        mysql> select name from bumen where id not in (select distinct dep id from renyuan);
  • 多表连接查询

    • 内连接(只连接匹配的行)

      • 特点:

        • 只返回两个表中匹配的行

        • 不匹配的行不会出现在结果中

        • 是最常用的连接类型

    • 左连接(优先显示左表全部记录)

      • 特点:

        • 返回左表的所有行,即使右表中没有匹配

        • 右表无匹配时显示NULL值

        • 优先显示左表全部记录

    • 右连接(优先显示右表全部记录)

      •  特点:

        • 优先显示右表全部记录

        • 左表无匹配时显示NULL值

        • 返回右表的所有行,即使左表中没有匹配

(3)例子
基础查询-- 查询所有字段  
SELECT * FROM students;  -- 查询指定字段  
SELECT name, gender FROM students;  -- 去重查询  
SELECT DISTINCT class_id FROM students;  
条件查询-- 比较运算符(=, !=, >, <, >=, <=)  
SELECT * FROM students WHERE class_id > 100;  -- 逻辑运算符(AND, OR, NOT)  
SELECT * FROM students  
WHERE gender = '女' AND class_id = 101;  -- IN 运算符  
SELECT * FROM students WHERE class_id IN (101, 102);  -- BETWEEN 范围查询  
SELECT * FROM students  
WHERE birth_date BETWEEN '2000-01-01' AND '2005-12-31';  -- LIKE 模糊查询  
SELECT * FROM students WHERE name LIKE '张%';  -- 以“张”开头  
排序与分页-- 按生日升序排序(ASC 可省略)  
SELECT * FROM students ORDER BY birth_date ASC;  -- 按班级降序、姓名升序排序  
SELECT * FROM students  
ORDER BY class_id DESC, name;  -- 分页查询(LIMIT 偏移量, 数量)  
SELECT * FROM students LIMIT 5;       -- 前 5 条  
SELECT * FROM students LIMIT 5, 10;   -- 第 6~15 条  

总结与最佳实践

操作类型核心语法注意事项
创建表CREATE TABLE ...合理选择数据类型,设置主键和约束
插入数据INSERT INTO ... VALUES ...批量插入提升效率,避免频繁单条插入
删除数据DELETE FROM ... WHERE ...先备份再操作,使用事务保证数据安全
更新数据UPDATE ... SET ... WHERE ...明确 WHERE 条件,防止误更新全表
查询数据SELECT ... FROM ... WHERE ... ORDER BY ...避免 SELECT *,按需选择字段;索引

五、MySQL 数据库用户授权

1. 创建用户

-- 基本语法
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';-- 示例
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password123';
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'securepass';  -- %表示任意主机

2. 授权操作

-- 基本语法
GRANT 权限类型 ON 数据库.表 TO '用户名'@'主机';-- 常用权限类型
ALL PRIVILEGES -- 所有权限
SELECT, INSERT, UPDATE, DELETE -- 特定操作权限
CREATE, DROP, ALTER -- 数据库结构权限-- 示例
GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'localhost';
GRANT SELECT, INSERT ON mydb.employees TO 'user2'@'%';
GRANT CREATE, DROP ON *.* TO 'admin'@'localhost';

3. 查看权限

-- 查看当前用户权限
SHOW GRANTS;-- 查看特定用户权限
SHOW GRANTS FOR '用户名'@'主机';-- 示例
SHOW GRANTS FOR 'user1'@'localhost';

4. 撤销权限

-- 基本语法
REVOKE 权限类型 ON 数据库.表 FROM '用户名'@'主机';-- 示例
REVOKE INSERT ON mydb.* FROM 'user1'@'localhost';
REVOKE ALL PRIVILEGES ON *.* FROM 'admin'@'localhost';-- 删除用户
DROP USER '用户名'@'主机';
(一)DROP 与 DELETE 核心区别​

特性​

DROP​

DELETE​

操作对象​

删除整张表(包括表结构、数据、索引)​

删除表中的数据(保留表结构)​

语法格式​

DROP TABLE [IF EXISTS] 表名;​

DELETE FROM 表名 [WHERE 条件];​

日志记录​

不记录事务日志(DDL 操作)​

记录事务日志(DML 操作)​

执行性能​

极快(直接删除物理文件)​

较慢(逐行删除,需维护事务日志)​

事务支持​

不可回滚​

可回滚(未提交事务时)​

索引处理​

同时删除所有索引​

仅删除数据,索引结构保留​

空间释放​

完全释放表空间​

空间标记为可重用,不立即释放​

使用场景​

永久删除无用表​

按条件删除数据或清空表(带事务需求)​

(二)DELETE 与 TRUNCATE 对比​
  1. 功能差异​
  • DELETE:支持 WHERE 条件过滤,清空数据表;delete记录日志,可以实现恢复
  • TRUNCATE:仅能清空全表数据;重置自增主键计数器(从 1 开始)​
  1. 技术特性​

TypeScript

取消自动换行复制

-- DELETE示例(带条件删除)​

DELETE FROM users WHERE create_time < '2023-01-01';​

-- TRUNCATE示例(快速清空表)​

TRUNCATE TABLE users;​

  • 事务支持:DELETE 在 InnoDB 中受事务控制,TRUNCATE 会隐式提交事务​
  • 锁机制:DELETE 使用行锁(InnoDB),TRUNCATE 使用表锁​
  • 触发器:DELETE 会触发 AFTER DELETE 触发器,TRUNCATE 不触发

相关文章:

MySQl 数据库操作

目录 一、MySQL 数据库介绍 二、MySQl 库操作 1. 系统数据库 2. 数据库操作 &#xff08;1&#xff09;创建数据库 &#xff08;2&#xff09;数据库命名规则 &#xff08;3&#xff09;选择数据库 &#xff08;4&#xff09;查看数据库 &#xff08;5&#xff09;删除…...

OpenHarmony launcher开发——删除dock栏

开发环境 OpenHarmony 5.0.0 代码修改 效果...

zst-2001 历年真题 设计模式

设计模式 - 第1题 a 设计模式 - 第2题 一个产品可以产生多个就是抽象&#xff0c;一个就是工厂 比如这样 第二题a是意图 bc: d 设计模式 - 第3题 b 设计模式 - 第4题 类图里全是builder,疯狂暗示 设计模式 - 第5题 aa 设计模式 - 第6题 只有工厂方法是创…...

Vue3 + Element Plus 动态表单实现

完整代码 <template><div class"dynamic-form-container"><el-formref"dynamicFormRef":model"formData":rules"formRules"label-width"auto"label-position"top"v-loading"loading"&g…...

QML AnimatedImage组件详解

目录 引言相关阅读基础知识&#xff1a;AnimatedImage核心属性与方法工程结构与示例展示工程结构示例1&#xff1a;可控制播放/暂停的AnimatedImage示例2&#xff1a;带进度条的AnimatedImage主界面整合&#xff08;SwipeView滑动展示&#xff09; 总结下载链接 引言 在UI开发…...

Ascend的aclgraph(2)_npu_backend中还有些什么秘密?

1 _npu_backend 文章还是从代码开始 import torch_npu, torchair config torchair.CompilerConfig() # 设置图下沉执行模式 config.mode "reduce-overhead" npu_backend torchair.get_npu_backend(compiler_configconfig) opt_model torch.compile(model, back…...

免布线视频桩:智慧城市停车降本增效的破局利器

在智慧城市建设的进程中&#xff0c;传统停车管理面临成本高、效率低、施工复杂等难题。而视频桩作为创新解决方案&#xff0c;以“免布线、智能化”为核心&#xff0c;正逐步改变这一局面。视频桩通过融合物联网与AI技术&#xff0c;实现自动化监测与数据实时管理&#xff0c;…...

Vulfocus靶场-文件上传-2

monstra 文件上传 &#xff08;CVE-2020-13384&#xff09; Monstra 是一个现代化的轻量级内容管理系统。它易于安装、升级和使用。 Monstra CMS 3.0.4版本中存在着一处安全漏洞&#xff0c;该漏洞源于程序没有正确验证文件扩展名。攻击者可以上传特殊后缀的文件执行任意PHP代…...

nvidia-smi 和 nvcc -V 作用分别是什么?

命令1&#xff1a;nvidia-smi 可以查看当前显卡的驱动版本&#xff0c;以及该驱动支持的CUDA版本。 命令2&#xff1a;nvcc -V 可以看到实际安装的CUDA工具包版本为 12.8 更详细的介绍&#xff0c;可以参考如下链接...

力扣刷题(第二十一天)

灵感来源 - 保持更新&#xff0c;努力学习 - python脚本学习 二叉树的最大深度 解题思路 这道题要求计算二叉树的最大深度&#xff0c;即从根节点到最远叶子节点的最长路径上的节点数。可以使用递归或迭代方法解决&#xff1a; 递归法&#xff08;推荐&#xff09;&#…...

AIOps 工具介绍

AIOps&#xff08;智能运维&#xff09;是通过人工智能技术优化IT运维流程的实践&#xff0c;其核心在于利用机器学习、大数据分析等技术实现运维自动化与智能化。以下从定义、核心价值、技术架构及工具等方面展开说明&#xff1a; 一、AIOps的定义与核心价值 AIOps&#xff0…...

4.3【LLaMA-Factory实战】教育大模型:个性化学习路径生成系统全解析

【LLaMA-Factory实战】教育大模型&#xff1a;个性化学习路径生成系统全解析 一、引言 在教育领域&#xff0c;传统"一刀切"的教学模式难以满足学生的个性化需求。本文基于LLaMA-Factory框架&#xff0c;详细介绍如何构建一个个性化学习路径生成系统&#xff0c;包…...

如何构建容器镜像并将其推送到极狐GitLab容器镜像库?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 构建容器镜像并将其推送到容器镜像库 (BASIC ALL) 在构建和推送容器镜像之前&#xff0c;您必须通过容器镜像库的身份验证。 …...

雷赛伺服L7-EC

1电子齿轮比&#xff1a; 电机圈脉冲1万 &#xff08;pa11的值 x 4倍频&#xff09; 2电机刚性&#xff1a; pa003 或者 0x2003 // 立即生效的 3LED显示&#xff1a; PA5.28 1 电机速度 4精度&#xff1a; PA14 //默认30&#xff0c;超过3圈er18…...

爬虫学习————开始

&#x1f33f;自动化的思想 任何领域的发展原因————“不断追求生产方式的改革&#xff0c;即使得付出与耗费精力越来愈少&#xff0c;而收获最大化”。由此&#xff0c;创造出方法和设备来提升效率。 如新闻的5W原则直接让思考过程规范化、流程化。或者前端框架/后端轮子的…...

Shell 脚本编程详细指南:第五章 - 函数与参数传递

Shell 脚本编程详细指南&#xff1a;第五章 - 函数与参数传递 引言&#xff1a;函数在脚本工程化中的核心价值 函数是Shell脚本实现模块化编程的基石。本章将深入解析函数编程的各个方面&#xff0c;从基础定义到高级应用&#xff0c;助您构建可维护、可重用的脚本架构。我们…...

使用 docker 安装 nacos3.x

一、安装 nacos 1.拉取镜像 使用如下指令拉取镜像 docker pull nacos/nacos-server 拉取完成后&#xff0c;可以使用以下命令查看是否拉取到对应的镜像&#xff0c;默认拉取最新镜像 docker images 2.新建挂载文件目录 mkdir -p /home/ubuntu/nacos/conf/mkdir -p /home/…...

Docker的基础操作

docker是一个用Go语言实现的开源项目&#xff0c;可以让我们方便的创建和使用容器&#xff0c;docker将程序以及程序所有的依赖都打包到docker container&#xff0c;这样你的程序可以在任何环境都会有一致的表现&#xff0c;这里程序运行的依赖也就是容器就好比集装箱&#xf…...

权限控制模型全解析:RBAC、ACL、ABAC 与现代混合方案

权限控制模型全解析&#xff1a;RBAC、ACL、ABAC 与现代混合方案 在企业信息系统、SaaS 应用、安全平台中&#xff0c;权限控制模型是确保用户访问安全和功能隔离的基础架构设计之一。本文将系统性梳理常见的权限控制模型&#xff0c;包括 RBAC、ACL、ABAC、DAC、MAC、ReBAC 等…...

内存安全革命:工具、AI 与政策驱动的 C 语言转型之路

引言 在 CVE-2025-21298 等高危漏洞频发的背景下&#xff0c;内存安全已成为全球软件产业的核心议题。根据 CISA 最新数据&#xff0c;2024 年全球 72% 的网络攻击源于内存安全漏洞&#xff0c;而 C/C 代码贡献了其中 89% 的风险。这一严峻现实催生了技术革新的三重浪潮&#…...

电厂数据库未来趋势:时序数据库 + AI 驱动的自优化系统

在电力行业加速数字化与智能化转型的进程中&#xff0c;电厂数据库作为数据管理与应用的核心枢纽&#xff0c;正经历着深刻变革。时序数据库与 AI 技术的融合&#xff0c;正催生一种全新的自优化系统&#xff0c;为电厂设备全生命周期管理带来前所未有的效能提升与创新机遇。这…...

stm32 debug卡在0x1FFFxxxx

自己画的一个四轴飞机电路板&#xff0c;之前还能debug&#xff0c;改了一下mos管两端的电阻&#xff0c;还能正常下载&#xff0c;蓝牙接收也正常&#xff0c;但是debug出问题了&#xff0c;刚下载就自动运行&#xff0c;然后程序就在0x1FFFxxxx附近循环运行&#xff0c;这一块…...

什么是AI写作

一、AI写作简介 AI 写作正在成为未来 10 年最炙手可热的超级技能。已经有越来越多的人通过 AI 写作&#xff0c;在自媒体、公文写作、商业策划等领域实现了提效&#xff0c;甚至产生了变现收益。 掌握 AI 写作技能&#xff0c;不仅能提高个人生产力&#xff0c;还可能在未来的 …...

港大今年开源了哪些SLAM算法?

过去的5个月&#xff0c;香港大学 MaRS 实验室陆续开源了四套面向无人机的在线 SLAM 框架&#xff1a;**FAST-LIVO2 、Point-LIO&#xff08;grid-map 分支&#xff09; 、Voxel-SLAM 、Swarm-LIO2 **。这四套框架覆盖了单机三传感器融合、高带宽高速机动、长时间多级地图优化以…...

PostgreSQL 表空间占用分析与执行计划详解

PostgreSQL 表空间占用分析与执行计划详解 引言 在数据库管理和优化中&#xff0c;了解表占用的空间大小以及查询的执行计划是至关重要的。本文将详细介绍如何在 PostgreSQL 中查看普通表和分区表的空间占用情况&#xff0c;以及如何分析和解读执行计划。 一、查看表空间占用 …...

robotframe启动ride.py

我的双击ride.py会自动用pycharm打开&#xff0c;变成代码文件 解决方法&#xff1a;定位到ride.py所在文件夹&#xff08;在anaconda的scripts里面&#xff09;&#xff0c;文件夹上方输入cmd 再输入该命令即可...

通过Linux系统服务管理IoTDB集群的高效方法

IoTDB是一款专为工业物联网领域设计的高性能时间序列数据库。在生产环境中&#xff0c;确保IoTDB集群的稳定运行至关重要。本文将介绍如何利用Linux系统服务来管理IoTDB集群&#xff0c;以实现高效的启动、监控和自动重启。 一、基本配置与环境需求 为了解决传统IoTDB启动方式…...

机器学习-数据集划分和特征工程

一.数据集划分 API函数&#xff1a; sklearn.model_selection.train_test_split(*arrays&#xff0c;**options) 参数&#xff1a; - arrays&#xff1a;多个数组&#xff0c;可以是列表&#xff0c;numpy数组&#xff0c;也可以是dataframe数据框等 - options&#xff1a;&…...

LDO与DCDC总结

目录 1. 工作原理 2. 性能对比 3. 选型关键因素 4. 典型应用 总结 1. 工作原理 LDO LDO通过线性调节方式实现降压&#xff0c;输入电压需略高于输出电压&#xff08;压差通常为0.2-2V&#xff09;&#xff0c;利用内部PMOS管或PNP三极管调整压差以稳定输出电压。其结构简单…...

5 种距离算法总结!!

大家好&#xff01;我是 我不是小upper&#xff5e; 今天&#xff0c;咱们聚焦一个在机器学习领域极为关键、在实际项目中也高频使用的主题 ——距离算法。在机器学习的世界里&#xff0c;距离算法就像是一把 “度量尺”&#xff0c;专门用来衡量数据点之间的相似性或差异性。…...

【leetcode100】最长重复子数组

1、题目描述 给两个整数数组 nums1 和 nums2 &#xff0c;返回 两个数组中 公共的 、长度最长的子数组的长度 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,3,2,1], nums2 [3,2,1,4,7] 输出&#xff1a;3 解释&#xff1a;长度最长的公共子数组是 [3,2,1] 。示例 2&…...

独立自主的网络浏览器——Ladybird

独立自主的网络浏览器——Ladybird 随着互联网技术的飞速发展&#xff0c;浏览器作为人们探索网络世界的窗口&#xff0c;其技术创新和安全措施至关重要。然而&#xff0c;市场上绝大多数浏览器都是基于现有的成熟引擎进行开发&#xff0c;如何创新突破&#xff0c;成为一个独…...

强化学习三大基本方法-DP、MC、TD

强化学习进阶 本文主要讲解 动态规划法&#xff08;Dynamic Programming DP&#xff09;蒙特卡洛法&#xff08;Monte Carlo MC&#xff09;时序差分法&#xff08;Temporal Difference TD&#xff09; 1. 动态规划法 1.1 动态规划概念 动态规划核心思想&#xff1a; 其核心…...

【数据结构】1. 时间/空间复杂度

- 第 95 篇 - Date: 2025 - 05 - 09 Author: 郑龙浩/仟墨 【数据结构 】 文章目录 数据结构 - 1 -了解数据结构与算法1 什么是数据结构2 什么是算法3 数据结构的重要性&#xff1f; 一 时间复杂度_空间复杂度1 时间复杂度① 表示方法② 推导大 O 的规则:③ **代码示例 ** 2 空…...

k8s存储类型:emptyDir、hostPath、nfs、pvc及存储类storageclass的静态/动态创建pv

Kubernetes存储类型详解 Kubernetes&#xff08;K8s&#xff09;提供了多种存储类型&#xff0c;满足不同的存储需求。这些存储类型包括 emptyDir、hostPath、nfs、PersistentVolumeClaim&#xff08;PVC&#xff09;以及存储类&#xff08;StorageClass&#xff09;的静态和动…...

TRAE 配置blender MCP AI自动3D建模

BlenderMCP - Blender模型上下文协议集成 BlenderMCP通过模型上下文协议(MCP)将Blender连接到Claude AI&#xff0c;允许Claude直接与Blender交互并控制Blender。这种集成实现了即时辅助的3D建模、场景创建和操纵。 1.第一步下载 MCP插件(addon.py):Blender插件&#xff0c;在…...

不拆机查看电脑硬盘型号的常用方法

要比较两个硬件的参数&#xff0c;首先要知道的是硬件准确的型号。不过&#xff0c;如硬盘这类硬件&#xff0c;一般都藏在电脑“肚子里”&#xff0c;拆下看费时又费力。那么&#xff0c;不拆机电脑硬盘型号怎么看呢&#xff1f;接下来&#xff0c;我们就来分享几种方法。 使…...

抖音 “碰一碰” 发视频:短视频社交的新玩法

在短视频社交的广阔天地里&#xff0c;抖音始终站在创新的前沿。2023 年&#xff0c;抖音重磅推出 “碰一碰” 功能&#xff0c;借助近距离通信技术&#xff0c;实现设备间视频的闪电分享&#xff0c;为短视频社交注入全新活力。本文将深入剖析这一功能背后的技术奥秘、丰富应用…...

learning ray之ray核心设计和架构

我们每天都在处理海量、多样且高速生成的数据&#xff0c;这对计算能力提出了前所未有的挑战。传统的单机计算模式在面对日益复杂的机器学习模型和大规模数据集时&#xff0c;往往显得力不从心。更重要的是&#xff0c;数据科学家们本应专注于模型训练、特征工程、超参数调优这…...

深入理解 JavaScript 对象与属性控制

ECMA-262将对象定义为一组属性的无序集合,严格来说,这意味着对象就是一组没有特定顺序的值,对象的每个属性或方法都由一个名称来标识,这个名称映射到一个值. 可以把js的对象想象成一张散列表,其中的内容就是一组名/值对,值可以是数据或者函数 1. 理解对象 创建自定义对象的…...

深入理解 Linux 虚拟文件系统(VFS)

在 Linux 操作系统的世界里&#xff0c;虚拟文件系统&#xff08;Virtual File System&#xff0c;VFS&#xff09;扮演着极为关键的角色。它就像是一座桥梁&#xff0c;连接着各种不同类型的物理文件系统与操作系统以及应用程序&#xff0c;使得我们在使用 Linux 时能够以统一…...

AI云防护真的可以防攻击?你的服务器用群联AI云防护吗?

1. 传统防御方案的局限性 静态规则缺陷&#xff1a;无法应对新型攻击模式&#xff08;如HTTP慢速攻击&#xff09;资源浪费&#xff1a;固定带宽采购导致非攻击期资源闲置 2. AI云防护技术实现 动态流量调度算法&#xff1a; # 智能节点选择伪代码&#xff08;参考群联防护…...

计算机视觉——MedSAM2医学影像一键实现3D与视频分割的高效解决方案

引言 在乡村医院的傍晚高峰时段&#xff0c;扫描室内传来阵阵低沉的嗡鸣声&#xff0c;仿佛一台老旧冰箱的运转声。一位疲惫的医生正全神贯注地检查着当天的最后一位患者——一位不幸从拖拉机上摔下的农民&#xff0c;此刻正呼吸急促。CT 机器飞速旋转&#xff0c;生成了超过一…...

软件工程之软件项目管理深度解析

前文基础&#xff1a; 1.软件工程学概述&#xff1a;软件工程学概述-CSDN博客 2.软件过程深度解析&#xff1a;软件过程深度解析-CSDN博客 3.软件工程之需求分析涉及的图与工具&#xff1a;软件工程之需求分析涉及的图与工具-CSDN博客 4.软件工程之形式化说明技术深度解…...

40. 组合总和 II

题目 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 示例 1: 输入: candidates [10,1…...

java-多态

一、多态的来历 我们先来了解一个业务场景&#xff1a;请设计一个系统&#xff0c;描述主人喂养宠物的场景&#xff0c;首先在这个场景当中应该有”宠物对象“&#xff0c;“宠物对象”应该有一个吃的行为&#xff0c;另外还需要一个“主人对象”&#xff0c;主人应该有一个喂的…...

重构 cluster-db 选择器,新增限制字段 showDb 不影响原功能前提实现查询功能增量拓展

1.为DbSelect组件新添加showDb字段 :show-db"false"时只显示集群不显示数据库信息 重构 cluster-db 选择器&#xff0c;新增限制字段 showDb 不影响原功能前提实现查询功能增量拓展,。保证组件**高可用性,减少冗余方法的编写,提高整体代码复用性和维护性**。 <!-…...

Modbus RTU 详解 + FreeMODBUS移植(附项目源码)

文章目录 前言一、Modbus RTU1.1 通信方式1.2 模式特点1.3 数据模型1.4 常用功能码说明1.5 异常响应码1.6 通信帧格式1.6.1 示例一&#xff1a;读取保持寄存器&#xff08;功能码 0x03&#xff09;1.6.2 示例二&#xff1a;写单个线圈&#xff08;功能码 0x05&#xff09;1.6.3…...

新闻发稿筛选媒体核心标准:影响力、适配性与合规性

1. 评估媒体影响力 权威性与公信力&#xff1a;优先选择央级媒体&#xff0c;其报道常被其他平台转载&#xff0c;传播链条长&#xff0c;加分权重高。 传播数据&#xff1a;参考定海区融媒体中心的赋分办法&#xff0c;关注媒体的阅读量、视频播放量等指标&#xff0c;如阅读…...

豆包:基于多模态交互的智能心理咨询机器人系统设计与效果评估——情感计算框架下的对话机制创新

豆包:基于多模态交互的智能心理咨询机器人系统设计与效果评估——情感计算框架下的对话机制创新 摘要 随着人工智能在心理健康领域的应用深化,本文提出一种融合情感计算与动态对话管理的智能心理咨询机器人系统架构。通过构建“用户状态-情感响应-策略生成”三层模型,结合…...