Pamata sql komandas. Datu piekļuves mehānisms. Strukturētā vaicājuma valoda SQL. SQL vēsture un standarti. Oracle servera SQL komandu apstrāde. Noņemšanas pieprasījumi

Jebkura konceptuāla informācija par relāciju datu bāzēm un tabulām ir noderīga tikai tad, ja zināt, kā mijiedarboties ar datiem. SQL valoda sastāv no strukturētām komandām datu pievienošanai, modificēšanai un dzēšanai no datu bāzes. Šīs komandas veido pamatu mijiedarbībai ar PostgreSQL serveri.

Šī sadaļa ir par SQL komandu "anatomiju". Tajā tiek apskatītas komandu strukturālās sastāvdaļas, aprakstot katra komponenta funkcijas un to savstarpējās attiecības. Standarta PostgreSQL komandrindas klients psql izdrukā dotajos piemēros norādīto komandu rezultātus.

Lielākā daļa SQL komandu piemēru attiecas tikai uz grāmatnīcu datu bāzi. Visai psql izvadei ir prefikss ar formu booktown=# .

Dažos piemēros tiek izmantota testdb testa datubāze. Pēc noklusējuma psql uzvedne parāda tikai datu bāzes nosaukumu un =# simbolus, norādot, ka sistēma ir gatava izdot jaunu komandu (lai gan jūs redzēsit, ka simbols = dinamiski mainās, uzraugot SQL ievades stāvokli). Grāmatā ir sniegta šī uzvedne kopā ar SQL ievadi un izvadi, lai palīdzētu jums ērti izmantot psql klienta izvadi.

Psql klients ir detalizēti aprakstīts 4. nodaļā. Šeit tas ir minēts tikai, lai precizētu SQL komandu piemēru stilu.

Piezīme
Booktown datu bāzes shēma (kopā ar ierakstu piemēru) atrodas kompaktdiskā failā booktown.sql. Lai instalētu šo datu bāzi, komandu uzvednē ievadiet komandu psql - U postgres template!. - f /mnt/cdrom/booktown.sql, kur /mnt/cdrom ir ceļš uz pievienoto kompaktdisku un postgres ir PostgreSQL superlietotāja nosaukums
.

SQL komandu anatomija

SQL komandas vienmēr sākas ar darbību (darbības vārdu) – vārdu vai vārdu grupu, kas apraksta veicamo darbību. Turklāt SQL komanda parasti satur vienu vai vairākas sadaļas, kas precizē tās nozīmi. Tabulā 3.2 uzskaita galvenās SQL darbības.

3.2. tabula. Pamata PostgreSQL darbības.

Darbības apraksts
IZVEIDOT DATU BĀZI Jaunas datu bāzes izveide
IZVEIDOT INDEKSU Jauna indeksa izveide tabulas kolonnā
IZVEIDOT SECĪBU Jaunas secības izveide esošā datu bāzē
IZVEIDOT TABLU Jaunas tabulas izveide esošā datu bāzē
IZVEIDOT IZVEIDOTĀJU Izveidojiet jaunu aktivizētāja definīciju
IZVEIDOT SKATU Izveidojiet jaunu skatu esošai tabulai
ATLASĪT Ierakstu atlase no tabulas
IEVIETOT Viena vai vairāku jaunu ierakstu ievietošana tabulā
ATJAUNINĀT Datu modificēšana esošajos ierakstos
DZĒST Esošo ierakstu noņemšana no tabulas
DROP DATU BĀZI Esošas datu bāzes iznīcināšana
NOTEIKT INDEKSU Kolonnas indeksa noņemšana no esošas tabulas
NOTEIKT SEKCIJA Esoša secību ģeneratora iznīcināšana
NOTEIKT TABULU Esoša galda iznīcināšana
NOMET SPRIEDUŠANU Esošas aktivizētāja definīcijas iznīcināšana
NOMET SKATU Esoša skata iznīcināšana
IZVEIDOT LIETOTĀJU Jauna PostgreSQL lietotāja konta izveide sistēmā
MAINĪT LIETOTĀJU Esoša PostgreSQL lietotāja konta modificēšana
NOMET LIETOTĀJU Esoša PostgreSQL lietotāja konta dzēšana
GRANT Piekļuves tiesību piešķiršana datu bāzes objektam
ATCELT Piekļuves tiesību noņemšana datu bāzes objektam
IZVEIDOT FUNKCIJU Jaunas SQL funkcijas izveide datu bāzē
IZVEIDOT VALODU Jaunas valodas definīcijas izveide datu bāzē
IZVEIDOT OPERATORU Jauna SQL priekšraksta izveide datu bāzē
IZVEIDOT VEIDU Jauna SQL datu tipa izveide datu bāzē

Strukturēto vaicājumu valodu IBM izstrādāja 1970. gadu sākumā. 1986. gadā ANSI organizācijas pirmo reizi standartizēja SQL.

SQL ir spēcīga un tajā pašā laikā vienkārša valoda datu bāzes pārvaldībai. To atbalsta gandrīz visas mūsdienu datu bāzes. SQL ir sadalīts divās komandu apakškopās: DDL (datu definīcijas valoda) un DML (datu manipulācijas valoda). DDL komandas izmanto, lai izveidotu jaunas datu bāzes, tabulas un kolonnas, un DML komandas izmanto datu lasīšanai, rakstīšanai, kārtošanai, filtrēšanai, dzēšanai.

Šajā rakstā tiks sīkāk aplūkotas DML komandas, jo tās tiek izmantotas daudz biežāk.

DDL komandas

CREATE - izmanto, lai izveidotu jaunas tabulas, kolonnas un indeksus.

DROP — izmanto kolonnu un indeksu noņemšanai.

ALTER — izmanto, lai tabulām pievienotu jaunas kolonnas un mainītu konkrētas kolonnas.

DML komandas

SELECT ir visbiežāk izmantotā komanda, un to izmanto datu kopas izgūšanai no datu bāzes tabulas. Komandai SELECT ir šāda sintakse:

ATLASĪT lauka_saraksts1 NO tabulas_nosaukums ]

Operatori kvadrātiekavās nav obligāti, un vertikālā josla nozīmē, ka ir jābūt vienai no norādītajām frāzēm, bet ne abām.

Piemēram, izveidosim vienkāršu vaicājumu, lai iegūtu datus no tabulas "draugi" laukiem "name" un "phone":

ATLASĪT vārds, telefons NO draugi

Ja jums ir jāiegūst visi tabulas lauki, tad tie nav jāuzskaita, vienkārši ielieciet zvaigznīti (*):

ATLASĪT * NO draugi

Lai izslēgtu dublikātus no parādītā saraksta, izmantojiet DISTINCT atslēgvārdu:

ATLASĪT ATŠĶIRĪGU nosaukums NO draugi

Ja nepieciešams iegūt atsevišķu ierakstu, tad tiek izmantota WHERE klauzula. Piemēram, mums no tabulas “draugi” jāiegūst “Vasya Pupkin” tālruņa numurs:

ATLASĪT * NO draugi KUR nosaukums = "Vasja Pupkin"

vai otrādi, mums ir jānoskaidro, kam pieder tālrunis 44-65-01:

ATLASĪT * NO draugi KUR tālrunis = "44-65-01"

Turklāt varat izmantot aizstājējzīmes, tādējādi veidojot meklēšanas modeļus. Šim nolūkam tiek izmantots operators LIKE. Operatoram LIKE ir šādi aizstāšanas operatori:

* - atbilst virknei, kas sastāv no vienas vai vairākām rakstzīmēm;

Atbilst jebkuram rakstzīmei;

Atbilst vienai rakstzīmei no noteiktas kopas;

Piemēram, lai izgūtu ierakstus no lauka "nosaukums", kurā ir vārds "Vasya", pieprasījums izskatītos šādi:

ATLASĪT * NO draugi KUR nosaukums PATĪK "*Vasja*"

Klauzula ORDER BY tiek izmantota, lai noteiktu datu atgriešanas secību. Bez šī operatora atgriezto datu secību nevar paredzēt. Atslēgvārdi ASC un DESC ļauj noteikt šķirošanas virzienu. ASC kārto augošā secībā un DESC secībā dilstošā secībā.

Piemēram, pieprasījums iegūt ierakstu sarakstu no lauka "nosaukums" alfabēta secībā izskatītos šādi:

ATLASĪT * NO draugi SAKĀRTOT PĒC nosaukums

Ņemiet vērā, ka ASC atslēgvārds nav nepieciešams, jo tas ir noklusējuma atslēgvārds.

INSERT - šī komanda tiek izmantota, lai tabulai pievienotu jaunu ierakstu. Tas ir rakstīts šādi:

INSERT INTO tabulas_nosaukums VĒRTĪBAS ( vērtību_saraksts)

Lūdzu, ņemiet vērā, ka vērtību saraksta vērtību veidiem ir jāatbilst tabulas lauku vērtību veidiem, piemēram:

INSERT INTO draugi VĒRTĪBAS ( "Anka ložmetējniece", "32-09-81" )

Šajā piemērā draugu tabulai tiek pievienots jauns ieraksts ar norādītajām vērtībām.

UPDATE — šo komandu izmanto, lai atjauninātu datus tabulā, un to visbiežāk izmanto kopā ar WHERE klauzulu. Komandai UPDATE ir šāda sintakse:

ATJAUNINĀT tabulas_nosaukums IESTATĪT lauka_nosaukums = nozīmē

Ja izlaidīsit klauzulu WHERE, tiks atjaunināti dati visos tabulā noteiktajos laukos. Piemēram, nomainīsim Vasjas Pupkunas tālruņa numuru:

ATJAUNINĀT draugi IESTATĪT tālrunis = "55-55-55" KUR nosaukums = "Vasja Pupkin"

DELETE - kā jūs droši vien jau sapratāt, šī komanda tiek izmantota ierakstu dzēšanai no tabulas. Tāpat kā UPDATE, komanda DELETE parasti tiek izmantota ar WHERE klauzulu; ja šī klauzula tiek izlaista, visi dati no norādītās tabulas tiks dzēsti. Komandas DELETE sintakse ir šāda:

DZĒST NO tabulas_nosaukums

Piemēram, noņemsim šo kaitinošo Vasju Pupkinu no mūsu galda :) :

DZĒST NO draugi KUR nosaukums = "Vasja Pupkin"

Beigas

Šajā rakstā es runāju par galvenajiem SQL operatoriem, tie ir diezgan pietiekami, lai strādātu ar datu bāzēm, par pārējiem operatoriem es runāšu sīkāk citreiz.

SQL jeb strukturētā vaicājuma valoda ir valoda, ko izmanto, lai pārvaldītu datus relāciju datu bāzes sistēmā (RDBMS). Šajā rakstā tiks apskatītas bieži lietotās SQL komandas, kas jāzina katram programmētājam. Šis materiāls ir ideāli piemērots tiem, kuri vēlas papildināt savas zināšanas par SQL pirms darba intervijas. Lai to izdarītu, apskatiet rakstā sniegtos piemērus un atcerieties, ka pētījāt datu bāzes pa pāriem.

Ņemiet vērā, ka dažām datu bāzu sistēmām ir nepieciešams semikolu katra priekšraksta beigās. Semikols ir standarta rādītājs uz katra priekšraksta beigām SQL. Piemēri izmanto MySQL, tāpēc ir nepieciešams semikolu.

Piemēru datu bāzes izveide

Izveidojiet datu bāzi, lai parādītu, kā komandas darbojas. Lai strādātu, jums būs jālejupielādē divi faili: DLL.sql un InsertStatements.sql. Pēc tam atveriet termināli un piesakieties MySQL konsolē, izmantojot šādu komandu (rakstā tiek pieņemts, ka MySQL jau ir instalēts sistēmā):

Mysql -u sakne -p

Pēc tam ievadiet savu paroli.

Palaidiet šādu komandu. Sauksim datubāzi par “universitāti”:

IZVEIDOT DATU BĀZES universitāte; LIETOT universitāti; AVOTS ; AVOTS Komandas darbam ar datu bāzēm1. Skatīt pieejamās datu bāzes RĀDĪT DATU BĀZES; 2. Jaunas datu bāzes izveide CREATE DATABASE; 3. Izmantojamās USE datu bāzes izvēle; 4. Importēt SQL komandas no .sql faila SOURCE ; 5. Datu bāzes noņemšana DROP DATABASE ; Darbs ar tabulām6. Skatīt datubāzē SHOW TABLES pieejamās tabulas;

7. Jaunas tabulas izveide CREATE TABLE ( , , PRIMARY KEY (), ĀRĒJĀ ATSLĒGA () ATSAUCES ()); Integritātes ierobežojumi, izmantojot CREATE TABLE

Iespējams, jums būs jāizveido ierobežojumi noteiktām tabulas kolonnām. Veidojot tabulu, varat iestatīt šādus ierobežojumus:

  • tabulas šūnai nevar būt NULL vērtība;
  • primārā atslēga - PRIMARY KEY (kolas_nosaukums1, kolonnas_nosaukums2, ...) ;
  • ārējā atslēga - SVEŠĀ ATSLĒGA (col_namex1, …, col_namexn) ATSAUKSMES tabulas_nosaukums(col_namex1, …, col_namexn) .

Varat norādīt vairāk nekā vienu primāro atslēgu. Šajā gadījumā jūs iegūsit saliktu primāro atslēgu.

Piemērs

Izveidojiet tabulu "instruktors":

CREATE TABLE instruktors (ID CHAR(5), nosaukums VARCHAR(20) NOT NULL, nodaļas_nosaukums VARCHAR(20), alga NUMURS(8,2), PRIMARY KEY (ID), ĀRĒJĀ ATSLĒGA (dept_name) REFERENCES nodaļa(dept_name));

8. Tabulas informācija

Varat skatīt dažādu informāciju (vērtības veidu, atslēgu vai ne) par tabulas kolonnām, izmantojot šādu komandu:

APRAKSTS ;

9. Datu pievienošana tabulai INSERT INTO (, , , …) VALUES (, , , …);

Pievienojot datus katrai tabulas kolonnai, nav jānorāda kolonnu nosaukumi.

INSERT INTO VALUES (, , , ...);

10. Tabulas datu atjaunināšana UPDATE SET = , = , ... WHERE ; 11. Visu datu dzēšana no tabulas DELETE FROM ; 12. Galda noņemšana DROP TABLE ; Komandas vaicājumu izveidei13. ATLASĪT

SELECT izmanto, lai izgūtu datus no noteiktas tabulas:

SELECT , , ... FROM ;

Šī komanda var parādīt visus datus no tabulas:

SELECT * FROM ;

14. SELECT DISTINCT

Tabulas kolonnās var būt datu dublikāti. Izmantojiet SELECT DISTINCT, lai izgūtu tikai datus, kas nav dublikāti.

SELECT DISTINCT , , … FROM ;

15. KUR

Varat izmantot atslēgvārdu WHERE sadaļā SELECT, lai vaicājumā norādītu nosacījumus:

IZVĒLĒTIES , , ... NO KUR ;

Pieprasījumā var norādīt šādus nosacījumus:

  • tekstu salīdzināšana;
  • skaitlisko vērtību salīdzināšana;
  • loģiskie operatori UN (un), VAI (vai) un NOT (negācija).
Piemērs

Izmēģiniet šādas komandas. Pievērsiet uzmanību nosacījumiem, kas norādīti sadaļā KUR:

SELECT * FROM kurss WHERE dept_name=’Comp. Sci.”; SELECT * FROM kursa WHERE kredītpunkti>3; SELECT * FROM course WHERE dept_name="Sak. zinātne." UN kredīti>3;

16. GROUP BY

Operatoru GROUP BY bieži izmanto kopā ar tādām apkopotām funkcijām kā COUNT, MAX, MIN, SUM un AVG, lai grupētu izvades vērtības.

SELECT , , … FROM GROUP BY ;

Piemērs

Parādīsim katras fakultātes kursu skaitu:

SELECT COUNT(kursa_id), nodaļas_nosaukums FROM kursa GROUP BY nodaļas_nosaukums;

17. ŅEMOT

Atslēgvārds HAVING tika pievienots SQL, jo WHERE nevar izmantot ar apkopotām funkcijām.

IZVĒLIES , , ... NO GRUPAS, IZMANTOJOT

Piemērs

Parādīsim to fakultāšu sarakstu, kurās ir vairāk nekā viens kurss:

SELECT COUNT(kursa_id), nodaļas_nosaukums FROM kursa GROUP BY nodaļas_nosaukums HAVING COUNT(kursa_id)>1;

18. PASŪTĪJUMS PĒC

ORDER BY tiek izmantots, lai kārtotu vaicājuma rezultātus dilstošā vai augošā secībā. ORDER BY tiks sakārtots augošā secībā, ja vien nav norādīts ASC vai DESC.

SELECT , , … FROM ORDER BY , , … ASC|DESC;

Piemērs

Parādīsim kursu sarakstu kredītpunktu augošā un dilstošā secībā:

SELECT * FROM kursa PASŪTĪT PĒC kredītpunktiem; SELECT * FROM kursa ORDER BY kredītpunkti DESC;

19. STARP

BETWEEN izmanto, lai atlasītu datu vērtības no noteikta diapazona. Var izmantot ciparu un teksta vērtības, kā arī datumus.

IZVĒLĒTIES , , … NO KUR STARP UN ;

Piemērs

Parādīsim to instruktoru sarakstu, kuru alga ir lielāka par 50 000, bet mazāka par 100 000:

SELECT * FROM instruktors, KUR alga NO 50000 UN 100000;

20. LIKE

Operators LIKE tiek izmantots WHERE, lai norādītu līdzīgas vērtības meklēšanas modeli.

Ir divi bezmaksas operatori, kas tiek izmantoti LIKE:

  • % (nav, viena vai vairākas rakstzīmes);
  • _ (viena rakstzīme).
IZVĒLĒTIES , , ... NO KUR PATĪK ; Piemērs

Parādīsim sarakstu ar kursiem, kuru nosaukumos ir "līdz" un to kursu sarakstu, kuru nosaukumi sākas ar "CS-":

SELECT * FROM kursa WHERE nosaukums LIKE ‘%to%’; SELECT * FROM kurss WHERE kursa_id LIKE "CS-___";

21. IN

Izmantojot IN, WHERE klauzulai varat norādīt vairākas vērtības:

SELECT , , … FROM WHERE IN (, , …);

Piemērs

Parādīsim sarakstu ar studentiem no Comp majors. Zinātne, fizika un elektroenerģija Ang.:

SELECT * FROM students WHERE dept_name IN ('Comp. Sci.', 'Physics', 'Elec. Eng.');

22. PIEVIENOJIES

JOIN izmanto, lai saistītu divas vai vairākas tabulas, izmantojot tajās kopīgus atribūtus. Tālāk esošajā attēlā ir parādīti dažādi veidi, kā pievienoties SQL. Ņemiet vērā atšķirību starp kreiso ārējo savienojumu un labo ārējo savienojumu:

SELECT , , … NO JOIN ON = ;

1. piemērs

Parādīsim visu kursu sarakstu un attiecīgo informāciju par fakultātēm:

SELECT * FROM kurss JOIN departamentam ON kurss.dept_name=department.dept_name;

2. piemērs

Mēs parādīsim visu nepieciešamo kursu sarakstu un informāciju par tiem:

SELECT prereq.course_id, title, dept_name, credits, prereq_id FROM prereq LEFT OUTTER JOIN ON prereq.course_id=course.course_id;

3. piemērs

Mēs parādīsim visu kursu sarakstu neatkarīgi no tā, vai tie ir nepieciešami vai nē:

SELECT course.course_id, title, dept_name, credits, prereq_id FROM prereq RIGHT OUTTER JOIN ON prereq.course_id=course.course_id;

23.Skatīt

Skats ir virtuāla SQL tabula, kas izveidota izteiksmes izpildes rezultātā. Tas satur rindas un kolonnas un ir ļoti līdzīgs parastajai SQL tabulai. View vienmēr parāda jaunāko informāciju no datu bāzes.

Izveidojot CREATE VIEW AS SELECT , , ... FROM WHERE ; Noņem DROP VIEW ; Piemērs

Izveidosim skatu, kas sastāv no kursiem ar 3 kredītpunktiem:

24.Apkopotās funkcijas

Šīs funkcijas tiek izmantotas, lai iegūtu apkopotu rezultātu saistībā ar attiecīgajiem datiem. Tālāk ir plaši izmantotas apkopotās funkcijas.

  • COUNT (col_name) - atgriež rindu skaitu;
  • SUM (col_name) - atgriež šīs kolonnas vērtību summu;
  • AVG (col_name) - atgriež dotās kolonnas vidējo vērtību;
  • MIN (kolonnas_nosaukums) - atgriež dotās kolonnas mazāko vērtību;
  • MAX (col_name) — atgriež dotās kolonnas lielāko vērtību.
25. Ligzdoti apakšvaicājumi

Ligzdotie apakšvaicājumi ir SQL vaicājumi, kas ietver klauzulas SELECT , FROM un WHERE, kas ligzdotas citā vaicājumā.

Piemērs

Atradīsim kursus, kas tika pasniegti 2009. gada rudenī un 2010. gada pavasarī:

SELECT DISTINCT kursa_id FROM sadaļa WHERE semestris = 'Rudens' UN gads= 2009 AND kursa_id IN (SELECT kursa_id FROM sadaļa WHERE semestris = 'Pavasaris' UN gads= 2010);

Kirils Pozdejevs, tulks

Kā Yandex izmanto jūsu datus un mašīnmācīšanos, lai personalizētu pakalpojumus.

SQL (ˈɛsˈkjuˈɛl; angļu strukturētā vaicājuma valoda — “strukturētā vaicājuma valoda”) ir deklaratīva programmēšanas valoda, ko izmanto, lai izveidotu, modificētu un pārvaldītu datus relāciju datu bāzē.

Atbilstība SQL standartiem dažādām datu bāzēm:

SQL (Structured Query Language – strukturētā vaicājuma valoda). SQL galvenokārt ir informācijas loģiskā valoda, kas paredzēta saglabāto datu aprakstīšanai, saglabāto datu izgūšanai un datu modificēšanai.

SQL nav programmēšanas valoda. Tā kā SQL ir kļuvusi sarežģītāka, tā ir kļuvusi vairāk par lietojumprogrammu programmēšanas valodu, un lietotāji tagad var izmantot vizuālo vaicājumu veidotājus.

SQL valoda nav reģistrjutīga. SQL virknes ir ievietotas atsevišķās pēdiņās.

SQL valoda ir paziņojumu kopums. SQL priekšraksti ir sadalīti:

    Data Definition Language (DDL) - shēmas apraksta valoda ANSI, sastāv no komandām, kas veido objektus (tabulas, indeksus, skatus utt.) datu bāzē (CREATE, DROP, ALTER utt.).

    Datu manipulācijas operatori (Data Manipulation Language, DML) ir komandu kopa, kas nosaka, kādas vērtības jebkurā laikā tiek parādītas tabulās (INSERT, DELETE, SELECT, UPDATE utt.).

    datu piekļuves definīciju paziņojumi (Data Control Language, DCL) - sastāv no rīkiem, kas nosaka, vai atļaut lietotājam veikt noteiktas darbības vai nē (GRANT/REVOKE, LOCK/UNLOCK).

    Transaction Control Language (TCL) operatori

Diemžēl šie termini netiek lietoti universāli visās implementācijās. Tos uzsver ANSI, un tie ir noderīgi konceptuālā līmenī, taču lielākā daļa SQL programmu maz tos apstrādā atsevišķi, tāpēc tās būtībā kļūst par SQL komandu funkcionālām kategorijām.

IZVĒLĒTIES sadaļu PIEVIENOTIES

    Simple JOIN (=krustojuma JOIN =INNER JOIN) - nozīmē parādīt tikai abu tabulu kopīgos ierakstus. To, kā ieraksti tiek uzskatīti par koplietotiem, nosaka savienojuma izteiksmes lauki. Piemēram, šāds ieraksts: NO t1 JOIN t2 ON t1. id = t2. id

    nozīmē, ka tiks parādīti ieraksti ar tādu pašu ID, kas ir abās tabulās.

    LEFT JOIN (vai LEFT OUTER JOIN) nozīmē parādīt visus ierakstus no kreisās tabulas (tā, kas savienojuma izteiksmē ir pirmā) neatkarīgi no tā, vai labajā tabulā ir atbilstoši ieraksti. Ja labajā tabulā nav ierakstu, tiek iestatīta tukša vērtība NULL.

    RIGHT JOIN (vai RIGHT OUTER JOIN) darbojas pretēji LEFT JOIN - tas parāda visus ierakstus no labās (otrās) tabulas un tikai tos, kas atbilst no kreisās (pirmās) tabulas.

    Citi JOIN savienojumu veidi: MINUSS - atņemšana; FULL JOIN - pabeigt pievienošanos; CROSS JOIN — “Visi ar visiem” vai Dekarta produkta darbība.

SELECT JOIN SUBSTRING INSERT INTO users_auth VALUES (noklusējums, "root" , MD5("root"));

    INSERT IGNORE Ja INSERT komandā norādāt atslēgvārdu IGNORE ar rindām, kurām ir vairākas vērtības, visas rindas, kurām šajā tabulā ir dublētās PRIMARY vai UNIQUE atslēgas, tiks ignorētas un netiks ievietotas. Ja nenorādīsiet IGNORE, šī ievietošanas darbība tiks pārtraukta, kad tiek atrasta rinda, kurai ir dublēta esošās atslēgas vērtība.

IEVIETOT Ignorēt cenu VĒRTĪBAS (NOKLUSĒJUMS, 1, 1111, "Fr", 50, 50, 1, 1)

Komanda REPLACE atšķiras no INSERT tikai ar to, ka, ja tabulā ir ieraksts ar tādu pašu vērtību indeksētajā laukā (unikālais indekss) kā jaunajam ierakstam, tad vecais ieraksts tiek dzēsts pirms jaunā ieraksta pievienošanas.

ATJAUNINĀT< tablename>SET ( | ) .,. .< COLUMN name> = < VALUE expresslon>[KUR< predlcate>| KUR PAŠREIZĒJĀ< cursor name>(*tikai pielikumam*) ] ; UPDATE peers SET zone= "voip" ; # atjaunināt visas rindas vienādranga tabulas zonas kolonnā UPDATE stat SET whp= "13x13x13" WHERE id = 1 ; UPDATE valstis SET nm_ukr= ( SELECT del_countries. ukraiņu FROM del_countries WHERE valstis. nm_en= del_countries. english ) ;

WordPress lietojums, iestatījums: tabulā wp_posts dzēsiet visus rindas gadījumus

UPDATE wp_posts SET post_content = REPLACE (post_content, "" , "" ) ;

DZĒST NO

[ KUR | KUR CURRENT OF (*tikai pielikums*) ];

DZĒST NO vienaudžiem; // izdzēsīs visu Peers tabulas saturu. DZĒST NO FinR kur diena Patīk "20120415%"; // DELETE FROM cenas WHERE ratesheet_id NOT IN (SELECT id FROM ratesheets);

ALTER

    Kolonnas noklusējuma vērtības maiņa. Lai kolonnai iestatītu jaunu noklusējuma vērtību, izmantojiet komandu, piemēram: ALTER TABLE produkti ALTER COLUMN price SET DEFAULT 7.77 ; OR ALTER TABLE nases ALTER COLUMN zona SET DEFAULT "voip" ;

    Ņemiet vērā, ka šīs komandas palaišana neietekmē tabulas esošās rindas; komanda mainīs tikai noklusējuma vērtību turpmākajām INSERT komandām. Lai noņemtu jebkuru noklusējuma vērtību, izmantojiet

    ALTER TABLE produkti ALTER COLUMN cena DROP DEFAULT ;

    Komanda dara to pašu, kas noklusējuma vērtības iestatīšana uz nulli. Tā kā, dzēšot noklusējuma vērtību, tā netieši tiek iestatīta uz nulli, ja tiek dzēsta esošā noklusējuma vērtība, netiks ziņots par kļūdām.

    Funkcija kā kolonnas noklusējuma vērtība. Šajā gadījumā laika uzskaites kolonnai ir laika zīmoga datu tips, kas nozīmē, ka tās noklusējuma vērtību var iestatīt uz iebūvēto tagad() funkciju, t.i. pievienojot kolonnai jaunu rindu, pašreizējais datums un laiks tiks ierakstīts ALTER TABLE timetracking ALTER COLUMN date_wd SET DEFAULT now();

    Ierobežojuma pievienošana. Lai pievienotu ierobežojumu, tiek izmantota tabulas sintakse šī ierobežojuma definēšanai. Piemēram: ALTER TABLE produkti ADD CHECK (nosaukums ""); ALTER TABLE produkti ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE produkti PIEVIENOT ĀRZEMES ATSLĒGU (product_group_id) ATSAUCES produktu_grupas;

    Lai pievienotu ierobežojumu, kas nav nulles un ko nevar ierakstīt kā tabulas ierobežojumu, izmantojiet sintaksi:

    ALTER TABLE produkti ALTER COLUMN product_no SET NOT NULL;

    Norādītais ierobežojums tiks izpildīts nekavējoties, tāpēc tabulas datiem tas ir jāatbilst pirms ierobežojuma pievienošanas.

Apkopošanas funkcijas

Standarta SQL ir 5 apkopotas funkcijas:

    COUNT — funkcija atgriež rindu skaitu, kas atbilst noteiktiem kritērijiem.,

    SUM - atgriež vērtību summu (kopējo) noteiktā kolonnā. Funkcija SUM ignorē kolonnu rindas ar NULL vērtībām.

    AVG - vidējā vērtība kolonnā,

Apkopošanas funkcijas tiek izmantotas kā lauku nosaukumi SELECT vaicājuma klauzulā, ar vienu izņēmumu: lauku nosaukumi tiek izmantoti kā argumenti. SUM un AVG funkcijas var darboties tikai ar ciparu laukiem. Funkcijas COUNT, MAX, MIN darbojas gan ar ciparu, gan rakstzīmju laukiem. Lietojot rakstzīmju laukiem, funkcijas MAX un MIN var darboties ar rakstzīmju ASCII ekvivalentiem.

SELECT Count(Books.ID) AS [Grāmatu skaits] FROM Books;

Izmantojot CROUP BY, varat lietot apkopošanas funkcijas ierakstu grupām.

SELECT Count(Books.ID) AS [Grāmatu skaits] FROM Books GROUP BY [Writer];

Skatījumi (VIEW)

SKATS ir datu objekts, kas nesatur nekādus datus par tā īpašnieku. Tas ir tabulas veids, kura saturs tiek izgūts no citām tabulām, izpildot vaicājumu.

Bāzes tabulas ir tabulas, kas satur datus. Tomēr ir arī cita veida tabula: - skati (SKATS). Skati ir tabulas, kuru saturs ir atlasīts vai iegūts no citām tabulām. Tie darbojas vaicājumos un DML priekšrakstos tāpat kā galvenajās tabulās, bet nesatur nekādus savus datus. Skati ir kā logi, caur kuriem skatāties informāciju, kas faktiski tiek glabāta pamatā esošajā tabulā.

    Komanda CREATE VIEW. Skats tiek izveidots ar komandu CREATE VIEW. Tas sastāv no vārdiem CREATE VIEW, izveidojamā skata nosaukuma, vārda AS (HOW) un pēc tam vaicājuma. Izveidosim Londonstaff skatu: CREATE VIEW Londonstaff AS SELECT * FROM Salespeople WHERE pilsēta = "Londona";

    Šis skats tiek izmantots tāpat kā jebkura cita tabula. To var vaicāt, modificēt, ievietot citās tabulās un skatos, dzēst no tām un pievienot tām. Iesniegšanas pieprasījums.

    Šajā pielikumā ir dažādu SQL komandu saīsināti apraksti. Mērķis ir sniegt jums ātru un precīzu SQL atsauci un definīciju.

    Šīs lietojumprogrammas pirmajā sadaļā ir definēti elementi, kas tiek izmantoti, lai izveidotu SQL komandas; otrā ir informācija par sintakse un teikumiem ar īsu pašu komandu aprakstu.

    Šeit ir norādītas standarta vienošanās (sauktas par BNF nosacījumiem):

  • Atslēgvārdi tiek rakstīti ar lielajiem burtiem.
  • SQL un citi īpašie nosacījumi ir iekļauti leņķiekavās un rakstīti slīprakstā.()
  • Neobligātās komandu daļas ir ievietotas kvadrātiekavās ([ un ]).
  • Elipse (....) norāda, ka komandas iepriekšējo daļu var atkārtot neierobežotu skaitu reižu.
  • Vertikālā josla (|) nozīmē, ka to, kas ir pirms tās, var aizstāt ar to, kas seko tai.
  • Cirtainās iekavas (( un )) norāda, ka viss tajās ir jāaplūko kā veselums, lai novērtētu citas rakstzīmes (piemēram, vertikālās joslas vai elipses).
  • Dubultais kols un vienādības zīme (:: =) nozīmē, ka tālāk ir definīcija tam, kas ir pirms tā.

    Turklāt mēs izmantosim šādu secību (.,...), lai norādītu, ka to, kas ir pirms tās, var atkārtot neierobežotu skaitu reižu, atsevišķus notikumus atdalot ar komatiem. Atribūti, kas neietilpst oficiālajā standartā, aprakstā tiks atzīmēti kā (*nestandarta*).

    LŪDZU, ŅEMIET VĒRĀ: šeit izmantotā terminoloģija nav oficiāla ANSI terminoloģija. Oficiālā terminoloģija var būt ļoti mulsinoša, tāpēc esam to nedaudz vienkāršojuši. Šī iemesla dēļ mēs dažreiz izmantojam nosacījumus, kas atšķiras no ANSI, vai izmantojam tos pašus nosacījumus, bet nedaudz atšķirīgā veidā. Piemēram, mūsu C definīcija atšķiras no C standarta definīcijas ANSI kombinācijas. SQL ELEMENTI

    Šajā sadaļā ir definēti SQL komandu elementi.

    Tie ir sadalīti divās kategorijās: valodas pamatelementi un valodas funkcionālie elementi.

    Pamatelementi ir izveidoti valodas bloki; Kad SQL pārbauda komandu, tā vispirms novērtē katru komandas teksta rakstzīmi šo elementu izteiksmē. Atdalītājs atdala vienu komandas daļu no citas; viss starp norobežotājiem tiek uzskatīts par moduli. Pamatojoties uz šo iedalījumu, SQL interpretē komandu.

    Funkcionālie elementi ir dažādi elementi, kas nav atslēgvārdi, kurus var interpretēt kā moduļus. Šīs ir komandas daļas, kas atdalītas ar norobežotājiem un kurām ir īpaša nozīme SQL. Dažas no tām ir īpašas noteiktām komandām un tiks aprakstītas kopā ar šīm komandām vēlāk šajā pielikumā.

    Šeit uzskaitītie vienumi ir kopīgi visām aprakstītajām komandām.

    Funkcionālos elementus var definēt viens pret otru vai pat pēc saviem noteikumiem. Piemēram, predikāts Mūsu pēdējais un vissarežģītākais gadījums satur predikātu Inside savā definīcijā. Tas ir tāpēc, ka predikāts, kas izmanto UN vai VAI, var saturēt jebkuru skaitu predikātu, kas var darboties neatkarīgi. Šī valodas funkcionālā elementa daudzveidības un sarežģītības dēļ mēs esam iepazīstinājuši jūs ar predikātu B atsevišķā sadaļā šajā pielikumā. Viņš pastāvīgi būs klāt, apspriežot citas komandu funkcionālās daļas.

    VALODAS PAMATELEMENTI

    ELEMENTA DEFINĪCIJA | | -- atstarpes ieviešanas noteiktais rakstzīmju virknes beigas [( | = B UN


    Bezmaksas programmu un noderīgu padomu pasaule
    2024 whatsappss.ru