<< All versions
Skill v1.0.1
currentAutomated scan100/100thechandanbhagat/claude-skills/sql
1 files
──Details
PublishedOctober 21, 2026 at 06:38 PM
Content Hashsha256:0476accb28a288df...
Git SHA4aa1740a936a
Bump Typepatch
──Files
Files (1 file, 2.9 KB)
SKILL.md2.9 KBactive
SKILL.md · 146 lines · 2.9 KB
version: "1.0.1" name: sql description: Write SQL queries, optimize database performance, design schemas, and debug SQL issues. Use for database operations, query optimization, and schema design. allowed-tools: Read, Bash
SQL Skill
Comprehensive SQL assistance for database operations.
1. Query Writing
Basic Queries:
sql
-- SELECT with WHERESELECT name, email FROM users WHERE active = true;-- JOIN operationsSELECT u.name, o.totalFROM users uINNER JOIN orders o ON u.id = o.user_id;-- Aggregate functionsSELECT category, COUNT(*), AVG(price)FROM productsGROUP BY categoryHAVING COUNT(*) > 5;-- SubqueriesSELECT * FROM usersWHERE id IN (SELECT user_id FROM orders WHERE total > 1000);
2. Query Optimization
Use EXPLAIN:
sql
EXPLAIN ANALYZESELECT * FROM users WHERE email = 'test@example.com';-- Look for:-- - Sequential scans (add indexes)-- - High cost values-- - Nested loops on large tables
Add Indexes:
sql
-- Single column indexCREATE INDEX idx_users_email ON users(email);-- Multi-column indexCREATE INDEX idx_orders_user_date ON orders(user_id, created_at);-- Unique indexCREATE UNIQUE INDEX idx_users_username ON users(username);-- Partial indexCREATE INDEX idx_active_users ON users(email) WHERE active = true;
3. Schema Design
Tables:
sql
CREATE TABLE users (id SERIAL PRIMARY KEY,email VARCHAR(255) UNIQUE NOT NULL,name VARCHAR(100) NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);CREATE TABLE orders (id SERIAL PRIMARY KEY,user_id INTEGER REFERENCES users(id) ON DELETE CASCADE,total DECIMAL(10,2) NOT NULL,status VARCHAR(50) DEFAULT 'pending',created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
4. Migrations
Add Column:
sql
ALTER TABLE users ADD COLUMN phone VARCHAR(20);-- Add with defaultALTER TABLE users ADD COLUMN verified BOOLEAN DEFAULT false;
Modify Column:
sql
ALTER TABLE users ALTER COLUMN email TYPE VARCHAR(320);ALTER TABLE users ALTER COLUMN name SET NOT NULL;
5. Transactions
sql
BEGIN;UPDATE accounts SET balance = balance - 100 WHERE id = 1;UPDATE accounts SET balance = balance + 100 WHERE id = 2;COMMIT;-- With error handlingBEGIN;-- operationsSAVEPOINT sp1;-- more operationsROLLBACK TO sp1;COMMIT;
6. Common Patterns
Pagination:
sql
SELECT * FROM productsORDER BY created_at DESCLIMIT 20 OFFSET 40;
Upsert:
sql
INSERT INTO users (email, name)VALUES ('test@example.com', 'Test')ON CONFLICT (email)DO UPDATE SET name = EXCLUDED.name;
Window Functions:
sql
SELECTname,salary,RANK() OVER (ORDER BY salary DESC) as rankFROM employees;
When to Use This Skill
Use /sql when working with databases, optimizing queries, or designing schemas.