
SQL commands: A practical SQL primer for reading, inserting, updating and deleting rows safely, along with basic index management. Examples use generic database syntax. This guide explains what each command does, its syntax, practical examples, useful options, and common mistakes. Commands are shown for typical installations; flags can vary across operating-system and tool versions.
Before you start
Open a terminal appropriate for the operating system shown in the examples. Check that the required tool is installed and that you are running it with the permissions needed for your task. Replace sample names, paths, hostnames and IDs with values from your own environment.
Syntax at a glance
Square brackets usually indicate optional arguments, while uppercase words such as FILE, HOST and PACKAGE are placeholders that you replace. Keep quotes around paths or text that contains spaces. Commands should be tested on a safe sample before being used in production.
Quick command reference
| Command | What it does | Example | Useful options |
|---|---|---|---|
SELECT | Read rows from one or more tables | SELECT title, status FROM posts WHERE status = 'published'; | WHERE filters; ORDER BY sorts; LIMIT caps the result count |
INSERT | Add a row to a table | INSERT INTO tags (name) VALUES ('guides'); | Use parameterized queries in application code to avoid injection |
UPDATE | Change values in existing rows | UPDATE posts SET status = 'draft' WHERE slug = 'example-post'; | A WHERE clause limits affected rows |
DELETE | Remove rows from a table | DELETE FROM temp_jobs WHERE status = 'done'; | Use a transaction when several changes must succeed together |
CREATE INDEX | Add an index to speed up selected lookups | CREATE INDEX idx_posts_status ON posts(status); | Composite indexes depend on column order and query patterns |
Command syntax and examples explained
1. SELECT
Purpose: Read rows from one or more tables.
Syntax
SELECT columns FROM table WHERE condition;Example
SELECT title, status FROM posts WHERE status = 'published';Options and notes: WHERE filters; ORDER BY sorts; LIMIT caps the result count.
Start with SELECT when exploring data; always inspect the target table first.
2. INSERT
Purpose: Add a row to a table.
Syntax
INSERT INTO table (col1, col2) VALUES (?, ?);Example
INSERT INTO tags (name) VALUES ('guides');Options and notes: Use parameterized queries in application code to avoid injection.
Unique constraints can reject duplicate keys.
3. UPDATE
Purpose: Change values in existing rows.
Syntax
UPDATE table SET column = ? WHERE id = ?;Example
UPDATE posts SET status = 'draft' WHERE slug = 'example-post';Options and notes: A WHERE clause limits affected rows.
Without WHERE, an UPDATE can affect every row in the table.
4. DELETE
Purpose: Remove rows from a table.
Syntax
DELETE FROM table WHERE condition;Example
DELETE FROM temp_jobs WHERE status = 'done';Options and notes: Use a transaction when several changes must succeed together.
Preview target rows with SELECT before a destructive delete.
5. CREATE INDEX
Purpose: Add an index to speed up selected lookups.
Syntax
CREATE INDEX index_name ON table(column);Example
CREATE INDEX idx_posts_status ON posts(status);Options and notes: Composite indexes depend on column order and query patterns.
Indexes improve reads for some queries but add write and storage overhead.
Common mistakes and troubleshooting
- Command not found: confirm the tool is installed and available on your PATH; open a new terminal after changing PATH.
- Permission denied: verify the current account, file permissions and target path. Use administrator/root privileges only when genuinely required.
- Unexpected output: check the command version, quoting, current directory and exact arguments. Consult the local help or manual for options supported by your build.
- Destructive operations: preview the target and keep a backup before deleting data, rewriting history, flashing a partition or changing system configuration.
Safety tips
Review every command before running it, especially commands that delete files, change permissions, flash firmware, alter a database or expose a network service. For network scanning and remote administration, work only on devices and systems you own or are authorized to test. Keep credentials, private keys, access tokens and log files private.
Frequently asked questions
Do these commands work on every system?
Not always. Some commands are specific to Windows, Linux, Android, a particular package manager or an installed tool version. Use the syntax shown for your platform and check local help when a flag is unavailable.
Can I copy and run every example exactly?
Use the examples as templates. Replace placeholders such as filenames, package IDs, hostnames and paths with your own values, and verify the effect before executing a command that changes data or system state.
Conclusion
Use this reference as a starting point, then confirm flags in the tool’s official help or manual for your installed version. A clear understanding of syntax, options and side effects makes command-line work more reliable.