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

MySQL的基础操作与管理

一.MySQL数据库基本操作知识:

1.SQL语句:

关系型数据库,都是使用SQL语句来管理数据库中的数据。

SQL,即结构化查询语言(Structured Query Language) 。

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

2.SQL分类:

数据库:database

表:table,行:row 列:column

索引:index

视图:view

存储过程:procedure

存储函数:function

触发器:trigger

事件调度器:event scheduler,任务计划

用户:user

权限:privilege

2.SQL语言规范:

  • 在数据库系统中,SQL 语句不区分大小写,建议用大写

  • SQL语句可单行或多行书写,默认以 " ; " 结尾

  • 关键词不能跨多行或简写

  • 用空格和TAB 缩进来提高语句的可读性

  • 子句通常位于独立行,便于编辑,提高可读性

3.数据库对象和命名:

数据库的组件(对象):

数据库、表、索引、视图、用户、存储过程、函数、触发器、事件调度器等

命名规则:

必须以字母开头,后续可以包括字母,数字和三个特殊字符(# _ $)

不要使用MySQL的保留字,如tabble select show databases

4.SQL语句分类:

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

SQL语句分类:

语句代表的意思
DDL数据定义语言,用于创建数据库对象,如库、表、索引等
DML数据操纵语言,用于对表中的数据进行管理
DQL数据查询语言,用于从数据表中查找符合条件的数据记录
DCL数据控制语言,用于设置或者更改数据库用户或角色权限

5.数据类型:

 5.1 常用数据类型:

类型说明
int   整型,用于定义整数类型的数据
fload 单精度浮点4字节32位,准确表示到小数点后六位
double 双精度浮点8字节64位
char   固定长度的字符类型,用于定义字符类型数据。
varchar可变长度的字符类型
text   文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位。指定长度数组

char

char的长度是不可变。char如果存入数据的实际长度比指定长度要小 会补空格至指定长度 如果存入的数据的实际长度大于指定长度,低版本会被截取高版本会报错。

varchar

varchar长度是可变的,默认会加一个隐藏的结束符,因此结束符会多算一个字节。

5.2数据类型参考:

选择正确的数据类型对于获得高性能至关重要,三大原则:

  1. 更小的通常更好,尽量使用可正确存储数据的最小数据类型

  2. 简单就好,简单数据类型的操作通常需要更少的CPU周期

  3. 尽量避免NULL,包含为NULL的列,对MySQL更难优化

 二.管理MySQL数据库:

1.查看数据库结构:

1.1 查看当前服务器中的数据库:

show databases;					#大小写不区分,分号“;”表示结束

1.2 查看数据库中包含的表:

方法一:在库中查看表
use mysql;             #use 数据库名
show tables;           #查看表法二 :在库外查看表
show tables from mysql;    #show tables from 数据库名

1.3 查看表的结构(字段):

use 数据库名;
describe [数据库名.]表名;
可缩写成:desc 表名;

2.创建、删除数据库和表:

2.1创建新的数据库(create database):

#建立数据库 
create database 数据库名;#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;
后文有详细操作及其演示

​ 

2.2删除指定的数据库(drop database):

drop database 数据库名;

​ 

查看:

​ 

2.3创建新的表 (create table):

use 数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。例如:
use zhuzi;
create table students (id smallint unsigned primary key auto_increment, name varchar(10), age tinyint unsigned,gender enum('M','F') default 'M' );#unsigned:取消负数
primary  key:主键
auto_increment: 自增长
enum('M','F'):多选 
default 'M':默认值为 M
decimal(3,2)小数点后两位

2.4 删除指定的数据表(drop table): 

方法一:库内删除
use 数据库名;
drop table 数据表名;方法二:库外删除
#如不用USE进入库中,则需加上数据库名
drop table 数据库名.数据表名;			

3.管理表中的数据记录:

3.1向数据表中插入新的数据记录(insert into):

insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...);例如:
insert into students(id,name,age,passwd) values(2,'lisi',20,'112233' );
insert into students(id,name,age,passwd) values(2,'jiami',22,PASSWORD('123456'));
#PASSWORD('112233'):查询数据记录时,密码字串以加密形式显示;若不使用PASSWORD(),查询时以明文显示
select * from students;提前新建数据表(注意长度设置)
use mysql;
create table students (id smallint unsigned primary key auto_increment, name varchar(10),age tinyint unsigned, passwd varchar(48));

​ ​

3.2 查询数据表内数据记录(select):

select 字段名1,字段名2[,...] from 表名 [where 条件表达式];基本操作:
1. #查询全部数据
select * from 数据表名;
例如:
select * from students;2. #查询指定数据
例如:
select id,name from students where id=2;

 

3.3 修改、更新数据表中的数据记录(update):

update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];例如:
update students set age=19 where id=4;
update students set age=20,passwd='111111' where id=2;    #同时修改age和passwd

3.4 在数据表中删除指定的数据记录(delete from):

delete from 表名 [where 条件表达式];例如:
delete from students where id=2;!!!!注意id并不会顶上去!!!!

4.修改表名和表结构(alter table):

4.1修改表名(rename):

alter table 旧表名 rename 新表名;例如:
alter table students rename xuesheng;

4.2 扩展表结构,增加字段(add):

alter table 表名 add 字段;例如:
alter table xuesheng add address varchar(50) default 'wait get';
#default 'wait get':表示此字段设置默认值 wait get;可与 NOT NULL 配合使用

4.3 修改字段(列)名,添加唯一键(change):

alter table 表名 change 旧列名 新列名 数据类型 [unique key];例如:
alter table xuesheng change name user_name char(30) unique key;
#CHANGE可修改字段名、数据类型、约束等所有项。
验证:
insert into xuesheng values(6,lili,23,234567,NANKING);
失败,因为设置了唯一键,lili不能重复,改成lulu即可
insert into xuesheng values(6,lulu,23,234567,NANKING);

 

4.4删除字段(drop):

alter table 表名 drop 字段名;例如:
#删除表中passwd字段
alter table xuesheng drop passwd;

4.5复制表结构:

create table 新表名 like 旧表名;
#通过LIKE方法,复制旧表的结构生成新表insert into 新表名 (select * from 旧表名);     
#再将旧表数据导入新表

方式二:复制表:

 create table 新表名 (select * from 旧表名);

 

区别:

第一种 like 的  迁移表  表的结构、属性、约束、数据都有

第二种  备份数据 表的复制内容(数据)

4.6临时表的创建:

CREATE TEMPORARY TABLE 表名(字段1 数据类型,字段2 数据类型[, ...] [, PRIMARY KEY (主键名)]);

创建方式与创建表完全一致,最大的区别是,临时表只在当前的数据库连接生效,当数据库连接断开或重新连接终端时,该临时表均失效,无法查看,但可以查询到。 

 

4.7 清除表的两种方式比较:

方式一:delete清空 :

 delete from 表名;

 方式二:truncate清空 :

 truncate table 表名;  

两者区别:

(1)delete 清空属于按照行清空,一行一行进行,效率低,速度慢(对于表数据较多的情况) truncate 相当于删除表数据,保留表结构,重新创建一个与原表结构相同的表 

(2)当数据表中有自增型约束字段时,delete 清除表数据后,在插入数据时,自增字段的数值会接着被删除表数据的最后一个自增数,计数。(eg:被删除表数据最后一行id(自增),为10,再创建时,该id从11开始)。truncate 清空后,自增型字段会从1开始计数

三种删除方式的区别:

drop :

  • 属于DDL
  • 不可回滚(无法恢复)
  • 不可带where
  • 表内容和结构删除
  • 删除速度快

truncate :

  • 属于DDL
  • 不可回滚
  • 不可带where
  • 表内容删除
  • 删除速度快

delete :

  • 属于DML
  • 可回滚(可恢复)
  • 可带where
  • 表结构在,表内容要看where执行的情况
  • 删除速度慢,需要逐行删除

总结:

不再需要一张表的时候,用drop
想删除部分数据行时候,用delete,并且带上where子句

保留表而删除所有数据的时候用 truncate


速度:drop> truncate > delete
安全性:delete 最好

5. mysql 中常见的约束:

  • 主键约束(primary key) PK

主键具有唯一性,不可重复性,不可为空的特点。一般用于删除,查询时条件语句的条件。主键在一张表中只能有一个

  • 自增长约束(auto_increment)

该约束针对于整数类型的字段,当插入该字段数据为空时,系统会根据上一个数,自动加1

  • 非空约束(not null)

该约束到字段后,该字段中的数据插入不能为空

  • 唯一性约束(unique)

该约束添加后,该字段的数据每行均为唯一的,不可重复。唯一性约束可以在一张表中有多个

  • 默认值约束(default)

默认值约束,为该字段设置初始值,如果没有为该字段插入数据,就为初始值

  • 零填充约束(zerofill)

零填充针对整数型的字段,例如int默认为11位,除了填写的数字以外其他用零填充

  • 外键约束(foreign key)FK

外键约束,至少将两张表进行关联。我们将这两张表分为主表和从表,主表的主键作为从表的外键。增加数据时,先进行主表操作,如果增加的数据外键值在主表中没有,就要先在主表中添加。

若进行删除操作,就要先进行从表操作,只要将从表有关主表(主键值)全部清除后,才能清除该主表的主键值

二. 数据库用户管理:

1. 登录用户的管理:

1.1 登录用户的创建:

明文密码创建用户格式:

CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];#解释
'用户名':指定将创建的用户名.
'来源地址':指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%
'密码':若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;
若使用加密密码,需要先使用SELECT PASSWORD('密码');获取密文,再在语句中添PASSWORD '密文';
若省略“IDENTIFIED BY"部分,则用户的密码将为空(不建议使用)

加密密码创建用户:

 SELECT PASSWORD('密码');    #先获取加密的密码​CREATE USER 'lxc2'@'localhost' IDENTIFIED BY PASSWORD '加密的密码';

1.2 查看用户密码的信息:

用户信息存放在 mysql 数据库下的 user 表(MySQL 服务下存在一个系统自带的 mysql 数据库)。

1.3 查看用户信息,创建后的用户保存在mysql数据库的user表里:

use mysql;select user,authentication_string,Host from user;

1.3  登录用户用户名的更改:

重命名指定:

rename user 'lxc'@'locahost' to 'lxc1'@'localhost'

1.4 修改用户密码:

 set password = password('123456');
 

1.5 删除登录用户:

1.6 修改其他用户密码:

set password for 'gg'@'localhost' = password('123456');

普通用户只有修改自身密码的权限

root用户是超级管理员,它不仅可以修改自身密码,还能修改其他用户的密码。 

 1.7 忘记root密码的解决方法:

该操作必须是在数据库本机且为root用户,才可进行

修改 /etc/my.cnf 配置文件,免密登录mysql:

重启数据库服务,无密码登录之后,修改数据库用户中的 root 密码:

update mysql.user SET AUTHENTICATION_STRING = PASSWORD('123') where user='root'
#用于更新MySQL数据库系统表mysql.user中的用户root的密码。AUTHENTICATION_STRING是MySQL 5.7.0以后版本中用于存储密码的字段名

用新密码登录: 

 重新加载:

2. 管理登录用户的权限:

2.2 查看用户已有权限的操作:

show grants;
#查看当前用户(自己)的权限

show grants for 'gg'@'localhost';#查看其他用户的权限

2.3 授权操作:

[NO_AUTO_CREATE_USER], 即在grant语句中禁止创建空密码的账户,使用grant语法创建用户必须带上 “identified by”关键字设置账户密码,否则就被认为是非法的创建语句。 

2.3.1 对存在的用户进行授权:
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];

权限列表:  用于列出授权使用的各种数据库操作,以逗号进行分隔如"select, insert,update"。 使用"all"表示所有权限(实际上部分权限仍无法使用,只包括大部分权限),可授权执行任何操作。

数据库名.表名:  用于指定授权操作的数据库和表的名称,其中可以使用通配符*。 例如,使用"mysql.*" 表示授权操作的对象为mysql数据库中的所有表。  ​  '用户名'@'来源地址':  用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。 来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址。

IDENTIFIED BY:  用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略"IDENTIFIED BY"部分,则用户的密码将为空。

grant select,insert on study.class to 'lxc'@'localhost';show grants for 'lxc'@'localhost';
2.3.2 对不存在的用户进行创建并授权 :
 GRANT ALL PRIVILEGES ON *.* TO  '用户名'@'来源地址' IDENTIFIED BY '密码';

2.4 撤销用户权限:

 revoke 权限列表/ALL on 库名.表名 from '用户名'@'来源地址';
2.5 用户的远程登录:

用户授权

 grant all privileges on *.* to 'cnm'@'192.168.91.%' identified by '123';

三.总结:

创建及删除数据库和表:

create database 库名;

create table 表名(字段1 数据类型 [属性], 字段2 .....);

DROP TABLE [数据库名.]表名;

DROP DATABASE 数据库名;
insert into 表名 values (所有字段的值);

表数据的增删改查: 

insert into 表名 (指定字段名称) values(字段的值);

delete from 表名 [where ...];

update 表名 set 字段=值[, 字段2=....] [where ...];

select 字段1[,字段2....] from 表名 [where ...];

select * from 表名;

相关文章:

MySQL的基础操作与管理

一.MySQL数据库基本操作知识: 1.SQL语句: 关系型数据库,都是使用SQL语句来管理数据库中的数据。 SQL,即结构化查询语言(Structured Query Language) 。 SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控…...

Pytorch 中的forward 函数内部原理

PyTorch中的forward函数是nn.Module类的一部分,它定义了模型的前向传播规则。当你创建一个继承自nn.Module的类时,你实际上是在定义网络的结构。forward函数是这个结构中最关键的部分,因为它指定了数据如何通过网络流动。 单独设计 forward …...

四、C语言中的数组:如何输入与输出二维数组(数组,完)

本章的学习内容如下 四、C语言中的数组:数组的创建与初始化四、C语言中的数组:数组的输入与元素个数C语言—第6次作业—十道代码题掌握一维数组四、C语言中的数组:二维数组 1.二维数组的输入与输出 当我们输入一维数组时需要一个循环来遍历…...

基于python+vue智慧农业小程序flask-django-php-nodejs

传统智慧农业采取了人工的管理方法,但这种管理方法存在着许多弊端,比如效率低下、安全性低以及信息传输的不准确等,同时由于智慧农业中会形成众多的个人文档和信息系统数据,通过人工方法对知识科普、土壤信息、水质信息、购物商城…...

好用的GPTs:指定主题搜索、爬虫、数据清洗、数据分析自动化

好用的GPTs:指定主题搜索、爬虫、数据清洗、数据分析自动化 Scholar:搜索 YOLO小目标医学方面最新论文Scraper:爬虫自动化数据清洗数据分析 点击 Explore GPTs: Scholar:搜索 YOLO小目标医学方面最新论文 搜索 Scho…...

使用Qt自带windeployqt打包QML的exe

1.在开始菜单输入CMD找到对应的Qt开发版本,我的是Qt5.15.2(MinGW 8.1.0 64-bit)。 2.在控制台输入如下字符串,格式为 windeployqt exe绝对路径 --qmldir 工程的绝对路径 如下是我的打包代码。 我需要打包的exe的绝对路径 D:\Prj\Code\Demo\QML\Ana…...

C代码快速傅里叶变换-分类和推理-常微分和偏微分方程

要点 C代码例程函数计算实现: 线性代数方程解:全旋转高斯-乔丹消元,LU分解前向替换和后向替换,对角矩阵处理,任意矩阵奇异值分解,稀疏线性系统循环三对角系统解,将矩阵从完整存储模式转换为行索…...

计算机组成原理 双端口存储器原理实验

一、实验目的 1、了解双端口静态随机存储器IDT7132的工作特性及使用方法 2、了解半导体存储器怎样存储和读出数据 3、了解双端口存储器怎样并行读写,产生冲突的情况如何 二、实验任务 (1)按图7所示,将有关控制信号和和二进制开关对应接好,…...

[音视频学习笔记]六、自制音视频播放器Part1 -新版本ffmpeg,Qt +VS2022,都什么年代了还在写传统播放器?

前言 参考了雷神的自制播放器项目,100行代码实现最简单的基于FFMPEGSDL的视频播放器(SDL1.x) 不过老版本的代码参考意义不大了,我现在准备使用Qt VS2022 FFmpeg59重写这部分代码,具体的代码仓库如下: …...

GPT-5可能会在今年夏天作为对ChatGPT的“实质性改进”而到来

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会

摘要:本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会,内容主要分为以下四部分: 1、Flink CDC 新仓库,新流程 2、Flink CDC 新定位,新玩法 3、Flin…...

部署单节点k8s并允许master节点调度pod

安装k8s 需要注意的是k8s1.24 已经弃用dockershim,现在使用docker需要cri-docker插件作为垫片,对接k8s的CRI。 硬件环境: 2c2g 主机环境: CentOS Linux release 7.9.2009 (Core) IP地址: 192.168.44.161 一、 主机配…...

Django日志(三)

内置TimedRotatingFileHandler 按时间自动切分的log文件,文件后缀 %Y-%m-%d_%H-%M-%S , 初始化参数: 注意 发送邮件的邮箱,开启SMTP服务 filename when=h 时间间隔类型,不区分大小写 S:秒 M:分钟 H:小时 D:天 W0-W6:星期几(0 = 星期一) midnight:如果atTime未指定,…...

【吾爱破解】Android初级题(二)的解题思路 _

拿到apk,我们模拟器打开看一下 好好,抽卡模拟器是吧😀 jadx反编译看一下源码 找到生成flag的地方,大概逻辑就是 java signatureArr getPackageManager().getPackageInfo(getPackageName(), 64).signaturesfor (int i 0; i &l…...

富格林:谨记可信计策安全做单

富格林悉知,现货黄金由于活跃的行情给投资者带来不少的盈利的机会,吸引着众多的投资者进场做单。但在黄金投资市场中一定要掌握可信的投资方法,提前布局好策略,这样才能增加安全获利的机会。不建议直接进入市场做单,因…...

【工具使用】mingw64编译完成运行可执行文件时出现乱码

一,问题现象: notepad设置的时UTF-8编码: mingw64命令行设置的编码格式为: 二,问题原因: 在执行的时候,windows下的编码格式是GBK 三,解决方法: 编译时&#xff0…...

WebSocket 使用示例,后台为nodejs

效果图 页面代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>WebSocket Client</title&g…...

【算法】力扣【树形DP】687. 最长同值路径

【算法】力扣【树形DP】687. 最长同值路径 687. 最长同值路径 文章目录 【算法】力扣【树形DP】687. 最长同值路径题目描述输入输出示例 题解思路代码描述 复杂度分析总结 题目描述 本题要求在给定的二叉树中寻找最长的同值路径&#xff0c;这个路径中的每个节点的值都相同。…...

S32DS用PE调试报错

1、问题&#xff1a; 在S32DS上用PE进行调试报错&#xff1a; Error while launching command: --version 2、解决方法 按下图操作 填入内容&#xff1a; ${cross_prefix}gdb${cross_suffix}...

Day02-DDLDMLDQL(定义,操作,查询)(联合查询,子查询,字符集和校对集,MySQL5.7乱码问题)

文章目录 Day02-DDL&DML和DQL学习目标1. SQL语言的组成2. DDL2.1 数据库结构2.2 表结构2.3 约束2.3.1 主键约束(重要)(1)特点(2) 添加主键(3)删除主键(了解) 2.3.2 自增约束(1)特点(2) 添加自增约束(3)删除自增约束(了解) 2.3.3 非空约束(1)添加非空约束(2) 删除非空约束 2…...

AcousticSense AI快速上手:小白也能用的音乐分析工具

AcousticSense AI快速上手&#xff1a;小白也能用的音乐分析工具 1. 音乐分析新方式&#xff1a;让AI帮你"看"音乐 你是否曾经听过一首歌&#xff0c;却说不清它到底是什么风格&#xff1f;是爵士的随性&#xff0c;还是蓝调的忧郁&#xff1f;或者它融合了电子和摇…...

从ESP8266到ESP32-C6:一文看懂乐鑫芯片的‘家族进化史’与背后的物联网十年

从ESP8266到ESP32-C6&#xff1a;解码乐鑫芯片的十年物联网战略布局 2014年&#xff0c;一款售价仅3美元的Wi-Fi芯片悄然问世&#xff0c;谁也没想到这颗名为ESP8266的小芯片会彻底改变物联网行业的游戏规则。当时市面上的Wi-Fi模块价格普遍在10美元以上&#xff0c;且需要外接…...

批量TXT去重工具使用说明:单独去重或合并去重,支持忽略空行/忽略大小写/遍历子目录/保持目录结构/编码检测

【批量TXT去重工具】用于批量处理 TXT 文件的按行去重与合并输出&#xff0c;适合名单清洗、关键词整理、链接去重、日志行去重、素材文案去重等场景。支持拖拽输入、遍历子目录、保持原路径结构、多线程并行处理&#xff0c;并提供详细统计。 一、支持的输入方式 1&#xff…...

Qwen3-VL-8B多模态工具亲测:上传图片就能问,本地部署真简单

Qwen3-VL-8B多模态工具亲测&#xff1a;上传图片就能问&#xff0c;本地部署真简单 1. 工具概览&#xff1a;你的私人视觉助手 想象一下&#xff0c;当你看到一张复杂的图表或一张陌生的植物照片时&#xff0c;只需要上传图片并提问&#xff0c;就能立即获得专业级的解释和分…...

L3GD20陀螺仪驱动开发:寄存器配置、中断与校准实战

1. L3GD20三轴数字陀螺仪驱动库技术解析与工程实践L3GD20是由意法半导体&#xff08;STMicroelectronics&#xff09;推出的低功耗、高精度三轴数字陀螺仪传感器&#xff0c;广泛应用于惯性导航、姿态解算、运动检测及无人机飞控等嵌入式系统中。该器件采用MEMS工艺制造&#x…...

实战:用MAF和国内大模型(如Kimi、通义千问)打造一个需要“领导审批”的智能体

实战&#xff1a;用MAF和国内大模型打造审批流程智能体 当企业开始尝试将AI能力整合到核心业务流程时&#xff0c;最常遇到的障碍不是技术实现&#xff0c;而是如何确保自动化流程的安全可控。想象这样一个场景&#xff1a;财务部门的报销系统接入了AI助手&#xff0c;员工只需…...

AgentCPM-Report部署案例:Pixel Epic在金融风控部门的实时舆情简报生成

AgentCPM-Report部署案例&#xff1a;Pixel Epic在金融风控部门的实时舆情简报生成 1. 项目背景与需求分析 金融风控部门每天需要处理海量的市场舆情信息&#xff0c;传统的人工简报制作方式面临三大挑战&#xff1a; 时效性不足&#xff1a;人工整理需要4-6小时&#xff0c…...

Cursor Pro免费升级终极指南:三步解锁无限AI编程体验

Cursor Pro免费升级终极指南&#xff1a;三步解锁无限AI编程体验 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tria…...

Springboot 实现多数据源(PostgreSQL 和 SQL Server)连接匚

一、环境准备 Free Spire.Doc for Python 是免费 Python 文档处理库&#xff0c;无需依赖 Microsoft Word&#xff0c;支持 Word 文档的创建、编辑、转换等操作&#xff0c;其中内置的 Markdown 解析能力&#xff0c;能高效实现 Markdown 到 Doc/Docx 格式的转换&#xff0c;且…...

python opencv-python

# 聊聊 OpenCV-Python 那点事儿 如果你在计算机视觉这个圈子里待过一阵子&#xff0c;大概率会听过 OpenCV 的大名。而 OpenCV-Python&#xff0c;可以看作是这座庞大宫殿的一扇侧门——它保留了宫殿里绝大多数珍宝&#xff0c;却提供了一条更轻快、更亲切的进入路径。 它究竟是…...