SQL-zelfstudie: one-stop-oplossing om SQL te leren



Dit artikel over SQL-zelfstudie is een uitgebreide gids over de belangrijkste SQL-concepten, -opdrachten en -query's met stapsgewijze voorbeelden.

In de huidige markt, waar elke dag ongeveer 2,5 Quintillion bytes aan gegevens worden gegenereerd, is het erg belangrijk om te begrijpen hoe je met zo'n gigantische hoeveelheid gegevens moet omgaan. Welnu, dit is waar Structured Query Language of SQL in beeld komt. Dus, in dit artikel over SQL Tutorial, zal ik de volgende belangrijke concepten bespreken, die een must zijn voor iemands reis om een .

SQL-zelfstudie: inleiding tot SQL

Wat is SQL?

Structured Query Language of beter bekend als SQL, ontwikkeld door Donald D.Chamberlin in de jaren 70, is een van de meest populaire talen die wordt gebruikt om gegevens uit een relationele database te manipuleren, op te slaan, bij te werken en op te halen. SQL bestaat uit verschillende opdrachten die zijn onderverdeeld in 4 categorieën, d.w.z. DDL, DML, DCL en TCL om met gegevens in databases te spelen. Relationele databases zoals MySQL-databases , , MS SQL Server, Sybase enz. Gebruiken SQL om gegevens te wijzigen.





Toepassingen van SQL

De toepassingen van SQL zijn als volgt:

  • Met SQL kunt u tabellen en databases maken en neerzetten.
  • Het stelt de gebruikers in staat om gegevens in databases te definiëren en te manipuleren.
  • SQL stelt de gebruikers in staat om gegevens in RDBMS te openen, te wijzigen en te beschrijven.
  • Met SQL kunt u machtigingen instellen voor tabellen, weergaven en procedures en specifieke machtigingen verlenen aan verschillende gebruikers.
  • Met SQL kunt u insluiten in andere talen met behulp van SQL-bibliotheken en modules.

Nu je de basisprincipes van SQL , laten we vervolgens in deze SQL-zelfstudie begrijpen wat de verschillende SQL-gegevenstypen zijn.



SQL-gegevenstypen

SQL-gegevenstypen zijn onderverdeeld in de volgende categorieën:

  • Numeriek - Het cijfergegevenstypen staan ​​zowel ondertekende als niet-ondertekende gehele getallen toe. Ze kunnen verder worden onderverdeeld in exacte en geschatte gegevenstypen, waarbij exact de gehele getallen in de vorm van hele getallen toelaat en bij benadering drijvende gehele getallen.
  • Tekenreeks -Met dit gegevenstype zijn tekens met een vaste en variabele lengte mogelijk. Dit gegevenstype kan ook verder worden onderverdeeld in Unicode-tekens, waardoor een vaste en variabele lengte van Unicode-tekens mogelijk is.
  • Binair -Met de binaire gegevenstypen kunnen gegevens worden opgeslagen in het formaat van binaire waarden, voor vaste en variabele lengte.
  • Datum Tijd - TMet dit gegevenstype kunnen gegevens worden opgeslagen in verschillende formaten van datum en tijd.
  • Andere - Deze sectie met gegevenstypen heeft gegevenstypen zoals tabel, XML, cursor,uniqueidentifier en sql_variant.

Als u een gedetailleerd begrip van de verschillende SQL-gegevenstypen wilt krijgen, kunt u de gedetailleerde gids raadplegen op SQL-gegevenstypen.

SQL-operatoren

Operators zijn de constructies die de waarden van de operanden kunnen manipuleren. Beschouw de uitdrukking 4 + 6 = 10, hier zijn 4 en 6 operanden en wordt + operator genoemd.



SQL ondersteunt de volgende typen operators:

  • Rekenkundige operatoren
  • Bitwise-operators
  • Vergelijkingsoperatoren
  • Samengestelde operators
  • Logische operators

Om de verschillende operators die door SQL worden ondersteund, op een uitgebreide manier te kennen, kunt u dat . Dus nu u weet wat SQL en de basisprincipes ervan is, moeten we de belangrijkste opdrachten of instructies in SQL begrijpen.

SQL-zelfstudie: belangrijkste SQL-opdrachten

SQL bestaat uit verschillende opdrachten of instructies om gegevens in de database toe te voegen, te wijzigen, te verwijderen of bij te werken. In dit artikel over SQL-zelfstudie gaan we de volgende uitspraken bespreken:

    1. CREËER
    2. LATEN VALLEN
    3. LEEFTIJD
    4. TRUNCATE
    5. LEG UIT
    6. INVOEGEN
    7. BIJWERKEN
    8. SELECTEER
    9. LEUK VINDEN
    10. VERLENEN

In deze SQL-zelfstudie ga ik de onderstaande database beschouwen alseen voorbeeld om u te laten zien hoe u moet schrijvenqueries met behulp van deze SQL-opdrachten.

Klanten ID Klantnaam Telefoonnummer Adres stad Land
eenSimon9876543210Donald Straat 52HyderabadIndia
2Akasha9955449922Queens Road 74MumbaiIndia
3Patrick9955888220Zijdebord 82DelhiIndia
4Sameer9647974327IG Road 19HyderabadIndia
5John9674325689Brigade Road Block 9BangaloreIndia

CREËER

De CREATE-instructie wordt gebruikt om op de volgende manier een tabel, view of database te maken:

CREËER DATABASE

Wordt gebruikt om een ​​database te maken.

Syntaxis

CREATE DATABASE DatabaseName

Voorbeeld

CREËER DATABASE CustomerInfo

MAAK EEN TABEL

Deze instructie wordt gebruikt om een ​​tabel te maken.

Syntaxis

CREATE TABLE TableName (gegevenstype Kolom1, gegevenstype Kolom2, ... gegevenstype KolomN)

Voorbeeld

MAAK TABEL Klanten (CustomerID int, CustomerName varchar (255), PhoneNumber int, Address varchar (255), City varchar (255), Country varchar (255))

WEERGAVE MAKEN

Wordt gebruikt om een ​​weergave te maken.

Syntaxis

MAAK VIEW OF VERVANG ViewName ALS SELECTEER Column1, Column2, ..., ColumnN FROM TableName WHERE Condition

Voorbeeld

MAAK BEKIJKEN OF VERVANG HydCustomers AS SELECTEER Klantnaam, Telefoonnummer VAN Klanten WAAR Stad = 'Hyderabad'

Opmerking: Voordat u begint met het maken van een tabel en het invoeren van waarden, moet u de database gebruiken met de instructie USE als [ GEBRUIK CustomerInfo ]

LATEN VALLEN

Het DROP-statement wordt gebruikt om een ​​bestaande tabel, view of database te verwijderen.

DROP DATABASE

Wordt gebruikt om de database te verwijderen.Wanneer u deze verklaring gebruikt, gaat alle in de database aanwezige informatie verloren.

Syntaxis

DROP DATABASE Databasenaam

Voorbeeld

DROP DATABASE Klantinfo

DROP TAFEL

Wordt gebruikt om de tafel te laten vallen.Als u deze verklaring gebruikt, gaat de volledige informatie in de tabel verloren.

Syntaxis

DROP TABLE TableName

Voorbeeld

DROP TABLE-klanten

DROP VIEW

Wordt gebruikt om de weergave te laten vallen.Als u deze verklaring gebruikt, gaat de volledige informatie die in de weergave aanwezig is, verloren.

Syntaxis

DROP VIEW Weergavenaam

Voorbeeld

DROP VIEW HydCustomers

LEEFTIJD

De ALTER-instructie wordt gebruikt om beperkingen of kolommen in een bestaande tabel toe te voegen, te verwijderen of te wijzigen.

ALTER TAFEL

De ALTER-verklaring wordt gebruikt om kolommen in een bestaande tabel te verwijderen, toe te voegen en te wijzigen. U kunt ALTER TABLE gebruiken met de kolom ADD / DROP om een ​​kolom toe te voegen of te verwijderen in de tabel. Afgezien hiervan kunt u ook een specifieke kolom WIJZIGEN / WIJZIGEN.

Syntaxis

ALTER TABLE TableName ADD ColumnName Gegevenstype ALTER TABLE TableName DROP COLUMN ColumnName ALTER TABLE TableName ALTER COLUMN ColumnName Gegevenstype

Voorbeeld

--ADD Kolom Geslacht: ALTER TABLE Klanten ADD Geslacht varchar (255) --DROP Kolom Geslacht: ALTER TABLE Klanten DROP COLUMN Geslacht --Voeg een kolom DOB toe en verander het gegevenstype van Datum in Jaar. ALTER TABLE DOB ADD DOB date ALTER TABLE DOB ALTER DOB jaar

TRUNCATE

De TRUNCATE-instructie wordt gebruikt om de informatie in de tabel te verwijderen, maar niet de tabel zelf. Dus als u deze opdracht eenmaal gebruikt, gaat uw informatie verloren, maar niet de tabel is nog steeds aanwezig in de database.

Syntaxis

TRUNCATE TABLE TableName

Voorbeeld

TRUNCATE Tafelklanten

LEG UIT

De instructies EXPLAIN en DESCRIBE zijn synoniemen die worden gebruikt om respectievelijk een plan voor het uitvoeren van een query en de informatie over een tabelstructuur te verkrijgen. Deze instructie kan worden gebruikt met de instructies INSERT, DELETE, SELECT, UPDATE en REPLACE.

Syntaxis

--Syntaxis voor DESCRIBE DESCRIBE Tabelnaam - Voorbeeldsyntaxis voor EXPLAIN EXPLAIN ANALYSE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2)

Voorbeeld

BESCHRIJVING Klanten VERKLAREN ANALYSE SELECTEREN * VAN Klanten1 DOE MEE met bestellingen AAN (Klanten.CustomerID = Orders.CustomerID)

INVOEGEN

De INSERT INTO statement wordt gebruikt om nieuwe records in een tabel in te voegen.

Syntaxis

VOEG IN Tabelnaam (Kolom1, Kolom2, Kolom3, ..., KolomN) WAARDEN (waarde1, waarde2, waarde3, ...) - Als u de kolomnamen niet wilt noemen, gebruik dan de onderstaande syntaxis, maar de volgorde van ingevoerde waarden moeten overeenkomen met de gegevenstypen van de kolom: INSERT INTO TableName VALUES (Value1, Value2, Value3, ...)

Voorbeeld

INVOEGEN IN klanten (klant-ID, klantnaam, telefoonnummer, adres, stad, land) WAARDEN ('06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India') INVOEGEN IN klantenWAARDEN ('07', 'Himani', '9858018368', 'Nice Road 42', 'Kolkata', 'India')

BIJWERKEN

De instructie UPDATE wordt gebruikt om de records die al in de tabel aanwezig zijn, te wijzigen.

Syntaxis

UPDATE Tabelnaam SET Column1 = Value1, Column2 = Value2, ... WHERE Condition

Voorbeeld

UPDATE Klanten SET CustomerName = 'Aisha', City = 'Kolkata' WAAR EmployeeID = 2

SELECTEER

De SELECT-instructie wordt gebruikt om gegevens uit een database te selecteren en op te slaan in een resultaattabel, de result-set .

Syntaxis

SELECT Column1, Column2, ... ColumN FROM TableName - (*) wordt gebruikt om alles uit de tabel te selecteren SELECT * FROM table_name - Om het aantal te retourneren records te selecteren, gebruik: SELECT TOP 3 * FROM TableName

Voorbeeld

SELECTEER Klant-ID, Klantnaam FROM Klanten - (*) wordt gebruikt om alles uit de tabel te selecteren SELECT * FROM Klanten - Gebruik om het aantal te retourneren records te selecteren: SELECT TOP 3 * FROM Customer

Afgezien hiervan kunt u het trefwoord SELECT gebruiken met , BESTEL DOOR , , en .

standaardwaarde van char in java

LEUK VINDEN

Deze operator wordt gebruikt met een WHERE-component om naar een gespecificeerd patroon in een kolom van een tabel te zoeken. Er zijn voornamelijk twee jokertekens die worden gebruikt in combinatie met de LIKE operator :

  • % - Het komt overeen met 0 of meer tekens.
  • _ - Het komt overeen met precies één teken.

Syntaxis

SELECTEER ColumnName (s) UIT Tabelnaam WAAR ColumnName LIKE patroon

Voorbeeld

SELECTEER * UIT klanten WAAR Klantnaam ZOALS 'S%'

VERLENEN

Het GRANT-commando wordt gebruikt om privileges of toegang tot de database en zijn objecten te verlenen aan de gebruikers.

Syntaxis

GRANT PrivilegeName ON ObjectName TO UserName [WITH GRANT OPTION]

waar,

  • PrivilegeName - De privileges / rechten / toegang verleend aan de gebruiker.
  • Objectnaam - Naam van een databaseobject zoals TABLE / VIEW / STORED PROC.
  • Gebruikersnaam - Naam van de gebruiker die de toegang / rechten / privileges krijgt.
  • OPENBAAR - Om alle gebruikers toegangsrechten te verlenen.
  • Rol naam - De naam van een set privileges die zijn gegroepeerd.
  • MET SUBSIDIE-OPTIE - Om de gebruiker toegang te geven om andere gebruikers rechten te verlenen.

Voorbeeld

- Om SELECTEER toestemming te verlenen aan de klantentafel aan admin. GRANT SELECT OP Klanten AAN admin

Nu je de , laten we begrijpen wat de verschillende soorten sleutels zijn die in de database worden gebruikt. Welnu, dit concept zal u helpen begrijpen hoe elke tabel verband houdt met de andere tabel in een relationeel databasebeheersysteem.

SQL-zelfstudie: sleutels

De volgende zijn de 7 soorten sleutels die in een database kunnen worden beschouwd:

  • Kandidaatsleutel - Een set attributen die een unieke tabel kunnen identificeren, kan worden aangeduid als een Candidate Key. Een tabel kan meer dan één kandidaat-sleutel hebben en uit de gekozen kandidaat-sleutels kan één sleutel worden gekozen als primaire sleutel.
  • Supersleutel - De set attributen die een tuple uniek kan identificeren, staat bekend als Super Key. Een kandidaatsleutel, primaire sleutel en een unieke sleutel is dus een superkey, maar vice versa is niet waar.
  • Hoofdsleutel - Een set attributen die wordt gebruikt om elke tuple uniek te identificeren, is ook een primaire sleutel.
  • Alternatieve sleutel - Alternatieve sleutels zijn de kandidaat-sleutels die niet als primaire sleutel worden gekozen.
  • Unieke sleutel- De unieke sleutel is vergelijkbaar met de primaire sleutel, maar staat één NULL-waarde toe in de kolom.
  • Vreemde sleutel - Een attribuut dat alleen de waarden kan aannemen die aanwezig zijn als de waarden van een ander attribuut, is de externe sleutel van het attribuut waarnaar het verwijst.
  • Samengestelde sleutel- Een samengestelde sleutel is een combinatie van twee of meer kolommen die elk tupel uniek identificeren.

Ik hoop dat je de verschillende soorten sleutels in de database hebt begrepen. Laten we vervolgens in dit artikel over SQL-tutorial de beperkingen in de database bespreken. Nou, SQL-beperkingen zijn gewendverhoog de nauwkeurigheid en betrouwbaarheid van gegevens die via een tabel in de database komen.

SQL-zelfstudie: Beperkingen

SQL-beperkingen zorgen ervoor dat er geen overtreding is in termen van een transactie van gegevens, als deze wordt gevonden, wordt de actie beëindigd. Het belangrijkste gebruik van de volgende beperkingen is beperkenhet type gegevens dat in een tabel kan worden opgenomen.

  • NIET NUL -Deze beperking wordt gebruikt om ervoor te zorgen dat een kolom geen NULL-waarde kan opslaan.
  • UNIEK - De UNIQUE-beperking wordt gebruikt om ervoor te zorgen dat alle waarden die in een kolom of tabel worden ingevoerd, uniek zijn.
  • CONTROLEREN - Deze beperking wordt gebruikt om ervoor te zorgen dat een kolom of meerdere kolommen aan een specifieke voorwaarde voldoen.
  • STANDAARD - De DEFAULT-beperking wordt gebruikt om een ​​standaardwaarde voor een kolom in te stellen als er geen waarde is opgegeven.
  • INHOUDSOPGAVE - Deze beperking is gewendindexen in de tabel, waarmee u zeer snel gegevens uit de database kunt maken en ophalen.

Als u meer wilt weten over de volgende beperkingen met syntaxis en voorbeelden, kunt u verwijzen naar andere .Dus, nu u over sleutels en beperkingen in de database, nu in dit artikel over SQL-zelfstudie, laten we een interessant concept Normalisatie bekijken.

SQL-zelfstudie: normalisatie

Normalisatie is het proces waarbij gegevens worden georganiseerd om duplicatie en overtolligheid te voorkomen. Er zijn veel opeenvolgende niveaus van normalisatie en die worden genoemd normale vormen . Ook is elke opeenvolgende normale vorm afhankelijk van de vorige. De volgende zijn de normale vormen die aanwezig zijn:

Normalisatie - SQL-zelfstudie - EdurekaLaten we de volgende tabel bekijken om de bovenstaande normale vormen te begrijpen:

Door de bovenstaande tabel te observeren, kunt u duidelijk de gegevensredundantie en duplicatie van gegevens onderscheiden. Laten we deze tabel dus normaliseren. Om de databases te normaliseren, moet u altijd beginnen met de laagste normaalvorm, d.w.z. 1NF, en uiteindelijk naar de hogere normaalvormen gaan.

Laten we nu eens kijken hoe we de eerste normaalvorm kunnen uitvoeren voor de bovenstaande tabel.

Eerste normale vorm (1NF)

Om ervoor te zorgen dat de database moet in 1NF moet elke tabelcel een enkele waarde hebben. Dus eigenlijk alle records moeten uniek zijn . De bovenstaande tabel wordt genormaliseerd in 1NF zoals hieronder:

Als u in de bovenstaande tabel observeert, zijn alle records uniek. Maar toch is er veel dataredundantie en duplicatie. Om dat te voorkomen, laten we de database normaliseren in de tweede normale vorm.

selenium webdriver testng framework voorbeeld

Tweede normale vorm (2NF)

Om ervoor te zorgen dat de database moet in 2NF , de database moet 1NF zijn en zou ook moeten een primaire sleutel met één kolom hebben . De bovenstaande tabel wordt genormaliseerd in 2NF zoals hieronder:

Als u de bovenstaande tabellen in acht neemt, heeft elke tabel een primaire sleutel met één kolom. Maar er is veel gegevensredundantie en duplicatie van een paar kolommen. Om dat te voorkomen, laten we de database normaliseren in de derde normale vorm.

Derde normale vorm (3NF)

Om ervoor te zorgen dat de database moet in 3NF , de database moet in 2NF staan en mag geen transitieve functionele afhankelijkheden hebben . De bovenstaande tabellen worden genormaliseerd in 3NF zoals hieronder:

Als u de bovenstaande tabellen in acht neemt, heeft de database geen transitieve afhankelijkheid. Dus na deze stap hoeven we onze database niet verder te normaliseren. Maar als u enige anomalieën of meer dan een enkele kandidaatsleutel ziet, kunt u doorgaan met de volgende hogere normaalvorm, d.w.z. BCNF.

Boyce-Codd Normale vorm (BCNF)

Om ervoor te zorgen dat de database in BCNF moet staan, moet de database aanwezig zijn in 3NF en moeten de tabellen verder worden verdeeld, zodat er maar één kandidaatsleutel aanwezig is.

Hiermee maken we een einde aan de normalisatie. Laten we nu, in deze SQL-tutorial, een belangrijk concept in SQL bespreken, namelijk Joins.

SQL-zelfstudie: sluit zich aan

Joins worden gebruikt om rijen uit twee of meer tabellen te combineren, op basis van een gerelateerde kolom tussen die tabellen en ook onder enkele voorwaarden. Er zijn hoofdzakelijk vier soorten joins:

  • BINNENKOMEN: Deze join retourneert die records die overeenkomende waarden hebben in beide tabellen.
  • VOLLEDIG AANMELDEN: De FULL JOIN retourneert al die records die een overeenkomst hebben in de linker- of rechtertabel.
  • LINKER LID WORDEN: Deze join retourneert records uit de linkertabel, en ook die records die voldoen aan de voorwaarde uit de rechtertabel.
  • RECHTS KOMEN: Deze join retourneert records uit de rechtertabel, en ook die records die voldoen aan de voorwaarde uit de linkertabel.

Dit was dus een korte beschrijving van JOINS, maar als je een gedetailleerde beschrijving van JOINS met een gedetailleerd voorbeeld wilt, kun je mijn artikel over . Laten we vervolgens in deze SQL-tutorial het laatste concept voor dit artikel bespreken, namelijk Views.

SQL-zelfstudie: weergaven

Een view in SQL is een enkele tabel, die is afgeleid van andere tabellen. Een weergave bevat rijen en kolommen die lijken op een echte tabel en heeft velden uit een of meer tabellen. Raadpleeg de onderstaande afbeelding:

Om te begrijpen hoe u een weergave maakt en neerzet, kunt u de bovenstaande CREATE- en DROP-instructies raadplegen. Daarmee komen we tot een einde aan dit artikel over SQL-zelfstudie. Ik hoop dat je dit artikel informatief vond. Als u zich voorbereidt op interviews met databasebeheerder en op zoek bent naar een uitgebreide lijst met vragen, kunt u ons artikel over

Als u meer wilt weten over MySQL en maak kennis met deze open-source relationele database, bekijk dan onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training zal je helpen MySQL diepgaand te begrijpen en je te helpen het onderwerp onder de knie te krijgen.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze SQLTutorial en we nemen zo snel mogelijk contact met u op.