重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
sqlserver-expert by fabriciofs/mcp-sql-server
npx skills add https://github.com/fabriciofs/mcp-sql-server --skill sqlserver-expert你是一位精通 Microsoft SQL Server 的 DBA 和开发专家。
WITH RankedUsers AS (
SELECT
Id, Name, Email,
ROW_NUMBER() OVER (PARTITION BY Department ORDER BY HireDate) AS RowNum
FROM Users
)
SELECT * FROM RankedUsers WHERE RowNum = 1;
SELECT
OrderId,
OrderDate,
Amount,
SUM(Amount) OVER (ORDER BY OrderDate) AS RunningTotal,
LAG(Amount) OVER (ORDER BY OrderDate) AS PreviousAmount,
AVG(Amount) OVER (PARTITION BY CustomerId) AS CustomerAvg
FROM Orders;
MERGE INTO TargetTable AS target
USING SourceTable AS source
ON target.Id = source.Id
WHEN MATCHED THEN
UPDATE SET target.Name = source.Name
WHEN NOT MATCHED THEN
INSERT (Id, Name) VALUES (source.Id, source.Name)
WHEN NOT MATCHED BY SOURCE THEN
DELETE;
import sql from "mssql";
const config: sql.config = {
user: process.env.SQL_USER,
password: process.env.SQL_PASSWORD,
server: process.env.SQL_SERVER || "localhost",
database: process.env.SQL_DATABASE,
options: {
encrypt: true,
trustServerCertificate: true,
enableArithAbort: true,
},
pool: {
min: 2,
max: 10,
idleTimeoutMillis: 30000,
},
};
let pool: sql.ConnectionPool | null = null;
export async function getPool(): Promise<sql.ConnectionPool> {
if (!pool) {
pool = await sql.connect(config);
}
return pool;
}
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
const pool = await getPool();
const request = pool.request();
request.input("userId", sql.Int, userId);
request.input("status", sql.VarChar(50), status);
const result = await request.query(`
SELECT * FROM Users
WHERE Id = @userId AND Status = @status
`);
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
ORDER BY TABLE_SCHEMA, TABLE_NAME;
SELECT
c.COLUMN_NAME,
c.DATA_TYPE,
c.CHARACTER_MAXIMUM_LENGTH,
c.IS_NULLABLE,
c.COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS c
WHERE c.TABLE_SCHEMA = @schema AND c.TABLE_NAME = @table
ORDER BY c.ORDINAL_POSITION;
SELECT
i.name AS IndexName,
i.type_desc AS IndexType,
i.is_unique,
i.is_primary_key,
STRING_AGG(c.name, ', ') AS Columns
FROM sys.indexes i
JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
WHERE i.object_id = OBJECT_ID(@tableName)
GROUP BY i.name, i.type_desc, i.is_unique, i.is_primary_key;
SELECT
fk.name AS FK_Name,
tp.name AS ParentTable,
cp.name AS ParentColumn,
tr.name AS ReferencedTable,
cr.name AS ReferencedColumn
FROM sys.foreign_keys fk
JOIN sys.foreign_key_columns fkc ON fk.object_id = fkc.constraint_object_id
JOIN sys.tables tp ON fkc.parent_object_id = tp.object_id
JOIN sys.columns cp ON fkc.parent_object_id = cp.object_id AND fkc.parent_column_id = cp.column_id
JOIN sys.tables tr ON fkc.referenced_object_id = tr.object_id
JOIN sys.columns cr ON fkc.referenced_object_id = cr.object_id AND fkc.referenced_column_id = cr.column_id
WHERE tp.name = @tableName;
SELECT * - 明确列出所需列SET NOCOUNT ONOFFSET/FETCH 或 ROW_NUMBER() 进行分页每周安装量
50
代码仓库
GitHub 星标数
1
首次出现
2026年1月27日
安全审计
已安装于
opencode47
codex46
gemini-cli46
github-copilot45
kimi-cli43
cursor42
You are a DBA and developer expert in Microsoft SQL Server.
WITH RankedUsers AS (
SELECT
Id, Name, Email,
ROW_NUMBER() OVER (PARTITION BY Department ORDER BY HireDate) AS RowNum
FROM Users
)
SELECT * FROM RankedUsers WHERE RowNum = 1;
SELECT
OrderId,
OrderDate,
Amount,
SUM(Amount) OVER (ORDER BY OrderDate) AS RunningTotal,
LAG(Amount) OVER (ORDER BY OrderDate) AS PreviousAmount,
AVG(Amount) OVER (PARTITION BY CustomerId) AS CustomerAvg
FROM Orders;
MERGE INTO TargetTable AS target
USING SourceTable AS source
ON target.Id = source.Id
WHEN MATCHED THEN
UPDATE SET target.Name = source.Name
WHEN NOT MATCHED THEN
INSERT (Id, Name) VALUES (source.Id, source.Name)
WHEN NOT MATCHED BY SOURCE THEN
DELETE;
import sql from "mssql";
const config: sql.config = {
user: process.env.SQL_USER,
password: process.env.SQL_PASSWORD,
server: process.env.SQL_SERVER || "localhost",
database: process.env.SQL_DATABASE,
options: {
encrypt: true,
trustServerCertificate: true,
enableArithAbort: true,
},
pool: {
min: 2,
max: 10,
idleTimeoutMillis: 30000,
},
};
let pool: sql.ConnectionPool | null = null;
export async function getPool(): Promise<sql.ConnectionPool> {
if (!pool) {
pool = await sql.connect(config);
}
return pool;
}
const pool = await getPool();
const request = pool.request();
request.input("userId", sql.Int, userId);
request.input("status", sql.VarChar(50), status);
const result = await request.query(`
SELECT * FROM Users
WHERE Id = @userId AND Status = @status
`);
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
ORDER BY TABLE_SCHEMA, TABLE_NAME;
SELECT
c.COLUMN_NAME,
c.DATA_TYPE,
c.CHARACTER_MAXIMUM_LENGTH,
c.IS_NULLABLE,
c.COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS c
WHERE c.TABLE_SCHEMA = @schema AND c.TABLE_NAME = @table
ORDER BY c.ORDINAL_POSITION;
SELECT
i.name AS IndexName,
i.type_desc AS IndexType,
i.is_unique,
i.is_primary_key,
STRING_AGG(c.name, ', ') AS Columns
FROM sys.indexes i
JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
WHERE i.object_id = OBJECT_ID(@tableName)
GROUP BY i.name, i.type_desc, i.is_unique, i.is_primary_key;
SELECT
fk.name AS FK_Name,
tp.name AS ParentTable,
cp.name AS ParentColumn,
tr.name AS ReferencedTable,
cr.name AS ReferencedColumn
FROM sys.foreign_keys fk
JOIN sys.foreign_key_columns fkc ON fk.object_id = fkc.constraint_object_id
JOIN sys.tables tp ON fkc.parent_object_id = tp.object_id
JOIN sys.columns cp ON fkc.parent_object_id = cp.object_id AND fkc.parent_column_id = cp.column_id
JOIN sys.tables tr ON fkc.referenced_object_id = tr.object_id
JOIN sys.columns cr ON fkc.referenced_object_id = cr.object_id AND fkc.referenced_column_id = cr.column_id
WHERE tp.name = @tableName;
SELECT * - list columns explicitlySET NOCOUNT ON in stored proceduresOFFSET/FETCH or ROW_NUMBER()Weekly Installs
50
Repository
GitHub Stars
1
First Seen
Jan 27, 2026
Security Audits
Gen Agent Trust HubPassSocketWarnSnykPass
Installed on
opencode47
codex46
gemini-cli46
github-copilot45
kimi-cli43
cursor42
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
125,600 周安装
移动端响应式设计指南:CSS断点、Tailwind与触摸交互实现移动优先Web应用
314 周安装
React Three Fiber 加载器使用指南:GLTF/GLB 模型加载与优化技巧
313 周安装
Agentic Workflow 多智能体流水线模式:AI任务编排与自动化实施架构
316 周安装
llama.cpp 中文指南:纯 C/C++ LLM 推理,CPU/非 NVIDIA 硬件优化部署
311 周安装
Python开发最佳实践指南:现代项目结构、类型提示、异步编程与FastAPI模式
310 周安装
FastAPI专家技能:高性能异步API开发、微服务架构与生产部署指南
315 周安装