Cum de a scrie SQL-interogări - exemple detaliate

click fraud protection

Fiecare dintre noi se confruntă cu în mod regulat și folosește diferite baze de date.Când alegem e-mail, lucram cu baza de date.Baze de date utilizate serviciile de căutare, bănci pentru stocarea de date client, etc.

Dar, în ciuda utilizarea constantă a bazei de date, chiar și pentru mulți dezvoltatori de sisteme software este o mulțime de "pete albe", din cauza interpretărilor diferite ale aceleași condiții.Ne da o scurtă definiție a bazei de date cheie termeni înainte luarea în considerare a SQL.DeciBaza de date

- fișier sau un set de fișiere pentru stocarea de date ordonate și structuri de relatiile lor.Foarte des, baza de date este numit sistem de managementul bazelor de date (DBMS).Baza de date - aceasta este doar un depozit de informații într-un format specific si poate lucra cu diferite baze de date.

Tabelul - imagina dosarul în care sunt stocate documentele, grupate în funcție de anumite atribute, cum ar fi o listă de comenzi în ultima lună.Aceasta este o masă într-o bază de date computerizată.Un tabel separat are propriul nume unic.

tip de date - tip de informații permis să fie stocate într-o singură coloană sau rând.Acesta poate fi numerele specifice sau format text.

coloană și rând - cu toții au lucrat cu foi de calcul, care sunt, de asemenea, prezente în rândurile și coloanele.Orice tabelele bazei de date relaționale funcționează în mod similar.Liniile sunt numite uneori înregistrări.

cheie primară - fiecare rând poate avea una sau mai multe coloane de identificare unic.Nici o cheie primară este foarte dificil de a efectua actualizarea, modifica și șterge rândurile necesare.

Ce este SQL?

limbaj de interogare SQL (ing. Limbaj de interogare structurat - Limbaj de interogare structurat) a fost conceput doar pentru a lucra cu baze de date și este în prezent standardul pentru toate bazele de date populare.Sintaxa constă dintr-un număr redus de operatori și ușor de învățat.Dar, în ciuda simplitatea aparenta, aceasta permite crearea de interogări SQL pentru baze de date complexe operațiuni de orice dimensiune.

Din 1992, există un standard comun, numit ANSI SQL.Definește sintaxa de bază și funcțiile de operatori și acceptate de toate lideri de piata DBMS cum ar fi Oracle Microsoft SQL Server.Luați în considerare toate posibilitățile de limbii într-un articol scurt, este imposibil, așa că va lua în considerare pe scurt doar declarațiile SQL de bază.Exemple demonstrează simplitatea și caracteristicile limbajului:

  • crearea bazelor de date și tabele;Date eșantion
  • ;
  • adăugarea de înregistrări;Modificarea
  • și ștergerea informațiilor.Tipuri

de date SQL

toate coloanele într-un tabel baza de date a stoca de același tip de date.Tipurile de date SQL sunt aceleași ca și în alte limbaje de programare.Întregi

tip de date Descriere
INT
REAL punct plutitor
TEXT șir de caractere de lungime variabilă
DATA SQLcerere "data", în diferite formate
TIME Ora
CHAR șiruri de text de lungime fixă ​​

crea foi de calcul și baze de date

crea noi baze de date, tabele, și alte cereriîn SQL Există două moduri: declarație

  • SQL în baza de date consola
  • Utilizarea instrumentelor de administrare interactive care alcătuiesc serverul bazei de date.

a crea o nouă bază de date operator de CREATE DATABASE & lt; numele bazei de date & gt ;;.După cum puteți vedea, sintaxa este simplu și laconic.Tabele

în baza de date a crea --CREATE TABLE cu următorii parametri: nume

  • nume de tabel
  • și tipuri de date coloană

Ca un exemplu, a crea o marfă tabel cu următoarele coloane:

coloană Descriere
commodity_id ID-ul produsului
vendor_id furnizor ID (Furnizori cheie de masă externe)
commodity_name Nume produs
commodity_price costa
commodity_desc Descrierea

crea tabelul:

--CREATE TABLE mărfurilor

(CHAR commodity_id (15) NOT NULL,

vendor_id CHAR (15) NOT NULL,

commodity_name CHAR (254) NULL,

commodity_price zecimal (8,2) NULL,

commodity_desc VARCHAR (1000) NULL);Tabelul

este format din cinci coloane.După numele este tipul de coloane de date separate prin virgule.Valoarea coloanei poate accepta valori nule (NULL), sau trebuie să fie completat în (NOT NULL), și este hotărâtă să creeze masa.

date eșantion din tabel

de eșantionare a datelor operatorului - declarațiile SQL cele mai frecvent utilizate.Pentru informații trebuie să specificați pe care ne-o dorim pentru a selecta dintr-un tabel.În primul rând, un exemplu simplu:

SELECT commodity_name DIN mărfurilor

După SELECT pentru a specifica numele coloanei pentru a obține informații, și determină din tabelul.Rezultatul

din interogarea va fi toate rândurile cu valori Commodity_name în ordinea în care au fost introduse în baza de date, care estefără nici o sortare.Pentru a organiza rezultatele folosind o comandă suplimentară de către operatorul.

Pentru a interoga pe ele lista mai multe câmpuri separate de virgule, ca în exemplul următor:

SELECT commodity_id, commodity_name, commodity_price DIN mărfii

este posibil să se obțină ca urmare a cererii de toate liniei coloane.În acest scop, semnul "*":

SELECT * FROM mărfurilor

  • plus Alege suporturi: date de sortare
  • (operator ORDER BY)
  • Alegerea în funcție de condițiile (unde)
  • termen gruparea (GROUP BY)

adăuga rânduri

Pentru a adăuga rânduri la o masă folosind instrucțiuni SQL cu inserția operatorului.Adăugarea se poate face în trei moduri:

  • adăuga o nouă linie de ansamblu;
  • liniei;Rezultatele interogării
  • .

pentru a adăuga linie completă trebuie să specifice numele de tabel și valorile de coloane (câmpuri) din noua linie.Iată un exemplu:

INSERT în valori de mărfuri ("106", "50", "Coca-Cola", "1,68", "Nu Alcogol,) exemplu

adaugă un tabel de bunuri noi.Valorile sunt specificate după declarația valori pentru fiecare coloană.Dacă nu există nici o valoare corespunzătoare pentru o coloană, trebuie să specificați NULL.Coloanele sunt umplute cu valorile în ordinea specificată la crearea unui tabel.

Dacă adăugați doar o parte a liniei, trebuie să specificați explicit numele coloanei, ca în exemplul:

INSERT INTO mărfuri (commodity_id, vendor_id, commodity_name) VALORI

("106", "50", "Coca-Cola",)

Am introdus doar identificatorii de produs, furnizorul și numele, și a pus deoparte restul câmpul necompletat.

Adăugarea rezultatele interogării

INSERT principal este utilizat pentru a adăuga siruri de caractere, dar poate fi folosit pentru a adăuga rezultatele operatorului SELECT.

Schimbarea datelor

Pentru a modifica informațiile din domeniul tabela bazei de date pe care doriți să utilizați operatorul UPDATE.Operatorul poate fi utilizat în două moduri:

  • actualizează toate rândurile din tabel.
  • doar o anumită linie.

UPDATE constă din trei elemente principale: masă

  • în care doriți să faceți schimbări;
  • nume de câmpuri și noi valorile lor;Condiții
  • pentru a selecta rânduri pentru a schimba.

Luați în considerare un exemplu.Bunuri presupunem cu ID = 106 a schimbat prețul, astfel încât această linie pentru a actualiza.Vom scrie următoarea declarație:

UPDATE mărfurilor SET commodity_price = "3.2" în cazul în commodity_id = '106'

am specifica numele de masă, în cazul nostru, a mărfurilor, care va fi actualizat, iar apoi, după SET - noua valoare a coloanei și pentru a găsi intrarea dorităprin specificarea valoarea dorită în UNDE ID.

Pentru a modifica numărul de coloane după SET indicat cateva perechi de valoarea din coloana, separate prin virgulă.Vezi un exemplu în care actualizată numele și prețul bunurilor:

UPDATE mărfurilor SET commodity_name = 'Fanta', commodity_price = "3.2" în cazul în commodity_id = '106'

Pentru a șterge informațiile din coloana, puteți seta la NULL, dacăPermite structura tabelei.Țineți minte că NULL - aceasta este "nu" valoare, nu zero text sau numere.Ștergeți descrierea produsului:

UPDATE mărfurilor SET commodity_desc = NULL UNDE commodity_id = "106"

rânduri Ștergerea interogări

SQL pentru a șterge rânduri în tabel sunt efectuate de operatorul DELETE.Există două moduri de a folosi: masă

  • elimină anumite linii;
  • șterge toate rândurile din tabel.

Exemplu de ștergerea un rând din tabel:

DELETE FROM mărfuri, în care commodity_id = '106'

După DELETE FROM specificați numele tabelului în care rândurile vor fi șterse.Clauza WHERE contine o condiție pe care linia va fi selectat pentru ștergere.În exemplul vom elimina elementul rând cu id = 106.Precizați UNDE foarte important, deoareceprivedt trece această declarație pentru a șterge toate rândurile într-un tabel.Acest lucru este valabil pentru a modifica valorile câmpului.

Declarația DELETE nu specifică nume de coloane, și meta-caractere.Se elimină complet rândul și coloana pentru a șterge o persoană nu poate.

Utilizarea SQL în Microsoft Access

Microsoft Access este de obicei folosit interactiv pentru a crea o foaie de calcul, baze de date, schimbari de management, analiza datelor în baza de date și pentru a pune în aplicare accesul interogări SQL prin intermediul unei convenabil constructor interogare interactiv (Query Designer), folosind pe care le puteți construi și imediat să execute instrucțiuni SQL de orice complexitate.

susținută regim de acces la server, unde baza de date Access poate fi utilizat ca un generator de SQL-interogări la orice surse de date ODBC.Această caracteristică permite aplicațiilor de acces interactioneaza cu bazele de date de orice dimensiune.

Extensii SQL

Pentru interogări SQL nu au toate caracteristicile de limbaje de programare procedurale, cum ar fi buclele, ramificare, etc., producătorii sunt în curs de dezvoltare o versiune de bază de date a SQL consolidate.Primul este suport pentru proceduri stocate și operatorii standard de limbi procedurale.

dialecte cele mai frecvente:

  • Oracle Database - PL / SQL
  • Interbase, Firebird - psql
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL / pgSQL.Baza de date

SQL Internet

MySQL este lansat sub o licență liberă GNU General Public License.Există o licență comercială cu capacitatea de a dezvolta module personalizate.Ca parte din cele mai populare parte a serverelor construi Internet, cum ar fi XAMPP, WAMP și LAMP, și este cel mai popular dezvoltarea aplicatiei de baze de date pe Internet.

a fost dezvoltat de Sun Microsystems și este în prezent susținută de Oracle.Suporta dimensiunea bazei de date de până la 64 de terabytes, SQL standard de sintaxă: 2003, replicare de baze de date, și servicii de cloud.