30 SQL lekérdezési példa

30 Sql Lekerdezesi Pelda



Az SQL teljes formája a Structured Query nyelv. Nagyon hasznos eszköz az adatbázis szerkezetének és adatainak eléréséhez vagy módosításához. Sok alkalmazásnak szüksége van az adatbázisra, hogy a szükséges adatokat egy adatbázisban, strukturált formátumban tartósan tárolja. A MySQL, Oracle, SQL Server stb. népszerű adatbázisok az alkalmazás adatainak tárolására. Elengedhetetlenek az SQL alapjainak elsajátításához az adatbázis tartalmának eléréséhez vagy módosításához. Ebben az oktatóanyagban 30 SQL-lekérdezési példa segítségével mutatjuk be az SQL-utasítások alapvető használatát a MariaDB-adatbázison.

Előfeltételek

Az oktatóanyagban szereplő példák gyakorlása előtt telepítenie kell az adatbázis-kiszolgálót az ügyféllel. Ebben az oktatóanyagban a MariaDB adatbázis-kiszolgálót és a klienst használjuk.

1. Futtassa a következő parancsokat a rendszer frissítéséhez:







$ sudo apt-get frissítés

2. Futtassa a következő parancsot a MariaDB szerver és kliens telepítéséhez:



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

3. Futtassa a következő parancsot a MariaDB adatbázis biztonsági parancsfájljának telepítéséhez:



$ sudo mysql_secure_installation

4. Futtassa a következő parancsot a MariaDB szerver újraindításához:





$ sudo /etc/init.d/mariadb újraindítás

6. Futtassa a következő parancsot a MariaDB szerverre való bejelentkezéshez:

$ sudo mariadb -u gyökér -p

SQL lekérdezési példák listája



  1. Hozza létre az adatbázist
  2. Hozd létre a táblázatokat
  3. Nevezze át a táblázat nevét
  4. Adjon hozzá egy új oszlopot a táblázathoz
  5. Távolítsa el az oszlopot a táblázatból
  6. Szúrjon be egy sort a táblázatba
  7. Szúrjon be több sort a táblázatba
  8. Olvassa el az összes konkrét mezőt a táblázatból
  9. Olvassa el a táblázatot, miután kiszűrte az adatokat a táblázatból
  10. Olvassa el a táblázatot az adatok logikai logika alapján történő szűrése után
  11. Olvassa el a táblázatot a sorok adattartomány alapján történő szűrése után
  12. Olvassa el a táblázatot, miután rendezte a táblázatot az adott oszlopok alapján.
  13. Olvassa el a táblázatot az oszlop alternatív nevének megadásával
  14. Számolja meg a táblázat sorainak teljes számát
  15. Olvassa be az adatokat több táblából
  16. Olvassa el a táblázatot az adott mezők csoportosításával
  17. Olvassa el a táblázatot az ismétlődő értékek elhagyása után
  18. Olvassa el a táblázatot a sorszám korlátozásával
  19. Olvassa el a táblázatot a részleges egyezés alapján
  20. Számolja meg a táblázat adott mezőjének összegét
  21. Keresse meg az adott mező maximális és minimális értékét
  22. Olvassa el a mező adott részének adatait
  23. Olvassa el a táblázat adatait az összefűzés után
  24. Olvassa el a táblázat adatait a matematikai számítás után
  25. Hozzon létre egy nézetet a táblázatról
  26. Frissítse a táblázatot az adott feltétel alapján
  27. Törölje a táblázat adatait az adott feltétel alapján
  28. Törölje az összes rekordot a táblázatból
  29. Dobd le az asztalt
  30. Dobja el az adatbázist

Hozza létre az adatbázist

Tegyük fel, hogy meg kell terveznünk egy egyszerű adatbázist a Könyvtárkezelő rendszerhez. A feladat végrehajtásához létre kell hozni egy adatbázist a kiszolgálón, amely több relációs táblát tartalmaz. Az adatbázis-kiszolgálóra való bejelentkezés után futtassa a következő parancsot egy „library” nevű adatbázis létrehozásához a MariaDB adatbázis-kiszolgálón:

TEREMT ADATBÁZIS könyvtár;

A kimenet azt mutatja, hogy a könyvtári adatbázis létrejött a szerveren:

Futtassa a következő parancsot az adatbázis kiválasztásához a kiszolgálóról különböző típusú adatbázis-műveletek végrehajtásához:

HASZNÁLAT könyvtár;

A kimenet azt mutatja, hogy a könyvtári adatbázis ki van választva:

Hozd létre a táblázatokat

A következő lépés a szükséges táblák létrehozása az adatbázis számára az adatok tárolására. Az oktatóanyag ebben a részében három táblázat készül. Ezek könyvek, tagok és kölcsönzési_információs táblázatok.

  1. A könyvtáblázat minden könyvvel kapcsolatos adatot tárol.
  2. A tagok táblázata minden információt tárol a könyvet a könyvtárból kölcsönző tagokról.
  3. A kölcsönzési_információ tábla azt az információt tárolja, hogy melyik könyvet melyik tag kölcsönzi.

1. Könyvek asztal

Futtassa a következő SQL utasítást egy „books” nevű tábla létrehozásához a „library” adatbázisban, amely hét mezőt és egy elsődleges kulcsot tartalmaz. Itt az „id” mező az elsődleges kulcs, az adattípus pedig az int. Az auto_increment attribútumot az „id” mezőben használják. Tehát ennek a mezőnek az értéke automatikusan növekszik új sor beszúrásakor. A varchar adattípus a változó hosszúságú karakterlánc adatok tárolására szolgál. A cím, szerző, publikáció és isbn mezők tárolják a karakterlánc adatait. A total_copy és ár mező adattípusa int. Tehát ezek a mezők a numerikus adatokat tárolják.

TEREMT ASZTAL könyveket (
id INT AUTO_INCREMENT ,
cím VARCHAR ( ötven ) ,
szerző VARCHAR ( ötven ) ,
kiadvány VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
total_copy INT ,
ár INT ,
ELSŐDLEGES KULCS ( id ) ) ;

A kimenet azt mutatja, hogy a „könyvek” tábla sikeresen létrejött:

2. Tagok asztal

Futtassa a következő SQL utasítást egy „members” nevű tábla létrehozásához a „library” adatbázisban, amely 5 mezőt és egy elsődleges kulcsot tartalmaz. Az „id” mező az auto_increment attribútumot tartalmazza, mint például a „books” táblázat. A többi mező adattípusa varchar. Tehát ezek a mezők tárolják a karakterlánc-adatokat.

TEREMT ASZTAL tagjai (
id INT AUTO_INCREMENT ,
név VARCHAR ( ötven ) ,
cím VARCHAR ( 200 ) ,
Elérhetőség VARCHAR ( tizenöt ) ,
email VARCHAR ( ötven ) ,
ELSŐDLEGES KULCS ( id ) ) ;

A kimenet azt mutatja, hogy a „tagok” tábla sikeresen létrejött:

3. Kölcsönzés_információ asztal

Futtassa a következő SQL utasítást, hogy létrehozzon egy „borrow_info” nevű táblát a „library” adatbázisban, amely 6 mezőt tartalmaz. Itt az „id” mező az elsődleges kulcs, de az auto_increment attribútum nem használatos ehhez a mezőhöz. Tehát egy egyedi érték kézzel szúródik be ebbe a mezőbe, amikor új rekordot szúr be a táblába. A book_id és a member_id mezők idegen kulcsok ehhez a táblához; ezek a „könyvek” és a „tagok” tábla elsődleges kulcsai. A kölcsönzés_dátuma és a visszatérési_dátum mező adattípusa dátum. Tehát ez a két mező a dátumértéket „ÉÉÉÉ-HH-NN” formátumban tárolja.

TEREMT ASZTAL kölcsönzési_információ (
id INT ,
kölcsönzés_dátuma DÁTUM ,
könyv_azonosítója INT ,
tag-azonosító INT ,
visszatérítési dátum DÁTUM ,
ÁLLAPOT VARCHAR ( 10 ) ,
ELSŐDLEGES KULCS ( id ) ,
KÜLFÖLDI KULCS ( könyv_azonosítója ) IRODALOM könyveket ( id ) ,
KÜLFÖLDI KULCS ( tag-azonosító ) IRODALOM tagjai ( id ) ) ;

A kimenet azt mutatja, hogy a „borrow_info” tábla sikeresen létrejött:

Nevezze át a táblázat nevét

Az ALTER TABLE utasítás többféle célra használható az SQL utasításokban. Futtassa a következő ALTER TABLE utasítást a „kölcsönzési_információ” tábla nevének „book_borrow_info”-ra történő módosításához. Ezután a SHOW tables utasítással ellenőrizhető, hogy a tábla neve megváltozott-e vagy sem.

VÁLTOZTAT ASZTAL kölcsönzési_információ ÁTNEVEZÉS NAK NEK könyv_kölcsönzési_információja;
ELŐADÁS TÁBLÁZATOK ;

A kimenet azt mutatja, hogy a tábla neve sikeresen megváltozott, és a borrow_info tábla neve book_borrow_info-ra módosult:

Adjon hozzá egy új oszlopot a táblázathoz

Az ALTER TABLE utasítás használható egy vagy több oszlop hozzáadására vagy törlésére a táblázat létrehozása után. A következő ALTER TABLE utasítás egy új „status” nevű mezőt ad a táblatagokhoz. A DESCRIBE utasítás annak kimutatására szolgál, hogy a tábla szerkezete megváltozott-e vagy sem.

VÁLTOZTAT ASZTAL tagjai HOZZÁAD ÁLLAPOT VARCHAR ( 10 ) ;
LEÍRÁS tagok;

A kimenet azt mutatja, hogy a „members” táblához egy új „status” oszlop kerül hozzáadásra, és a tábla adattípusa a varchar:

Távolítsa el az oszlopot a táblázatból

A következő ALTER TABLE utasítás törli a „status” nevű mezőt a „tagok” táblából. A DESCRIBE utasítás annak kimutatására szolgál, hogy a tábla szerkezete megváltozott-e vagy sem.

VÁLTOZTAT ASZTAL tagjai CSEPP OSZLOP ÁLLAPOT ;
LEÍRÁS tagok;

A kimenet azt mutatja, hogy az „állapot” oszlop eltávolítva a „tagok” táblából:

Szúrjon be egy sort a táblázatba

Az INSERT INTO utasítás egy vagy több sor beszúrására szolgál a táblázatba. Futtassa a következő SQL utasítást egyetlen sor beszúrásához a „books” táblába. Itt az „id” mező kimarad ebből a lekérdezésből, mert automatikusan beszúrásra kerül a rekordba, amikor új rekordot szúrnak be az auto-increment attribútumhoz. Ha ezt a mezőt használja az INSERT utasításban, akkor az értéknek NULL-nak kell lennie.

BESZÁLLÍTÁS BA könyveket ( cím , szerző , kiadvány , isbn , total_copy , ár )
ÉRTÉKEK ( 'SQL 10 perc alatt' , 'Ben Forta' , 'Sams Publishing' , '784534235' , 5 , 39 ) ;

A kimenet azt mutatja, hogy egy rekord sikeresen hozzáadásra került a „könyvek” táblához:

Az adatokat a SET záradékkal lehet beilleszteni a táblázatba, ahol minden mezőérték külön-külön van hozzárendelve. Futtassa a következő SQL utasítást egyetlen sor beszúrásához a „members” táblába az INSERT INTO és a SET záradékkal. Az „id” mező ebben a lekérdezésben is kimaradt, mint az előző példában, ugyanezen okból.

BESZÁLLÍTÁS BA tagjai
KÉSZLET név = 'John Sina' , cím = „34, Dhanmondi 9/A, Dhaka” , Elérhetőség = „+14844731336” , email = 'john@gmail.com' ;

A kimenet azt mutatja, hogy egy rekord sikeresen hozzáadva a tagtáblához:

Futtassa a következő SQL utasítást egyetlen sor beszúrásához a „book_borrow_info” táblába:

BESZÁLLÍTÁS BA könyv_kölcsönzési_információ ( id , kölcsönzés_dátuma , könyv_azonosítója , tag-azonosító , visszatérítési dátum , ÁLLAPOT )
ÉRTÉKEK ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'kölcsönzött' ) ;

A kimenet azt mutatja, hogy egy rekord hozzáadásra került a „book_borrow_info” táblához:

Szúrjon be több sort a táblázatba

Néha több rekordot kell hozzáadni egyszerre egyetlen INSERT INTO utasítással. Futtassa a következő SQL utasítást három rekord beszúrásához a „books” táblába egyetlen INSERT INTO utasítás használatával. Ebben az esetben az VALUES záradékot egyszer használjuk, és az egyes rekordok adatait vesszővel választjuk el.

BESZÁLLÍTÁS BA könyveket ( cím , szerző , kiadvány , isbn , total_copy , ár )
ÉRTÉKEK
( 'SQL Cookbook (O'Reilly)' , 'Anthony Molinaro' , 'O'Reilly' , '2467777532' , 10 , 49 ) ,
( 'SQL lekérdezések egyszerű halandók számára' , 'John Viescas' , 'Addison-Wesley' , '673456234' , tizenöt , 35 ) ,
( 'SQL tanulás' , 'Alan Beaulieu' , 'Penguin Books Ltd' , '534433222' , 12 , Négy öt ) ;

A kimenet azt mutatja, hogy három rekordot adunk hozzá a „könyvek” táblához:

Olvassa el az összes konkrét mezőt a táblázatból

A SELECT utasítás az „adatbázis” tábla adatainak kiolvasására szolgál. A „*” szimbólum a tábla összes mezőjének jelölésére szolgál a SELECT utasításban. Futtassa a következő SQL parancsot a könyvek tábla összes rekordjának olvasásához:

KIVÁLASZTÁS * TÓL TŐL könyvek;

A kimenet a 4 rekordot tartalmazó könyvtáblázat összes rekordját mutatja:

Futtassa a következő SQL parancsot a „members” tábla három mezőjének összes rekordjának olvasásához:

KIVÁLASZTÁS név , email , Elérhetőség TÓL TŐL tagok;

A kimenet a „tagok” tábla három mezőjének összes rekordját mutatja:

Olvassa el a táblázatot, miután kiszűrte az adatokat a táblázatból

A WHERE záradék az adatok egy vagy több feltétel alapján történő kiolvasására szolgál egy táblázatból. Futtassa a következő SELECT utasítást a „books” tábla összes olyan mezőjének minden rekordjának elolvasásához, ahol a szerző neve „John Viescas”.

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL szerző = 'John Viescas' ;

A „books” tábla egy rekordot tartalmaz, amely megfelel a WHERE záradék feltételének, amely a kimenetben látható:

Olvassa el a táblázatot az adatok logikai logika alapján történő szűrése után

A logikai ÉS logika több feltétel meghatározására szolgál a WHERE záradékban, amelyek igazat adnak vissza, ha minden feltétel igazat ad vissza. Futtassa a következő SELECT utasítást a „books” tábla összes olyan mezőjének minden rekordjának olvasásához, ahol a total_copy mező értéke több mint 10, és az ár mező értéke kisebb, mint 45 a logikai ÉS segítségével.

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL total_copy > 10 ÉS ár < Négy öt ;

A könyvek táblázat egy rekordot tartalmaz, amely megfelel a WHERE záradék feltételének, amely a kimenetben látható:

A logikai VAGY logika több feltétel meghatározására szolgál a WHERE záradékban, amely igazat ad vissza, ha bármelyik feltétel igaz értéket ad vissza. Futtassa a következő SELECT utasítást a „books” tábla összes olyan mezőjének minden rekordjának olvasásához, ahol a total_copy mező értéke több mint 10, vagy az ár mező értéke több mint 40.

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL total_copy > 10 VAGY ár > 40 ;

A könyvek táblázat három olyan rekordot tartalmaz, amelyek megfelelnek a WHERE záradék feltételének, amely a kimenetben látható:

A logikai NOT logika a hamis érték visszaadására szolgál, ha a feltétel igaz, és igazat ad vissza, ha a feltétel hamis. Futtassa a következő SELECT utasítást a „books” tábla összes olyan mezőjének minden rekordjának elolvasásához, ahol a szerző mező értéke nem „Addison-Wesley”.

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL NEM szerző = 'Addison-Wesley' ;

A „books” táblázat három olyan rekordot tartalmaz, amelyek megfelelnek a WHERE záradék feltételének, amely a kimenetben látható:

Olvassa el a táblázatot a sorok adattartomány alapján történő szűrése után

A BETWEEN záradék az adatbázistáblából az adatok tartományának kiolvasására szolgál. Futtassa a következő SELECT utasítást a „books” tábla összes olyan mezőjének minden rekordjának olvasásához, ahol az ármező értéke 40 és 50 között van.

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL ár KÖZÖTT 40 ÉS ötven ;

A könyvek táblázat két olyan rekordot tartalmaz, amelyek megfelelnek a kimenetben megjelenő WHERE záradék feltételének. A 39-es és 35-ös árértékek könyvei kimaradnak az eredményhalmazból, mert ezek kívül esnek a tartományon.

A táblázat rendezése után olvassa el a táblázatot

Az ORDER BY záradék a SELECT utasítás eredményhalmazának növekvő vagy csökkenő sorrendbe rendezésére szolgál. Az eredményhalmaz alapértelmezés szerint növekvő sorrendben történik, ha az ORDER BY záradékot ASC vagy DESC nélkül használja. A következő SELECT utasítás beolvassa a rendezett rekordokat a könyvtáblázatból a címmező alapján:

KIVÁLASZTÁS * TÓL TŐL könyveket RENDELÉS ÁLTAL cím;

A „könyvek” tábla címmezőjének adatai a kimenetben növekvő sorrendbe kerülnek. A „Learning SQL” könyv ábécé sorrendben az első, ha a „books” táblázat címmezője növekvő sorrendben van rendezve.

Olvassa el a táblázatot az oszlop alternatív nevének megadásával

A lekérdezésben az oszlop alternatív neve kerül felhasználásra, hogy olvashatóbbá tegye az eredménykészletet. Az alternatív név beállítása az „AS” kulcsszó használatával történik. A következő SQL utasítás a cím és a szerző mező értékeit adja vissza az alternatív nevek beállításával.

KIVÁLASZTÁS cím MINT 'Könyv neve'. , szerző MINT 'Szerző neve'.
TÓL TŐL könyvek;

A cím mező a „Könyv neve” alternatív névvel, a szerző mező pedig a „Szerző neve” alternatív névvel jelenik meg a kimenetben.

Számolja meg a táblázat sorainak teljes számát

A COUNT() az SQL összesítő függvénye, amely a sorok teljes számának megszámlálására szolgál az adott mező vagy az összes mező alapján. A „*” szimbólum az összes mezőt jelöli, a COUNT(*) pedig a táblázat összes rekordját.

A következő lekérdezés a könyvtáblázat összes rekordját számolja meg:

KIVÁLASZTÁS SZÁMOL ( * ) MINT 'Összes könyv'. TÓL TŐL könyvek;

A „könyvek” táblázat négy rekordja jelenik meg a kimenetben:

A következő lekérdezés a „members” tábla összes sorát számolja az „id” mező alapján:

KIVÁLASZTÁS SZÁMOL ( id ) MINT 'Összes tag'. TÓL TŐL tagok;

A „tagok” táblának két azonosítóértéke van, amelyek a kimenetben jelennek meg:

Olvassa be az adatokat több táblából

A korábbi SELECT utasítások egyetlen táblából kérték le az adatokat. De a SELECT utasítással két vagy több tábla adatai is lekérhetők. A következő SELECT lekérdezés beolvassa a cím és szerző mezők értékeit a „books” táblából és a kölcsönzés dátumát a „book_borrow_info” táblából.

KIVÁLASZTÁS cím , szerző , kölcsönzés_dátuma
TÓL TŐL könyveket , könyv_kölcsönzési_információ
AHOL könyveket . id = könyv_kölcsönzési_információ . könyv_azonosítója;

A következő kimenet azt mutatja, hogy az „SQL in 10 Minutes” könyvet kétszer, az „SQL Cookbook (O’Reilly)” könyvet pedig egyszer kölcsönözték:

Az adatok lekérhetők a több táblából különböző típusú CSATLAKOZÁSOK segítségével, például BELSŐ CSATLAKOZÁS, KÜLSŐ CSATLAKOZÁS stb., amelyeket ebben az oktatóanyagban nem ismertetünk.

Olvassa el a táblázatot az adott mezők csoportosításával

A GROUP BY záradék a rekordok táblából történő kiolvasására szolgál a sorok egy vagy több mező alapján történő csoportosításával. Az ilyen típusú lekérdezéseket összefoglaló lekérdezésnek nevezzük. A GROUP BY záradék használatának ellenőrzéséhez több sort kell beszúrnia a táblázatokba. Futtassa a következő INSERT utasításokat, hogy egy rekordot szúrjon be a „members” táblába és két rekordot a „book_borrow_info” táblába.

BESZÁLLÍTÁS BA tagjai
KÉSZLET név = 'Ő Hasan' , cím = „11/A, Jigatola, Dhaka” , Elérhetőség = „+8801734563423” , email = 'she@gmail.com' ;
BESZÁLLÍTÁS BA könyv_kölcsönzési_információ ( id , kölcsönzés_dátuma , könyv_azonosítója , tag-azonosító , visszatérítési dátum , ÁLLAPOT )
ÉRTÉKEK ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'visszatért' ) ;
BESZÁLLÍTÁS BA könyv_kölcsönzési_információ ( id , kölcsönzés_dátuma , könyv_azonosítója , tag-azonosító , visszatérítési dátum , ÁLLAPOT )
ÉRTÉKEK ( 3 , '2023-05-20' , 2 , 1 , '2023-05-30' , 'kölcsönzött' ) ;

Miután beszúrta az adatokat az előző lekérdezések végrehajtásával, futtassa a következő SELECT utasítást, amely megszámolja a kölcsönzött könyvek teljes számát és a tag nevét a GROUP BY záradékot használó egyes tagok alapján. Itt a COUNT() függvény azon a mezőn működik, amely a rekordok GROUP BY záradékkal történő átcsoportosítására szolgál. A „members” tábla book_id mezője itt a csoportosításra szolgál.

KIVÁLASZTÁS SZÁMOL ( könyv_azonosítója ) MINT 'Összes kölcsönzött könyv'. , név MINT 'Tag neve'. TÓL TŐL könyveket , tagjai , könyv_kölcsönzési_információ AHOL könyveket . id = könyv_kölcsönzési_információ . könyv_azonosítója ÉS tagjai . id = könyv_kölcsönzési_információ . tag-azonosító CSOPORT ÁLTAL könyv_kölcsönzési_információ . tag-azonosító;

A könyvek, „tagok” és „könyv_kölcsönzési_információ” táblák adatai szerint „John Sina” 2, „Ella Hasan” 1 könyvet kölcsönzött.

Olvassa el a táblázatot az ismétlődő értékek elhagyása után

Néha a SELECT utasítás eredménykészletében duplikált adatok jönnek létre a szükségtelen táblaadatok alapján. Például a következő SELECT utasítás a „book_browrow_info” tábla adatainak ismétlődő rekordjait adja vissza.

KIVÁLASZTÁS név , email
TÓL TŐL tagjai , könyv_kölcsönzési_információ
AHOL könyv_kölcsönzési_információ . tag-azonosító = tagjai . id;

A kimenetben ugyanaz a rekord kétszer jelenik meg, mert a „John Sina” tag két könyvet kölcsönzött. Ezt a problémát a DISTINCT kulcsszó segítségével lehet megoldani. Eltávolítja az ismétlődő rekordokat a lekérdezés eredményéből.

A következő SELECT utasítás egyedi rekordokat generál az eredményhalmazról a „members” és a „book_borrow_info” táblákból, miután a lekérdezésben a DISTINCT kulcsszó használatával kihagyja az ismétlődő értékeket.

KIVÁLASZTÁS KÜLÖNBÖZŐ név , email
TÓL TŐL tagjai , könyv_kölcsönzési_információ
AHOL könyv_kölcsönzési_információ . tag-azonosító = tagjai . id;

A kimenet azt mutatja, hogy a duplikált érték eltávolításra került az eredménykészletből:

Olvassa el a táblázatot a sorszám korlátozásával

Néha az eredményhalmaz elejétől, az eredményhalmaz végétől vagy az eredményhalmaz közepétől az adott számú rekordot ki kell olvasni az adatbázistáblából a sorszám korlátozásával. Sokféleképpen meg lehet csinálni. A sorok korlátozása előtt futtassa a következő SQL utasítást, hogy ellenőrizze, hány rekord van a könyvtáblában:

KIVÁLASZTÁS * TÓL TŐL könyvek;

A kimenet azt mutatja, hogy a könyvtáblázat négy rekordot tartalmaz:

A következő SELECT utasítás beolvassa az első két rekordot a „books” táblából a LIMIT záradékkal, amelynek értéke 2:

KIVÁLASZTÁS * TÓL TŐL könyveket HATÁR 2 ;

A „könyvek” tábla első két rekordja lekérésre kerül, amely a kimenetben látható:

A FETCH záradék a LIMIT záradék alternatívája, és ennek használatát a következő SELECT utasítás mutatja be. A „books” tábla első 3 rekordja a SELECT utasítás FETCH FIRST 3 ROWS ONLY záradékának használatával kerül lekérésre:

KIVÁLASZTÁS * TÓL TŐL könyvek FETCH ELSŐ 3 SOROK CSAK ;

A kimenet a „könyvek” tábla első 3 rekordját mutatja:

Két lemez a 3-ból rd A könyvek tábla sorát a következő SELECT utasítás végrehajtásával lehet lekérni. A LIMIT záradékot a 2, 2 értékkel használjuk itt, ahol az első 2 a táblázat 0-tól kezdődő sorának kezdőpozícióját határozza meg, a második 2 pedig a kezdőponttól kezdődő sorok számát határozza meg.

KIVÁLASZTÁS * TÓL TŐL könyveket HATÁR 2 , 2 ;

Az előző lekérdezés végrehajtása után a következő kimenet jelenik meg:

A tábla végéről származó rekordok úgy olvashatók le, hogy a táblát csökkenő sorrendbe rendezi az elsődleges kulcs automatikusan növekvő értéke alapján, és a LIMIT záradékot használja. Futtassa a következő SELECT utasítást, amely beolvassa a „books” tábla utolsó 2 rekordját. Itt az eredményhalmaz az „id” mező alapján csökkenő sorrendbe kerül.

KIVÁLASZTÁS * TÓL TŐL könyveket RENDELÉS ÁLTAL id DESC HATÁR 2 ;

A könyvtáblázat utolsó két rekordja a következő kimenetben látható:

Olvassa el a táblázatot a részleges egyezés alapján

A LIKE záradékot a „%” szimbólummal együtt használjuk a rekordok lekérésére a táblából részleges egyeztetéssel. A következő SELECT utasítás a „books” tábla rekordjaiban keres, ahol a szerző mezőben az érték elején a „János” szerepel a LIKE záradék használatával. Itt a „%” szimbólumot használjuk a keresési karakterlánc végén.

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL szerző MINT 'János%' ;

Csak egy rekord létezik a „books” táblában, amely tartalmazza a „János” karakterláncot a szerző mező értékének elején.

A következő SELECT utasítás a „books” tábla rekordjaiban keres, ahol a kiadvány mezőben az érték végén a „Ltd” szerepel a LIKE záradék használatával. Itt a „%” szimbólumot használjuk a keresési karakterlánc elején:

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL kiadvány MINT '%Kft' ;

Csak egy rekord létezik a „könyvek” táblában, amely tartalmazza a „Ltd” karakterláncot a publikációs mező végén.

A következő SELECT utasítás a „books” tábla rekordjaiban keres, ahol a címmező tartalmazza a „Querys”-t az érték bárhol a LIKE záradék használatával. Itt a „%” szimbólum a keresési karakterlánc mindkét oldalán található:

KIVÁLASZTÁS * TÓL TŐL könyveket AHOL cím MINT '%lekérdezések%' ;

Csak egy rekord létezik a „books” táblában, amely tartalmazza a „Lekérdezések” karakterláncot a címmezőben.

Számolja meg a táblázat adott mezőjének összegét

A SUM() az SQL másik hasznos összesítő függvénye, amely a tábla bármely numerikus mezőjének értékeinek összegét számítja ki. Ez a függvény egy argumentumot vesz fel, amelynek numerikusnak kell lennie. A következő SQL utasítás az egész értékeket tartalmazó „books” tábla ármezőjének összes értékének összegét számítja ki.

KIVÁLASZTÁS ÖSSZEG ( ár ) MINT 'A könyv teljes ára'.
TÓL TŐL könyvek;

A kimenet a „könyvek” tábla ármezőjének összes értékének összegzett értékét mutatja. Az ár mező négy értéke 39, 49, 35 és 45. Ezen értékek összege 168.

Keresse meg az adott mező maximális és minimális értékét

A MIN() és MAX() összesítő függvények a táblázat adott mezőjének minimális és maximális értékeinek meghatározására szolgálnak. Mindkét függvény egy argumentumot vesz fel, amelynek numerikusnak kell lennie. A következő SQL utasítás kideríti a minimális árértéket a „books” táblából, amely egy egész szám.

KIVÁLASZTÁS MIN ( ár ) MINT 'Minimális költség könyve'. TÓL TŐL könyvek;

Harmincöt (35) a kimenetben nyomtatott ármező minimális értéke.

A következő SQL utasítás a „books” táblából találja meg a maximális árértéket:

KIVÁLASZTÁS MAX ( ár ) MINT 'Maximális költség könyve'. TÓL TŐL könyvek;

A negyvenkilenc (49) a kimenetben kinyomtatott ármező maximális értéke.

Olvassa el az adat vagy egy mező adott részét

A SUBSTR() függvény az SQL utasításban a karakterlánc adatok adott részének vagy egy tábla adott mezőjének értékének lekérésére szolgál. Ez a függvény három argumentumot tartalmaz. Az első argumentum egy karakterlánc karakterlánc- vagy mezőértékét tartalmazza, amely egy karakterlánc. A második argumentum az első argumentumból leolvasott részkarakterlánc kezdőpozícióját tartalmazza, és ennek az értéknek a számlálása 1-től kezdődik. A harmadik argumentum annak a részkarakterláncnak a hosszát tartalmazza, amely a kezdőponttól kezdi a számolást.

A következő SELECT utasítás kivágja és kiírja az „SQL Basics megtanulása” karakterlánc első öt karakterét, ahol a kezdőpozíció 1, a hossza pedig 5:

KIVÁLASZTÁS SUBSTR ( 'Az SQL alapjainak megtanulása' , 1 , 5 ) MINT 'Substring Value'. ;

A „Learn SQL Basics” karakterlánc első öt karaktere a „Learn”, amely a kimenetben kerül nyomtatásra.

A következő SELECT utasítás kivágja és kiírja az SQL-t a „Learn SQL Basics” karakterláncból, ahol a kezdőpozíció 7, a hossza pedig 3:

KIVÁLASZTÁS SUBSTR ( 'Az SQL alapjainak megtanulása' , 7 , 3 ) MINT 'Substring Value'. ;

Az előző lekérdezés végrehajtása után a következő kimenet jelenik meg:

A következő SELECT utasítás kivágja és kiírja az első öt karaktert a „members” tábla névmezőjéből:

KIVÁLASZTÁS SUBSTR ( név , 1 , 5 ) MINT 'Tag neve'. TÓL TŐL tagok;

A kimenet a „tagok” tábla névmezőjének minden értékének első öt karakterét mutatja.

Olvassa el a táblázat adatait az összefűzés után

A CONCAT() függvény a kimenet létrehozására szolgál egy tábla egy vagy több mezőjének kombinálásával vagy a karakterlánc adatok vagy a tábla adott mezőértékének hozzáadásával. A következő SQL utasítás beolvassa a „books” tábla cím, szerző és ár mezőinek értékeit, és a „$” karakterlánc értéke hozzáadódik az ármező minden értékéhez a CONCAT() függvény segítségével.

KIVÁLASZTÁS cím MINT Cím , szerző MINT Szerző , CONCAT ( '$' , ár ) MINT Ár
TÓL TŐL könyvek;

Az ár mező értékei a „$” karakterlánccal összefűzve kerülnek a kimenetbe.

Futtassa a következő SQL utasítást a „books” tábla cím és szerző mezőinek értékeinek a „by” karakterlánc értékével való kombinálásához a CONCAT() függvény segítségével:

KIVÁLASZTÁS CONCAT ( cím , ' által' , szerző ) MINT `Könyv neve szerzővel`
TÓL TŐL könyvek;

A következő kimenet jelenik meg az előző SELECT lekérdezés végrehajtása után:

Olvassa el a táblázat adatait egy matematikai számítás után

A táblázat értékeinek SELECT utasítással történő lekérésekor bármilyen matematikai számítás elvégezhető. Futtassa a következő SQL utasítást az azonosító, a cím, az ár és a kedvezményes ár értékének olvasásához az 5% kedvezmény kiszámítása után.

KIVÁLASZTÁS id , cím , ár MINT 'Rendszeres ár'. , ár - ( ár * 5 / 100 ) MINT 'Kedvezményes ár'.
TÓL TŐL könyvek;

A következő kimenet az egyes könyvek normál árát és akciós árát mutatja:

Hozzon létre egy nézetet a táblázatról

A VIEW a lekérdezés egyszerűsítésére szolgál, és extra biztonságot nyújt az adatbázisnak. Úgy működik, mint egy virtuális tábla, amelyet egy vagy több táblából állítanak elő. Az alábbi példában bemutatjuk a „tagok” táblán alapuló egyszerű NÉZET létrehozásának és végrehajtásának módját. A VIEW a SELECT utasítással kerül végrehajtásra. A következő SQL utasítás NÉZETET hoz létre a „members” tábla azonosító, név, cím és contact_no mezőkkel. A SELECT utasítás végrehajtja a member_view parancsot.

TEREMT KILÁTÁS tag_view MINT
KIVÁLASZTÁS id , név , cím , Elérhetőség
TÓL TŐL tagok;

KIVÁLASZTÁS * TÓL TŐL tag_nézet;

A nézet létrehozása és végrehajtása után a következő kimenet jelenik meg:

Frissítse a táblázatot az adott feltétel alapján

Az UPDATE utasítás a tábla tartalmának frissítésére szolgál. Ha bármely UPDATE lekérdezést a WHERE záradék nélkül hajtanak végre, akkor az UPDATE lekérdezésben használt összes mező frissül. Tehát egy UPDATE utasítást kell használni a megfelelő WHERE záradékkal. Futtassa a következő UPDATE utasítást a név és a contact_no mezők frissítéséhez, ahol az id mező értéke 1. Ezután futtassa a SELECT utasítást annak ellenőrzéséhez, hogy az adatok megfelelően frissültek-e vagy sem.

FRISSÍTÉS tagjai
KÉSZLET név = 'Janifer' , Elérhetőség = „+880175621223”
AHOL id = 1 ;

KIVÁLASZTÁS * TÓL TŐL tagok;

A következő kimenet azt mutatja, hogy az UPDATE utasítás sikeresen végrehajtva. A név mező értéke „Janifer”-re, a contact_no mező pedig „+880175621223”-ra módosul azon rekordon, amely az 1-es azonosítóértéket tartalmazza az UPDATE lekérdezéssel:

Törölje a táblázat adatait az adott feltétel alapján

A DELETE utasítás a tábla adott vagy teljes tartalmának törlésére szolgál. Ha bármelyik DELETE lekérdezést a WHERE záradék nélkül hajtják végre, az összes mező törlődik. Tehát az UPDATE utasítást a megfelelő WHERE záradékkal együtt kell használni. Futtassa a következő DELETE utasítást az összes adat törléséhez a books táblából, ahol az id érték 4. Ezután hajtsa végre a SELECT utasítást, hogy ellenőrizze, hogy az adatok megfelelően törlődnek-e vagy sem.

TÖRÖL TÓL TŐL könyveket AHOL id = 4 ;
KIVÁLASZTÁS * TÓL TŐL könyvek;

A következő kimenet azt mutatja, hogy a DELETE utasítás sikeresen végrehajtásra került. A 4 th a könyvek táblázatának rekordja a DELETE lekérdezéssel törlődik:

Törölje az összes rekordot a táblázatból

Futtassa a következő DELETE utasítást az összes olyan rekord törléséhez a „books” táblából, ahol a WHERE záradék kimarad. Ezután hajtsa végre a SELECT lekérdezést a táblázat tartalmának ellenőrzéséhez.

TÖRÖL TÓL TŐL könyv_kölcsönzési_információja;
KIVÁLASZTÁS * TÓL TŐL könyv_kölcsönzési_információja;

A következő kimenet azt mutatja, hogy a „books” tábla üres a DELETE lekérdezés végrehajtása után:

Ha bármelyik tábla tartalmaz automatikus növekedés attribútumot, és az összes rekordot törölték a táblából, az automatikus növekedés mező az utolsó növekménytől kezdi a számolást, amikor új rekordot szúrnak be, miután a tábla kiürült. Ezt a problémát a TRUNCATE utasítással lehet megoldani. Az összes rekord törlésére is szolgál a táblából, de az automatikus növekedés mező 1-től kezdi a számolást, miután az összes rekordot törölte a táblából. A TRUNCATE utasítás SQL-je a következőkben látható:

CSONKA könyv_kölcsönzési_információja;

Dobd le az asztalt

Egy vagy több tábla eldobható ellenőrzéssel vagy anélkül, hogy a tábla létezik-e vagy sem. A következő DROP utasítások törlik a „book_borrow_info” táblát, a „SHOW tables” utasítás pedig ellenőrzi, hogy a tábla létezik-e a kiszolgálón vagy sem.

CSEPP ASZTAL könyv_kölcsönzési_információja;
ELŐADÁS TÁBLÁZATOK ;

A kimenet azt mutatja, hogy a „book_borrow_info” tábla kimaradt.

A tábla eldobható, miután ellenőriztük, hogy létezik-e a szerveren vagy sem. Futtassa a következő DROP utasítást a könyvek és a tagok tábla törléséhez, ha ezek a táblák léteznek a kiszolgálón. Ezután a „SHOW tables” utasítás ellenőrzi, hogy a táblák léteznek-e a szerveren.

CSEPP ASZTAL HA LÉTEZIK könyveket , tagok;
ELŐADÁS TÁBLÁZATOK ;

A következő kimenet azt mutatja, hogy a táblák törlődnek a szerverről:

Dobja el az adatbázist

Futtassa a következő SQL utasítást a „library” adatbázis törléséhez a kiszolgálóról:

CSEPP ADATBÁZIS könyvtár;

A kimenet azt mutatja, hogy az adatbázis megszakadt.

Következtetés

A MariaDB szerver adatbázisának létrehozásához, eléréséhez, módosításához és törléséhez leggyakrabban használt SQL lekérdezési példákat ebben az oktatóanyagban egy adatbázis és három tábla létrehozásával mutatjuk be. A különböző SQL-utasítások használatát nagyon egyszerű példákkal magyarázzuk el, hogy az új adatbázis-felhasználó megfelelő módon elsajátítsa az SQL alapjait. Az összetett lekérdezések használata itt kimaradt. Az új adatbázis-felhasználók az oktatóanyag megfelelő elolvasása után bármilyen adatbázissal elkezdhetnek dolgozni.