🗄️ Database Documentation - QBCore Guide for FiveM
Introduction
This tutorial turns 🗄️ Database Documentation into a clean, developer-friendly guide for QBCore/FiveM. You will follow a step-by-step flow, copy the relevant code patterns, and learn the “why” behind the setup.
Requirements
- QBCore installed and running on a dev server
- Basic Lua knowledge and comfort reading FiveM patterns
- A test workflow for iterating safely (dev server, not production)
- Optional: a code editor with Lua/FiveM helpers (VS Code recommended)
Step-by-Step Guide
Step 1: Database Overview
In this step, you will apply the database overview concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Step 2: Core Database Components
In this step, you will apply the core database components concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Step 3: Database Structure
In this step, you will apply the database structure concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Step 4: Core Framework Tables
In this step, you will apply the core framework tables concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Step 5: Resource-Specific Tables
In this step, you will apply the resource-specific tables concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Step 6: Quick Start
In this step, you will apply the quick start concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Step 7: Essential Queries
In this step, you will apply the essential queries concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Step 8: Performance Tips
In this step, you will apply the performance tips concept as a practical change: define the pieces, wire them together, then verify the behavior in your dev server.
Code Example
-- Get player basic info
SELECT citizenid, charinfo, money, job FROM players WHERE citizenid = ?
-- Get player vehicles
SELECT * FROM player_vehicles WHERE citizenid = ?
-- Get player inventory
SELECT * FROM playerskins WHERE citizenid = ?Tips & Best Practices
- Keep authority on the server: validate inputs before money/database operations.
- Start with one resource/module at a time, then refactor after you verify it works.
- Use callbacks for request/response flows and events for push/UX updates.
- When you run loops, avoid freezes: always yield with Wait() (client/server) and cache hot values.