Lecție de dactilografiere: Programação em linguagem SQL

închideți și începeți să tastați

A dactilografie é significativa na programação. Você será mais eficiente ao usar técnicas de digitação rápida para escrever código na linguagem de programação SQL.

Vamos aprender mais sobre a linguagem SQL e a dactilografia ao programar em SQL.

Programação em SQL e dactilografia

Învățarea SQL și exersarea dactilografiei merg foarte bine împreună. Interogările SQL sunt pline de paranteze, virgule, operatori și ghilimele. Greșeli mici, cum ar fi o ghilimea greșită sau lipsa unui punct și virgulă, pot face ca întreaga interogare să eșueze. Atunci când scrii SQL, este util să știi ce părți din sintaxă sunt comune între diferite baze de date și care sunt specifice fiecărui sistem. Acest articol se concentrează în principal pe PostgreSQL, dar menționează și MySQL, SQLite și SQL Server acolo unde sintaxa diferă.

Ce este caracteristic pentru sintaxa SQL?

SQL (Structured Query Language) este un limbaj declarativ. În loc să descrii pas cu pas cum să obții datele, declari ce date dorești. Aproape fiecare instrucțiune începe cu un cuvânt-cheie precum SELECT, INSERT sau UPDATE. Ordinea clauzelor este fixă: SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY .... PostgreSQL și MySQL împărtășesc această ordine, deci dacă o înveți într-un sistem, o poți aplica și în celălalt.

SELECT id, name
FROM customers
WHERE active = true
ORDER BY created_at DESC;

Caractere speciale frecvent utilizate

SQL conține multe semne de punctuație. Parantezele () înconjoară funcțiile și condițiile. Virgulele , separă coloanele. Punctul . este folosit pentru scheme și numele tabelelor, cum ar fi public.users. Ghilimelele simple '...' marchează șirurile de caractere. PostgreSQL folosește ghilimele duble "..." pentru identificatori, în timp ce MySQL folosește backticks `...`. În SQL Server apar și paranteze drepte [...]. Exersarea acestor simboluri ajută la scrierea corectă a interogărilor.

-- Șir de caractere
SELECT * FROM books WHERE title = 'War and Peace';

-- Identificatori cu spații (PostgreSQL)
SELECT "Order ID", "Customer Name" FROM orders;

Litere mari și mici

Prin convenție, cuvintele-cheie SQL sunt scrise adesea cu majuscule: SELECT, FROM, WHERE. Acest lucru le face mai vizibile, dar nu este obligatoriu. În PostgreSQL, identificatorii nescrişi între ghilimele sunt convertiți automat în litere mici, astfel încât MyTable și mytable sunt considerate la fel. În MySQL, comportamentul depinde de sistemul de operare. Pentru exercițiu, este comun să scrii cuvintele-cheie cu majuscule pentru a evidenția structura interogării.

Punct și virgulă și sfârșitul instrucțiunilor

În PostgreSQL, fiecare instrucțiune se termină de obicei cu punct și virgulă ;. Omiterea acestuia poate bloca execuția în instrumente precum psql. MySQL și SQLite sunt mai permisive în modul interactiv, dar punctul și virgula rămân o bună practică. Acest mic caracter este adesea cauza eșecurilor.

Interogări SELECT și join-uri

Scrierea interogărilor înseamnă adesea scrierea de join-uri. PostgreSQL folosește INNER JOIN, LEFT JOIN și RIGHT JOIN. Fiecare join necesită cuvântul-cheie ON urmat de o condiție. Un spațiu lipsă sau o greșeală de tastare în condiție invalidează interogarea. Exersarea join-urilor ajută la precizia tastării simbolurilor precum = și ..

SELECT c.id, c.name, o.amount
FROM customers c
INNER JOIN orders o ON o.customer_id = c.id
WHERE o.amount > 100;

Funcții și expresii

PostgreSQL are multe funcții integrate, precum COUNT(), SUM() și AVG(). Parantezele sunt întotdeauna necesare. Funcții de dată și oră precum NOW() sau DATE_TRUNC() sunt specifice PostgreSQL. MySQL are echivalente precum CURDATE() sau DATE_FORMAT(). Scrierea lor corectă necesită atenție la underscores, virgule și paranteze.

SELECT DATE_TRUNC('month', created_at) AS month,
       COUNT(*) AS orders
FROM orders
GROUP BY month
ORDER BY month;

INSERT, UPDATE, DELETE

Instrucțiunile care modifică datele conțin multe semne de punctuație. INSERT folosește paranteze și virgule pentru coloane și valori. UPDATE folosește = separate prin virgule. DELETE combină cuvinte-cheie cu condiții. Aceste structuri sunt aproape identice în PostgreSQL, MySQL, SQLite și SQL Server, deși regulile ghilimelelor pot varia.

INSERT INTO users (id, name, email)
VALUES (1, 'Alice', 'a@example.com');

UPDATE users
SET name = 'Bob', email = 'bob@example.com'
WHERE id = 1;

DELETE FROM users WHERE id = 2;

Common Table Expressions (CTE)

PostgreSQL folosește frecvent CTE-uri care încep cu WITH. Ele implică multe paranteze și virgule, ceea ce le face un bun exercițiu de tastare. MySQL și SQLite le suportă în versiunile recente, iar SQL Server de asemenea. Plasarea corectă a parantezelor este cea mai frecventă greșeală.

WITH recent_orders AS (
  SELECT * FROM orders WHERE created_at > NOW() - INTERVAL '30 days'
)
SELECT customer_id, COUNT(*) AS order_count
FROM recent_orders
GROUP BY customer_id;

Funcții de fereastră

PostgreSQL este cunoscut pentru funcțiile sale de fereastră avansate. Sintaxa tipică OVER (PARTITION BY ... ORDER BY ...) necesită atenție la paranteze și cuvinte-cheie. MySQL și SQL Server le acceptă, dar PostgreSQL este adesea considerat referința.

SELECT customer_id,
       SUM(amount) OVER (PARTITION BY customer_id ORDER BY created_at) AS running_total
FROM payments;

Parametri și placeholders

În aplicații, placeholders diferă între baze de date. PostgreSQL folosește $1, $2, MySQL și SQLite folosesc ?, iar SQL Server folosește @p1. Aceste simboluri mici sunt ușor de greșit, dar sunt esențiale pentru execuție.

-- PostgreSQL
SELECT * FROM users WHERE id = $1;

-- MySQL
SELECT * FROM users WHERE id = ?;

Rezumat

Prin convenție, cuvintele-cheie SQL sunt scrise cu majuscule, în timp ce identificatorii rămân cu minuscule, cu excepția cazului în care sunt între ghilimele. PostgreSQL adaugă ghilimele duble pentru identificatori, placeholders $n, CTE-uri și funcții de fereastră. MySQL folosește backticks și placeholders ?. SQL Server introduce paranteze drepte și parametri @. SQLite menține sintaxa simplă, dar necesită precizie. Exersarea interogărilor SQL îmbunătățește acuratețea la scrierea semnelor de punctuație, cuvintelor-cheie și simbolurilor, iar concentrarea pe PostgreSQL oferă experiență cu una dintre cele mai utilizate baze de date moderne.