Statisticile de astăzi

Exerciții completate
-
Caractere tastate Cuvinte scrise
-
Timp de exersare
-

Statistici generale

Exerciții completate
-
Caractere tastate Cuvinte scrise
-
Timp de exersare
-

Lecție de dactilografiere: Programare în limbajul SQL

Dactilografia este importantă în programare. Tastarea rapidă vă ajută să scrieți mai eficient cod în limbajul de programare SQL.

Să aflăm mai multe despre limbajul SQL și despre dactilografie atunci când programăm în SQL.

Programare în SQL și dactilografie

Î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 () delimitează argumentele funcțiilor și grupează 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, diferențierea literelor mari și mici în numele bazelor de date și ale tabelelor depinde de sistemul de operare și de configurarea serverului. 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 SQL, punctul și virgula ; încheie o instrucțiune. Instrumentele interactive precum psql, clientul MySQL și consola SQLite așteaptă de obicei acest caracter înainte de a executa instrucțiunea. În psql poți trimite interogarea curentă și prin comanda \g. Dacă apare o solicitare de text suplimentar în loc de rezultat, verifică dacă ai încheiat instrucțiunea.

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. În exemplul de mai jos, condiția de join urmează după cuvântul-cheie ON. Există și join-uri cu USING sau NATURAL. 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 disponibile în PostgreSQL; disponibilitatea și comportamentul acestor funcții diferă între baze de date. MySQL are și funcții precum CURDATE() sau DATE_FORMAT(). Scrierea lor corectă necesită atenție la liniile de subliniere, 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 = pentru a atribui valori și virgule între atribuiri. 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, SQLite și SQL Server acceptă, de asemenea, CTE-uri. Verifică dacă fiecare paranteză deschisă are o paranteză închisă corespunzătoare.

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 acceptă, de asemenea, funcții de fereastră. Exemplul de mai jos folosește sintaxa PostgreSQL.

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, marcatorii de parametri depind atât de baza de date, cât și de driver. Instrucțiunile pregătite native din PostgreSQL folosesc $1, $2, instrucțiunile pregătite din MySQL și interogările SQLite pot folosi ?, iar parametrii SQL Server au nume precum @p1. Un driver poate cere o altă sintaxă, cum ar fi %s în Psycopg. Consultă documentația lui, deoarece aceste simboluri mici sunt ușor de tastat greșit.

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

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

Rezumat

Prin convenție, cuvintele-cheie SQL sunt scrise cu majuscule. PostgreSQL convertește în litere mici identificatorii fără ghilimele duble; alte sisteme au reguli diferite. 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.

Următorul text
Următoarea lecție
Sarcină Înapoi la test
sql
Grafic Ascunde