30 Exemples de consultes SQL

30 Exemples De Consultes Sql



La forma completa d'SQL és el llenguatge de consulta estructurada. És una eina molt útil per accedir o modificar l'estructura i les dades de la base de dades. Moltes aplicacions necessiten la base de dades per emmagatzemar les dades necessàries en una base de dades en format estructurat de manera permanent. MySQL, Oracle, SQL Server, etc. són bases de dades populars per emmagatzemar les dades de l'aplicació. Són imprescindibles per aprendre els fonaments bàsics d'SQL per accedir o modificar el contingut de la base de dades. Els usos bàsics de les sentències SQL en una base de dades MariaDB es mostren en aquest tutorial mitjançant 30 exemples de consultes SQL.

Requisits previs

Heu d'instal·lar el servidor de bases de dades amb el client abans de practicar els exemples d'aquest tutorial. En aquest tutorial s'utilitzen el servidor i el client de bases de dades MariaDB.

1. Executeu les ordres següents per actualitzar el sistema:







$ sudo apt-get update

2. Executeu l'ordre següent per instal·lar el servidor i el client MariaDB:



$ sudo apt-get install mariadb-server mariadb-client

3. Executeu l'ordre següent per instal·lar l'script de seguretat per a la base de dades MariaDB:



$ sudo mysql_secure_installation

4. Executeu l'ordre següent per reiniciar el servidor MariaDB:





$ sudo /etc/init.d/mariadb reiniciar

6. Executeu l'ordre següent per iniciar sessió al servidor MariaDB:

$ sudo mariadb -u root -p

Llista d'exemples de consultes SQL



  1. Crea la base de dades
  2. Crear les Taules
  3. Canvieu el nom del nom de la taula
  4. Afegiu una nova columna a la taula
  5. Traieu la columna de la taula
  6. Inseriu una sola fila a la taula
  7. Insereix diverses files a la taula
  8. Llegiu tots els camps particulars de la taula
  9. Llegiu la taula després de filtrar les dades de la taula
  10. Llegiu la taula després de filtrar les dades en funció de la lògica booleana
  11. Llegiu la taula després de filtrar les files segons l'interval de dades
  12. Llegeix la taula després d'ordenar la taula en funció de les columnes concretes.
  13. Llegiu la taula establint el nom alternatiu de la columna
  14. Compteu el nombre total de files de la taula
  15. Llegeix les dades de diverses taules
  16. Llegeix la taula agrupant els camps concrets
  17. Llegeix la taula després d'ometre els valors duplicats
  18. Llegiu la taula limitant el nombre de fila
  19. Llegiu la taula a partir de la concordança parcial
  20. Comptar la suma del camp particular de la taula
  21. Trobeu els valors màxims i mínims del camp concret
  22. Llegeix les dades sobre la part concreta d'un camp
  23. Llegiu les dades de la taula després de la concatenació
  24. Llegeix les dades de la taula després del càlcul matemàtic
  25. Creeu una vista de la taula
  26. Actualitzeu la taula en funció de la condició particular
  27. Suprimiu les dades de la taula en funció de la condició particular
  28. Suprimeix tots els registres de la taula
  29. Deixeu anar la taula
  30. Deixeu anar la base de dades

Crea la base de dades

Suposem que hem de dissenyar una base de dades senzilla per al sistema de gestió de biblioteques. Per fer aquesta tasca, cal crear una base de dades al servidor que contingui diverses taules relacionals. Després d'iniciar sessió al servidor de bases de dades, executeu l'ordre següent per crear una base de dades anomenada 'biblioteca' al servidor de bases de dades MariaDB:

CREAR BASE DE DADES biblioteca;

La sortida mostra que la base de dades de la biblioteca es crea al servidor:

Executeu l'ordre següent per seleccionar la base de dades del servidor per realitzar diferents tipus d'operacions de base de dades:

ÚS biblioteca;

La sortida mostra que la base de dades de la biblioteca està seleccionada:

Crear les Taules

El següent pas és crear les taules necessàries perquè la base de dades emmagatzemi les dades. En aquesta part del tutorial es creen tres taules. Aquests són llibres, membres i taules borrow_info.

  1. La taula de llibres emmagatzema totes les dades relacionades amb el llibre.
  2. La taula de membres emmagatzema tota la informació sobre els membres que prenen en préstec el llibre de la biblioteca.
  3. La taula borrow_info emmagatzema la informació sobre quin llibre ha manllevat quin membre.

1. Llibres Taula

Executeu la següent instrucció SQL per crear una taula anomenada 'llibres' a la base de dades 'biblioteca' que conté set camps i una clau primària. Aquí, el camp 'id' és la clau primària i el tipus de dades és int. L'atribut auto_increment s'utilitza per al camp 'id'. Per tant, el valor d'aquest camp s'incrementa automàticament quan s'insereix una nova fila. El tipus de dades varchar s'utilitza per emmagatzemar les dades de cadena de la longitud variable. Els camps títol, autor, publicació i ISBN emmagatzemen les dades de la cadena. El tipus de dades dels camps total_copy i price són int. Per tant, aquests camps emmagatzemen les dades numèriques.

CREAR TAULA llibres (
id INT AUTO_INCREMENT ,
títol VARCHAR ( 50 ) ,
autor VARCHAR ( 50 ) ,
publicació VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
còpia_total INT ,
preu INT ,
PRIMÀRIA CLAU ( id ) ) ;

La sortida mostra que la taula 'llibres' s'ha creat correctament:

2. Membres Taula

Executeu la següent instrucció SQL per crear una taula anomenada 'membres' a la base de dades 'biblioteca' que conté 5 camps i una clau primària. El camp 'id' té l'atribut auto_increment com la taula 'llibres'. El tipus de dades dels altres camps és varchar. Per tant, aquests camps emmagatzemen les dades de la cadena.

CREAR TAULA membres (
id INT AUTO_INCREMENT ,
nom VARCHAR ( 50 ) ,
adreça VARCHAR ( 200 ) ,
contact_no VARCHAR ( 15 ) ,
correu electrònic VARCHAR ( 50 ) ,
PRIMÀRIA CLAU ( id ) ) ;

La sortida mostra que la taula 'membres' s'ha creat correctament:

3. Manlleu_informació Taula

Executeu la següent instrucció SQL per crear una taula anomenada 'borrow_info' a la base de dades 'biblioteca' que conté 6 camps. Aquí, el camp 'id' és la clau primària, però l'atribut auto_increment no s'utilitza per a aquest camp. Per tant, un valor únic s'insereix manualment en aquest camp quan s'insereix un registre nou a la taula. Els camps book_id i member_id són claus externes per a aquesta taula; aquestes són la clau primària de la taula de 'llibres' i de la taula de 'socis'. El tipus de dades dels camps borrow_date i return_date són data. Per tant, aquests dos camps emmagatzemen el valor de la data en el format 'AAAA-MM-DD'.

CREAR TAULA informació_prestada (
id INT ,
data_de_préstec DATA ,
book_id INT ,
Identificador de membre INT ,
data_retorn DATA ,
ESTAT VARCHAR ( 10 ) ,
PRIMÀRIA CLAU ( id ) ,
ESTRANGER CLAU ( book_id ) REFERÈNCIES llibres ( id ) ,
ESTRANGER CLAU ( Identificador de membre ) REFERÈNCIES membres ( id ) ) ;

La sortida mostra que la taula 'borrow_info' s'ha creat correctament:

Canvieu el nom del nom de la taula

La sentència ALTER TABLE es pot utilitzar per a diversos propòsits a les sentències SQL. Executeu la següent instrucció ALTER TABLE per canviar el nom de la taula 'borrow_info' a 'book_borrow_info'. A continuació, es pot utilitzar la instrucció SHOW tables per comprovar si el nom de la taula s'ha canviat o no.

ALTERA TAULA informació_prestada CANVIA EL NOM A informació_de_préstec_libre;
ESPECTACLE TAULES ;

La sortida mostra que el nom de la taula s'ha canviat correctament i el nom de la taula borrow_info s'ha canviat a book_borrow_info:

Afegiu una nova columna a la taula

La instrucció ALTER TABLE es pot utilitzar per afegir o suprimir una o més columnes després de crear la taula. La següent instrucció ALTER TABLE afegeix un camp nou anomenat 'estat' als membres de la taula. La instrucció DESCRIBE s'utilitza per mostrar si l'estructura de la taula s'ha canviat o no.

ALTERA TAULA membres AFEGIR ESTAT VARCHAR ( 10 ) ;
DESCRIURE membres;

La sortida mostra que s'afegeix una nova columna que és 'estat' a la taula 'membres' i el tipus de dades de la taula és varchar:

Traieu la columna de la taula

La següent instrucció ALTER TABLE elimina el camp anomenat 'estat' de la taula 'membres'. La instrucció DESCRIBE s'utilitza per mostrar si l'estructura de la taula s'ha canviat o no.

ALTERA TAULA membres TIRAR COLUMNA ESTAT ;
DESCRIURE membres;

La sortida mostra que la columna 'estat' s'elimina de la taula 'membres':

Inseriu una sola fila a la taula

La instrucció INSERT INTO s'utilitza per inserir una o més files a la taula. Executeu la següent instrucció SQL per inserir una sola fila a la taula 'llibres'. Aquí, el camp 'id' s'omet d'aquesta consulta perquè s'insereix automàticament al registre quan s'insereix un registre nou per a l'atribut d'increment automàtic. Si aquest camp s'utilitza a la instrucció INSERT, el valor ha de ser NULL.

INSERT INTO llibres ( títol , autor , publicació , isbn , còpia_total , preu )
VALORS ( 'SQL en 10 minuts' , 'Ben Forta' , 'Sams Publishing' , '784534235' , 5 , 39 ) ;

La sortida mostra que s'ha afegit un registre a la taula 'llibres' amb èxit:

Les dades es poden inserir a la taula mitjançant la clàusula SET on cada valor de camp s'assigna per separat. Executeu la següent instrucció SQL per inserir una sola fila a la taula 'members' mitjançant les clàusules INSERT INTO i SET. El camp 'id' també s'omet en aquesta consulta com l'exemple anterior pel mateix motiu.

INSERT INTO membres
CONJUNT nom = 'John Sina' , adreça = '34, Dhanmondi 9/A, Dhaka' , contact_no = '+14844731336' , correu electrònic = 'john@gmail.com' ;

La sortida mostra que s'ha afegit un registre a la taula de membres correctament:

Executeu la següent instrucció SQL per inserir una sola fila a la taula 'book_borrow_info':

INSERT INTO informació_de_completar_libres ( id , data_de_préstec , book_id , Identificador de membre , data_retorn , ESTAT )
VALORS ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'Prestat' ) ;

La sortida mostra que s'afegeix un registre a la taula 'book_borrow_info':

Insereix diverses files a la taula

De vegades, requereix afegir molts registres alhora amb una sola instrucció INSERT INTO. Executeu la següent instrucció SQL per inserir tres registres a la taula 'llibres' mitjançant una única instrucció INSERT INTO. En aquest cas, la clàusula VALUES s'utilitza una vegada i les dades de cada registre estan separades per comes.

INSERT INTO llibres ( títol , autor , publicació , isbn , còpia_total , preu )
VALORS
( 'Llibre de cuina SQL (O'Reilly)' , 'Anthony Molinaro' , 'O'Reilly' , '2467777532' , 10 , 49 ) ,
( 'Consultes SQL per a simples mortals' , 'John Viescas' , 'Addison-Wesley' , '673456234' , 15 , 35 ) ,
( 'Aprendre SQL' , 'Alan Beaulieu' , 'Penguin Books Ltd' , '534433222' , 12 , 45 ) ;

La sortida mostra que s'afegeixen tres registres a la taula 'llibres':

Llegiu tots els camps particulars de la taula

La instrucció SELECT s'utilitza per llegir les dades de la taula 'base de dades'. El símbol “*” s'utilitza per indicar tots els camps de la taula a la instrucció SELECT. Executeu l'ordre SQL següent per llegir tots els registres de la taula de llibres:

SELECCIONA * DE llibres;

La sortida mostra tots els registres de la taula de llibres que conté 4 registres:

Executeu la següent comanda SQL per llegir tots els registres de tres camps de la taula 'membres':

SELECCIONA nom , correu electrònic , contact_no DE membres;

La sortida mostra tots els registres de tres camps de la taula 'membres':

Llegiu la taula després de filtrar les dades de la taula

La clàusula WHERE s'utilitza per llegir les dades d'una taula en funció d'una o més condicions. Executeu la següent instrucció SELECT per llegir tots els registres de tots els camps de la taula 'llibres' on el nom de l'autor és 'John Viescas'.

SELECCIONA * DE llibres ON autor = 'John Viescas' ;

La taula 'llibres' conté un registre que coincideix amb la condició de la clàusula WHERE que es mostra a la sortida:

Llegiu la taula després de filtrar les dades en funció de la lògica booleana

La lògica booleana AND s'utilitza per definir diverses condicions a la clàusula WHERE que retorna cert si totes les condicions tornen certes. Executeu la següent instrucció SELECT per llegir tots els registres de tots els camps de la taula 'llibres' on el valor del camp total_copy és superior a 10 i el valor del camp de preu és inferior a 45 utilitzant el AND lògic.

SELECCIONA * DE llibres ON còpia_total > 10 I preu < 45 ;

La taula de llibres conté un registre que coincideix amb la condició de la clàusula WHERE que es mostra a la sortida:

La lògica OR booleana s'utilitza per definir diverses condicions a la clàusula WHERE que retorna cert si alguna de les condicions retorna cert. Executeu la següent instrucció SELECT per llegir tots els registres de tots els camps de la taula 'llibres' on el valor del camp total_copy és superior a 10 o el valor del camp de preu és superior a 40.

SELECCIONA * DE llibres ON còpia_total > 10 O preu > 40 ;

La taula de llibres conté tres registres que coincideixen amb la condició de la clàusula WHERE que es mostra a la sortida:

La lògica booleana NOT s'utilitza per tornar fals quan la condició és certa i retorna vertader quan la condició és falsa. Executeu la següent instrucció SELECT per llegir tots els registres de tots els camps de la taula 'llibres' on el valor del camp de l'autor no és 'Addison-Wesley'.

SELECCIONA * DE llibres ON NO autor = 'Addison-Wesley' ;

La taula 'llibres' conté tres registres que coincideixen amb la condició de la clàusula WHERE que es mostra a la sortida:

Llegiu la taula després de filtrar les files segons l'interval de dades

La clàusula BETWEEN s'utilitza per llegir l'interval de dades de la taula de la base de dades. Executeu la següent instrucció SELECT per llegir tots els registres de tots els camps de la taula 'llibres' on el valor del camp de preu està entre 40 i 50.

SELECCIONA * DE llibres ON preu ENTRE 40 I 50 ;

La taula de llibres conté dos registres que coincideixen amb la condició de la clàusula WHERE que es mostra a la sortida. Els llibres dels valors de preus, 39 i 35, s'ometen del conjunt de resultats perquè estan fora de rang.

Llegeix la taula després d'ordenar la taula

La clàusula ORDER BY s'utilitza per ordenar el conjunt de resultats de la instrucció SELECT en ordre ascendent o descendent. El conjunt de resultats s'ordena per defecte en ordre ascendent si la clàusula ORDER BY s'utilitza sense ASC o DESC. La següent instrucció SELECT llegeix els registres ordenats de la taula de llibres en funció del camp del títol:

SELECCIONA * DE llibres COMANDA PER títol;

Les dades del camp del títol de la taula 'llibres' s'ordenen en ordre ascendent a la sortida. El llibre 'Learning SQL' apareix primer alfabèticament si el camp del títol de la taula 'llibres' s'ordena en ordre ascendent.

Llegiu la taula establint el nom alternatiu de la columna

El nom alternatiu de la columna s'utilitza a la consulta per fer que el conjunt de resultats sigui més llegible. El nom alternatiu s'estableix mitjançant la paraula clau 'AS'. La següent instrucció SQL retorna els valors dels camps de títol i autor mitjançant l'establiment de noms alternatius.

SELECCIONA títol AS 'Nom del llibre'. , autor AS 'Nom de l'autor'.
DE llibres;

El camp del títol es mostra amb el nom alternatiu que és 'Nom del llibre' i el camp de l'autor es mostra amb el nom alternatiu que és 'Nom de l'autor' a la sortida.

Compteu el nombre total de files de la taula

El COUNT() és una funció agregada d'SQL que s'utilitza per comptar el nombre total de files en funció del camp concret o de tots els camps. El símbol “*” s'utilitza per indicar tots els camps i el COUNT(*) s'utilitza per comptar tots els registres de la taula.

La consulta següent compta els registres totals de la taula de llibres:

SELECCIONA COMPTE ( * ) AS 'Llibres totals'. DE llibres;

Quatre registres de la taula 'llibres' es mostren a la sortida:

La consulta següent compta el total de files de la taula 'membres' segons el camp 'id':

SELECCIONA COMPTE ( id ) AS 'Socis totals'. DE membres;

La taula 'membres' té dos valors d'identificació que s'imprimeixen a la sortida:

Llegeix les dades de diverses taules

Les sentències SELECT anteriors van recuperar les dades d'una única taula. Però la instrucció SELECT es pot utilitzar per recuperar les dades de dues o més taules. La consulta SELECT següent llegeix els valors dels camps del títol i de l'autor de la taula 'llibres' i la data de préstec de la taula 'informació del llibre_de_prestament'.

SELECCIONA títol , autor , data_de_préstec
DE llibres , informació_de_completar_libres
ON llibres . id = informació_de_completar_libres . book_id;

La sortida següent mostra que el llibre 'SQL en 10 minuts' es pren en préstec dues vegades i el llibre 'SQL Cookbook (O'Reilly)' es presta una vegada:

Les dades es poden recuperar de les múltiples taules utilitzant diferents tipus de JOINS com INNER JOIN, OUTER JOIN, etc. que no s'expliquen en aquest tutorial.

Llegeix la taula agrupant els camps concrets

La clàusula GROUP BY s'utilitza per llegir els registres de la taula agrupant les files en funció d'un o més camps. Aquest tipus de consulta s'anomena consulta de resum. Heu d'inserir diverses files a les taules per comprovar l'ús de la clàusula GROUP BY. Executeu les següents sentències INSERT per inserir un registre a la taula 'members' i dos registres a la taula 'book_borrow_info'.

INSERT INTO membres
CONJUNT nom = 'Ella Hasan' , adreça = '11/A, Jigatola, Dhaka' , contact_no = '+8801734563423' , correu electrònic = 'ella@gmail.com' ;
INSERT INTO informació_de_completar_libres ( id , data_de_préstec , book_id , Identificador de membre , data_retorn , ESTAT )
VALORS ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'Tornada' ) ;
INSERT INTO informació_de_completar_libres ( id , data_de_préstec , book_id , Identificador de membre , data_retorn , ESTAT )
VALORS ( 3 , '2023-05-20' , 2 , 1 , '2023-05-30' , 'Prestat' ) ;

Després d'inserir les dades mitjançant l'execució de les consultes anteriors, executeu la següent instrucció SELECT que compta el nombre total de llibres prestats i el nom del membre en funció de cada membre utilitzant la clàusula GROUP BY. Aquí, la funció COUNT() funciona al camp que s'utilitza per reagrupar els registres mitjançant la clàusula GROUP BY. El camp book_id de la taula 'membres' s'utilitza per agrupar aquí.

SELECCIONA COMPTE ( book_id ) AS 'Llibre total prestat'. , nom AS 'Nom del membre'. DE llibres , membres , informació_de_completar_libres ON llibres . id = informació_de_completar_libres . book_id I membres . id = informació_de_completar_libres . Identificador de membre GRUP PER informació_de_completar_libres . Identificador de membre;

Segons les dades de les taules de llibres, 'membres' i 'book_borrow_info', 'John Sina' va agafar en préstec 2 llibres i 'Ella Hasan' va agafar en préstec 1 llibre.

Llegeix la taula després d'ometre els valors duplicats

De vegades, les dades duplicades es generen al conjunt de resultats de la instrucció SELECT en funció de les dades de la taula que no són necessàries. Per exemple, la següent instrucció SELECT retorna els registres duplicats per a les dades de la taula 'book_borrow_info'.

SELECCIONA nom , correu electrònic
DE membres , informació_de_completar_libres
ON informació_de_completar_libres . Identificador de membre = membres . id;

A la sortida, el mateix registre apareix dues vegades perquè el membre de 'John Sina' va agafar dos llibres en préstec. Aquest problema es pot resoldre mitjançant la paraula clau DISTINCT. Elimina els registres duplicats del resultat de la consulta.

La següent instrucció SELECT genera registres únics del conjunt de resultats a partir de les taules 'members' i 'book_borrow_info' després d'ometre els valors duplicats mitjançant la paraula clau DISTINCT a la consulta.

SELECCIONA DISTINTS nom , correu electrònic
DE membres , informació_de_completar_libres
ON informació_de_completar_libres . Identificador de membre = membres . id;

La sortida mostra que el valor duplicat s'elimina del conjunt de resultats:

Llegiu la taula limitant el nombre de fila

De vegades, requereix llegir el nombre particular de registres des de l'inici del conjunt de resultats, el final del conjunt de resultats o la meitat del conjunt de resultats de la taula de la base de dades limitant el número de fila. Es pot fer de moltes maneres. Abans de limitar les files, executeu la següent instrucció SQL per comprovar quants registres hi ha a la taula de llibres:

SELECCIONA * DE llibres;

La sortida mostra que la taula de llibres té quatre registres:

La següent instrucció SELECT llegeix els dos primers registres de la taula 'llibres' mitjançant la clàusula LIMIT amb el valor de 2:

SELECCIONA * DE llibres LÍMIT 2 ;

Es recuperen els dos primers registres de la taula 'llibres' que es mostra a la sortida:

La clàusula FETCH és l'alternativa de la clàusula LIMIT i el seu ús es mostra a la següent instrucció SELECT. Els 3 primers registres de la taula 'llibres' es recuperen mitjançant la clàusula FETCH FIRST 3 ROWS ONLY de la instrucció SELECT:

SELECCIONA * DE Llibres FETCH PRIMER 3 FILES NOMÉS ;

La sortida mostra els 3 primers registres de la taula 'llibres':

Dos registres del 3 rd La fila de la taula de llibres es recuperen executant la següent instrucció SELECT. La clàusula LIMIT s'utilitza amb el valor 2, 2 aquí, on el primer 2 defineix la posició inicial de la fila de la taula que comença a comptar des de 0 i el segon 2 defineix el nombre de files que comença a comptar des de la posició inicial.

SELECCIONA * DE llibres LÍMIT 2 , 2 ;

La sortida següent apareix després d'executar la consulta anterior:

Els registres del final de la taula es poden llegir ordenant la taula en ordre descendent en funció del valor de la clau primària incrementat automàticament i utilitzant la clàusula LIMIT. Executeu la següent instrucció SELECT que llegeix els dos últims registres de la taula 'llibres'. Aquí, el conjunt de resultats s'ordena en ordre descendent en funció del camp 'id'.

SELECCIONA * DE llibres COMANDA PER id DESC LÍMIT 2 ;

Els dos últims registres de la taula de llibres es mostren a la sortida següent:

Llegiu la taula a partir de la concordança parcial

La clàusula LIKE s'utilitza amb el símbol '%' per recuperar els registres de la taula mitjançant una concordança parcial. La següent instrucció SELECT cerca els registres de la taula 'llibres' on el camp d'autor conté 'John' al començament del valor mitjançant la clàusula LIKE. Aquí, el símbol '%' s'utilitza al final de la cadena de cerca.

SELECCIONA * DE llibres ON autor M'AGRADA 'John%' ;

Només existeix un registre a la taula 'llibres' que conté la cadena 'John' a l'inici del valor del camp de l'autor.

La següent instrucció SELECT cerca els registres de la taula 'llibres' on el camp de publicació conté 'Ltd' al final del valor mitjançant la clàusula LIKE. Aquí, el símbol '%' s'utilitza al començament de la cadena de cerca:

SELECCIONA * DE llibres ON publicació M'AGRADA '% Ltd' ;

Només existeix un registre a la taula 'llibres' que conté la cadena 'Ltd' al final del camp de publicació.

La següent instrucció SELECT cerca els registres de la taula 'llibres' on el camp del títol conté les 'Consultes' a qualsevol part del valor mitjançant la clàusula LIKE. Aquí, el símbol '%' s'utilitza als dos costats de la cadena de cerca:

SELECCIONA * DE llibres ON títol M'AGRADA '%Consultes%' ;

Només existeix un registre a la taula 'llibres' que conté la cadena 'Consultes' al camp del títol.

Comptar la suma del camp particular de la taula

SUM() és una altra funció agregada útil d'SQL que calcula la suma dels valors de qualsevol camp numèric de la taula. Aquesta funció pren un argument que ha de ser numèric. La següent instrucció SQL calcula la suma de tots els valors del camp de preu de la taula 'llibres' que conté valors enters.

SELECCIONA SUMA ( preu ) AS 'Preu total del llibre'.
DE llibres;

La sortida mostra el valor de suma de tots els valors del camp de preus de la taula 'llibres'. Quatre valors del camp de preu són 39, 49, 35 i 45. La suma d'aquests valors és 168.

Trobeu els valors màxims i mínims del camp concret

Les funcions d'agregació MIN() i MAX() s'utilitzen per esbrinar els valors mínims i màxims del camp concret de la taula. Les dues funcions prenen un argument que ha de ser numèric. La següent instrucció SQL descobreix el valor del preu mínim de la taula 'llibres', que és un nombre enter.

SELECCIONA MIN ( preu ) AS `Llibre de cost mínim` DE llibres;

Trenta-cinc (35) és el valor mínim del camp de preu que s'imprimeix a la sortida.

La següent instrucció SQL esbrina el valor màxim del preu de la taula 'llibres':

SELECCIONA MAX ( preu ) AS `Llibre de cost màxim` DE llibres;

Quaranta-nou (49) és el valor màxim del camp de preu que s'imprimeix a la sortida.

Llegeix la part concreta de les dades o d'un camp

La funció SUBSTR() s'utilitza a la instrucció SQL per recuperar la part concreta de les dades de la cadena o el valor del camp concret d'una taula. Aquesta funció conté tres arguments. El primer argument conté el valor de cadena o un valor de camp d'una taula que és una cadena. El segon argument conté la posició inicial de la subcadena que es recupera del primer argument i el recompte d'aquest valor comença a partir d'1. El tercer argument conté la longitud de la subcadena que comença a comptar des de la posició inicial.

La següent instrucció SELECT retalla i imprimeix els primers cinc caràcters de la cadena 'Aprendre conceptes bàsics d'SQL' on la posició inicial és 1 i la longitud és 5:

SELECCIONA SUBSTR ( 'Aprèn conceptes bàsics d'SQL' , 1 , 5 ) AS `Valor de la subcadena` ;

Els cinc primers caràcters de la cadena 'Aprendre conceptes bàsics d'SQL' són 'Aprendre', que s'imprimeix a la sortida.

La següent instrucció SELECT talla i imprimeix l'SQL de la cadena 'Aprèn conceptes bàsics d'SQL' on la posició inicial és 7 i la longitud és 3:

SELECCIONA SUBSTR ( 'Aprèn conceptes bàsics d'SQL' , 7 , 3 ) AS `Valor de la subcadena` ;

La sortida següent apareix després d'executar la consulta anterior:

La següent instrucció SELECT retalla i imprimeix els primers cinc caràcters del camp de nom de la taula 'membres':

SELECCIONA SUBSTR ( nom , 1 , 5 ) AS 'Nom del membre'. DE membres;

La sortida mostra els cinc primers caràcters de cada valor del camp de nom de la taula 'membres'.

Llegiu les dades de la taula després de la concatenació

La funció CONCAT() s'utilitza per generar la sortida combinant un o més camps d'una taula o afegint les dades de la cadena o el valor de camp particular de la taula. La següent instrucció SQL llegeix els valors dels camps de títol, autor i preu de la taula 'llibres', i el valor de cadena '$' s'afegeix amb cada valor del camp de preu mitjançant la funció CONCAT().

SELECCIONA títol AS Títol , autor AS Autor , CONCAT ( '$' , preu ) AS Preu
DE llibres;

Els valors del camp de preu s'imprimeixen a la sortida mitjançant la concatenació amb la cadena '$'.

Executeu la següent instrucció SQL per combinar els valors dels camps de títol i autor de la taula 'llibres' amb el valor de cadena 'per' mitjançant la funció CONCAT():

SELECCIONA CONCAT ( títol , 'per' , autor ) AS `Nom del llibre amb autor`
DE llibres;

La sortida següent apareix després d'executar la consulta SELECT anterior:

Llegeix les dades de la taula després d'un càlcul matemàtic

Qualsevol càlcul matemàtic es pot realitzar en el moment de recuperar els valors de la taula mitjançant una instrucció SELECT. Executeu la següent instrucció SQL per llegir l'identificador, el títol, el preu i el valor del preu descomptat després de calcular el descompte del 5%.

SELECCIONA id , títol , preu AS 'Preu regular'. , preu - ( preu * 5 / 100 ) AS 'Preu de descompte'.
DE llibres;

La sortida següent mostra el preu habitual i el preu de descompte de cada llibre:

Creeu una vista de la taula

La VIEW s'utilitza per fer la consulta senzilla i proporcionar seguretat addicional a la base de dades. Funciona com una taula virtual que es genera a partir d'una o més taules. A l'exemple següent es mostra el mètode de creació i execució d'una VISTA senzilla basada en la taula 'membres'. La VIEW s'executa mitjançant la instrucció SELECT. La següent instrucció SQL crea una VISUALITZACIÓ de la taula 'members' amb els camps id, name, address i contact_no. La instrucció SELECT executa la vista_membre.

CREAR VISUALITZACIÓ vista_membre AS
SELECCIONA id , nom , adreça , contact_no
DE membres;

SELECCIONA * DE vista_membre;

La sortida següent apareix després de crear i executar la vista:

Actualitzeu la taula en funció de la condició particular

La instrucció UPDATE s'utilitza per actualitzar el contingut de la taula. Si s'executa qualsevol consulta UPDATE sense la clàusula WHERE, s'actualitzen tots els camps que s'utilitzen a la consulta UPDATE. Per tant, cal utilitzar una instrucció UPDATE amb la clàusula WHERE adequada. Executeu la següent instrucció UPDATE per actualitzar els camps name i contact_no on el valor del camp id és 1. A continuació, executeu la instrucció SELECT per comprovar si les dades s'actualitzen correctament o no.

ACTUALITZACIÓ membres
CONJUNT nom = 'Janifer' , contact_no = '+880175621223'
ON id = 1 ;

SELECCIONA * DE membres;

La sortida següent mostra que la instrucció UPDATE s'ha executat correctament. El valor del camp de nom es canvia a 'Janifer' i el camp contact_no es canvia a '+880175621223' del registre que conté el valor d'identificador d'1 mitjançant la consulta UPDATE:

Suprimiu les dades de la taula en funció de la condició particular

La instrucció DELETE s'utilitza per eliminar el contingut específic o tot el contingut de la taula. Si s'executa qualsevol consulta DELETE sense la clàusula WHERE, s'eliminen tots els camps. Per tant, cal utilitzar la instrucció UPDATE amb la clàusula WHERE adequada. Executeu la següent instrucció DELETE per suprimir totes les dades de la taula de llibres on el valor d'identificador és 4. A continuació, executeu la instrucció SELECT per comprovar si les dades s'han suprimit correctament o no.

ELIMINAR DE llibres ON id = 4 ;
SELECCIONA * DE llibres;

La sortida següent mostra que la instrucció DELETE s'executa correctament. El 4 th El registre de la taula de llibres s'elimina mitjançant la consulta DELETE:

Suprimeix tots els registres de la taula

Executeu la següent instrucció DELETE per suprimir tots els registres de la taula 'llibres' on s'omet la clàusula WHERE. A continuació, executeu la consulta SELECT per comprovar el contingut de la taula.

ELIMINAR DE informació_de_préstec_libre;
SELECCIONA * DE informació_de_préstec_libre;

La sortida següent mostra que la taula 'llibres' està buida després d'executar la consulta DELETE:

Si alguna taula conté un atribut d'increment automàtic i se suprimeixen tots els registres de la taula, el camp d'increment automàtic comença a comptar des de l'últim increment quan s'insereix un registre nou després de deixar la taula buida. Aquest problema es pot resoldre mitjançant la instrucció TRUNCATE. També s'utilitza per suprimir tots els registres de la taula, però el camp d'increment automàtic comença a comptar des d'1 després d'eliminar tots els registres de la taula. L'SQL de la instrucció TRUNCATE es mostra a continuació:

TRUNCAR informació_de_préstec_libre;

Deixeu anar la taula

Es poden eliminar una o més taules comprovant o sense comprovar si la taula existeix o no. Les següents sentències DROP suprimeixen la taula 'book_borrow_info' i la sentència 'SHOW tables' comprova si la taula existeix o no al servidor.

TIRAR TAULA informació_de_préstec_libre;
ESPECTACLE TAULES ;

La sortida mostra que la taula 'book_borrow_info' s'ha eliminat.

La taula es pot eliminar després de comprovar si existeix al servidor o no. Executeu la següent instrucció DROP per suprimir la taula de llibres i membres si aquestes taules existeixen al servidor. A continuació, la instrucció 'SHOW tables' comprova si les taules existeixen o no al servidor.

TIRAR TAULA SI EXISTEIX llibres , membres;
ESPECTACLE TAULES ;

La sortida següent mostra que les taules s'han suprimit del servidor:

Deixeu anar la base de dades

Executeu la següent instrucció SQL per eliminar la base de dades 'biblioteca' del servidor:

TIRAR BASE DE DADES biblioteca;

La sortida mostra que la base de dades s'ha eliminat.

Conclusió

Els exemples de consulta SQL més utilitzats per crear, accedir, modificar i eliminar la base de dades del servidor MariaDB es mostren en aquest tutorial mitjançant la creació d'una base de dades i tres taules. Els usos de diferents sentències SQL s'expliquen amb exemples molt senzills per ajudar el nou usuari de la base de dades a aprendre correctament els conceptes bàsics d'SQL. Aquí s'ometen els usos de consultes complexes. Els nous usuaris de la base de dades podran començar a treballar amb qualsevol base de dades després de llegir correctament aquest tutorial.