Kā sastādīt SQL vaicājumus - detalizēti piemēri
Katrs no mums regulāri saskaras un izmantodažādas datu bāzes. Kad mēs izvēlamies e-pasta adresi, mēs strādājam ar datubāzi. Datu bāzes izmanto meklēšanas pakalpojumus, bankas, lai uzglabātu klienta datus utt.
Bet, neskatoties uz pastāvīgu datu bāzu izmantošanudatiem, pat daudziem programmatūras izstrādātājiem, ir daudz "balto plankumu", jo dažādi interpretē tos pašus terminus. Pirms SQL valodas pārbaudīšanas mēs sniegsim īsu datubāzu galveno terminu definīciju. Nu, tad.
Datu bāze - faili vai failu kopas, lai veiktu pasūtījumudatu struktūras un to savstarpējās attiecības. Ļoti bieži datu bāzi sauc par datu bāzes pārvaldības sistēmu (DBVS). Datu bāze ir tikai informācijas repozitorija noteiktā formātā un var strādāt ar dažādām DBVS.
Tabula - Iedomājieties mapi, kurā tu uzglabādokumenti, kas sagrupēti pēc īpašas funkcijas, piemēram, pēdējā mēneša pasūtījumu saraksts. Šī ir tabula datoru datubāzē. Atsevišķa tabula ir unikāls nosaukums.
Datu veids - Informācijas veids, ko var saglabāt atsevišķā slejā vai rindā. Tas var būt noteikta formāta skaitļi vai teksts.
Kolonna un stīgne - mēs visi strādājām ar izklājlapām, kurās ir arī rindas un kolonnas. Jebkāda relāciju datu bāze līdzīgi darbojas ar tabulām. Rindas dažreiz sauc par ierakstiem.
Primārā atslēga - katrai tabulas rindai var būt viena vai vairākas kolonnas tās unikālajai identifikācijai. Bez primārās atslēgas ir ļoti grūti atjaunināt, mainīt vai dzēst nepieciešamās rindas.
Kas ir SQL?
SQL vaicājuma valoda (Eng. Strukturētā vaicājumu valoda tika izstrādāta tikai darbam ar datubāzēm un šobrīd ir standarta visās populārās datubāzēs. Valodas sintakse sastāv no neliela skaita operatoru un ir viegli iemācīties. Bet, neraugoties uz ārējo vienkāršību, tas ļauj izveidot SQL vaicājumus sarežģītām operācijām ar jebkāda izmēra datu bāzēm.
Kopš 1992. gada ir vispāratzīts standarts, ko sauc par ANSI SQL. Tas definē operatoru pamata sintakse un funkcijas, un to atbalsta visi datu bāzes tirgus līderi, piemēram, ORACLE Microsoft SQL Server. Nav iespējams aplūkot visas valodas iezīmes vienā mazā rakstā, tāpēc mēs īsi apsveram tikai pamata SQL vaicājumus. Piemēri ilustrē valodas vienkāršību un iespējas:
- datubāzu un tabulu izveide;
- datu paraugu ņemšana;
- ierakstu pievienošana;
- informācijas grozīšana un dzēšana.
SQL datu tipi
Visas datu bāzes tabulas kolonnas glabā vienu datu veidu. Datu veidi SQL ir tādi paši kā citās programmēšanas valodās.
Datu veids | Apraksts |
INT | Vesels skaitlis |
REAL | Peldošās puses numuri |
TEKSTS | Rakstzīmju virkne ar mainīgu garumu |
DATE | sql vaicājuma "datums" dažādos formātos |
LAIKS | Laiks |
CHAR | Fiksēta garuma teksta virknes |
Tabulu un datubāzu izveide
Divos veidos varat izveidot jaunas datubāzes, tabulas un citus SQL vaicājumus:
- SQL paziņojumi, izmantojot DBMS konsoli
- Izmantojot interaktīvos administrēšanas rīkus, kas ir daļa no datu bāzes servera.
Operators izveido jaunu datubāzi CREATE DATABASE <datu bāzes nosaukums>;. Kā redzat, sintakse ir vienkārša un kodolīga.
Mēs izveidojam tabulas datu bāzē ar CREATE TABLE paziņojumu ar šādiem parametriem:
- tabulas nosaukums
- kolonnu nosaukumi un datu tipi
Piemēram, izveidojiet preču tabulu ar šādām slejām:
Sleja | Apraksts |
commodity_id | Produkta ID |
vendor_id | Pārdevēja ID (ārējie galda galvenie pārdevēji) |
preču_vārds | Produkta nosaukums |
commodity_price | Izmaksas |
commodity_desc | Apraksts |
Izveidojiet tabulu:
CREATE TABLE COMMODITY
(commodity_id CHAR (15) NAV NULL,
vendor_id CHAR (15) NAV NULL,
commodity_name CHAR (254) NULL,
commodity_price DECIMAL (8,2) NULL,
commodity_desc VARCHAR (1000) NULL);
Tabula sastāv no piecām slejām.Kad nosaukums ir datu tips, kolonnas tiek atdalītas ar komatiem. Kolonnas vērtība var būt nulle (NULL) vai jāaizpilda (NAV NULL), un to nosaka, kad tabula tiek izveidota.
Tabulu datu atlasīšana
Datu iegūšanas operators ir visbiežāk izmantotais SQL vaicājums. Lai iegūtu informāciju, jums ir jānorāda, ko mēs gribam izvēlēties no šādas tabulas. Vispirms ir vienkāršs piemērs:
SELECT commodity_name FROM Commodity
Pēc SELECT paziņojuma mēs norādām kolonnas nosaukumu, lai iegūtu informāciju, un FROM definē tabulu.
Vaicājuma rezultāts būs visas rindastabulas ar Commodity_name vērtībām tādā secībā, kādā tās ievadītas datu bāzē, ti. bez šķirošanas. Lai pasūtītu rezultātu, izmantojiet izvēles rūtiņu ORDER BY.
Lai vaicātu vairākiem laukiem, mēs tos uzskaitām komatu, kā parādīts nākamajā piemērā:
SELECT commodity_id, commodity_name, commodity_price FROM prece
Vaicājuma rezultātā ir iespējams iegūt visu virknes kolonnu vērtību. Lai to izdarītu, izmantojiet "*" apzīmējumu:
SELECT * FROM Commodity
- Turklāt SELECT atbalsta:
- Datu šķirošana (ORDER BY klauzula)
- Atlasīšana saskaņā ar nosacījumiem (KUR)
- Grupēšanas termiņš (GROUP BY)
Rindas pievienošana
Lai tabulai pievienotu rindu, izmantojiet SQL vaicājumus ar INSERT paziņojumu. Pievienošanu var izdarīt trīs veidos:
- pievienot pilnīgi jaunu rindu;
- daļa no līnijas;
- vaicājuma rezultāti.
Lai pievienotu pilnīgu rindu, jums jānorāda jaunās rindas tabulas nosaukums un sleja (-s). Piemērs:
INSERT INTO PREČU VĒRTĪBAS ("106", "50", "Coca-Cola", "1.68", "No Alcogol,")
Piemērs pie tabulas pievieno jaunu produktu.Vērtības tiek norādītas pēc VĒRTĪBAS katrai kolonnai. Ja slejai nav atbilstošas vērtības, tad jums ir jānorāda NULL. Veidojot tabulu, kolonnas ir pievienotas vērtībām norādītajā secībā.
Ja pievienojat tikai daļu virknes, skaidri jānorāda sleju nosaukumi, kā piemērā:
INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)
VĒRTĪBAS ("106", "50", "Coca-Cola",)
Mēs ievadījām tikai preču identifikatorus, piegādātāju un tā nosaukumu, un atlikušie lauki tika atstāti tukši.
Vaicājuma rezultātu pievienošana
Būtībā, INSERT tiek izmantots, lai pievienotu virknes, bet to var arī izmantot, lai pievienotu SELECT paziņojumu rezultātus.
Rediģēt datus
Lai mainītu informāciju datu bāzes tabulas laukos, jums jāizmanto UPDATE paziņojums. Operatoru var izmantot divos veidos:
- Visas rindas tabulā ir atjauninātas.
- Tikai konkrētai virknei.
UPDATE sastāv no trim galvenajiem elementiem:
- tabula, kurā vēlaties veikt izmaiņas;
- lauku nosaukumi un to jaunās vērtības;
- nosacījumi izmaiņu rindu izvēlei.
Apskatīsim piemēru. Pieņemsim, preces ar ID = 106 izmaksas ir mainījušās, tādēļ šī pozīcija ir jāatjaunina. Uzrakstiet šādu paziņojumu:
UPDATE Preces SET commodity_price = "3.2" WHERE commodity_id = "106"
Mēs norādījām tabulas nosaukumu, mūsu gadījumā Commodity, kur tiks veikts atjauninājums, pēc tam SET iezīmēs jauno kolonnas vērtību un atrodiet vajadzīgo ierakstu, norādot WHERE vērtības WHERE klauzulā.
Lai mainītu vairākas kolonnas pēc SET paziņojuma, norādiet vairākus kolonnu vērtības pārus, atdalot tos ar komatiem. Mēs meklējam piemēru, kurā tiek atjaunināts produkta nosaukums un cena:
UPDATE Preces SET commodity_name = 'Fanta', commodity_price = "3.2" WHERE commodity_id = "106"
Lai izdzēstu informāciju slejā, varat piešķirttas ir NULL, ja to atļauj tabulas struktūra. Jāatceras, ka NULL ir tieši "nē" vērtība, nevis nulle kā teksta vai skaitļa formā. Produkta apraksta dzēšana:
UPDATE Preces SET commodity_desc = NULL KUR preču apraksts_id = "106"
Rindu dzēšana
SQL pieprasījumus dzēst rindas tabulā veic DELETE paziņojums. Ir divi lietojumi:
- tabulā tiek dzēstas dažas rindas;
- visas tabulas rindas tiek dzēstas.
Piemērs vienas rindas dzēšanai no tabulas:
DELETE FROM Commodity WHERE commodity_id = "106"
Pēc DELETE FROM, norādiet tabulas nosaukumukas tiks dzēstas rindas. WHERE klauzulā ir ietverts nosacījums, pēc kura var atlasīt dzēstās rindas. Piemēram, mēs izdzēšam preces pozīciju ar ID = 106. Ir ļoti svarīgi norādīt KUR. izlaižot šo operatoru, tabulā tiks noņemtas visas rindas. Tas attiecas arī uz lauku vērtības mainīšanu.
Izraksts DELETE nenorāda kolonnu nosaukumus un meta rakstzīmes. Tas pilnībā noņem līnijas un nevar izdzēst vienu sleju.
Izmantojot SQL Access
Microsoft Access parasti tiek izmantotsinteraktīvs režīms, lai izveidotu tabulas, datu bāzes, lai pārvaldītu, modificētu, analizētu datus datu bāzē un ievieš SQL Access vaicājumus, izmantojot ērtu interaktīvu vaicājuma dizaineri, izmantojot kuru jūs varat izveidot un nekavējoties izpildīt jebkādas sarežģītības SQL paziņojumus.
Ar servera piekļuves režīmu tiek atbalstīts arīkuru DBMS Access var izmantot kā SQL vaicājuma ģeneratoru jebkuram ODBC datu avotam. Šī funkcija ļauj Pieejas lietojumprogrammām mijiedarboties ar jebkura formāta datu bāzēm.
SQL pagarinājumi
Tāpēc, ka SQL vaicājumiem nav visu iespējuprocesuālās programmēšanas valodas, piemēram, cilpas, filiāles utt., DBVD pārdevēji attīsta savu SQL versiju ar uzlabotām iespējām. Pirmkārt, tas ir atbalsts glabāto procedūru un standarta procedūras valodu operatoriem.
Visbiežāk sastopamās valodas dialekti ir:
- Oracle Database - PL / SQL
- Interbase, Firebird - PSQL
- Microsoft SQL Server - Transact-SQL
- PostgreSQL - PL / pgSQL.
SQL internetā
MySQL datu bāze tiek izplatīta bez maksasGNU Vispārējās publiska licence. Ir komerciāla licence ar iespēju izstrādāt pielāgotus moduļus. Kā neatņemama daļa no populārākajām interneta serveru komplektiem, piemēram, XAMPP, WAMP un LAMP, un tā ir populārākā datu bāze, lai izstrādātu lietojumprogrammas internetā.
To izstrādāja Sun Microsystems unšobrīd atbalsta Oracle. Tā atbalsta datubāzes ar 64 terabaitiem, SQL standarta sintakse: 2003, datu bāzu replikāciju un mākoņa pakalpojumus.