sql >> Databasteknik >  >> RDS >> Database

SQL Tutorial:One Stop Solution för att lära sig SQL

På dagens marknad, där cirka 2,5 Quintillion byte data genereras varje dag, är det mycket viktigt att förstå hur man hanterar en sådan enorm mängd data. Tja, det är här Structured Query Language eller SQL kommer in i bilden. Så i den här artikeln om SQL Tutorial kommer jag att diskutera följande viktiga begrepp, som är ett måste för ens resa för att bli en databasadministratör.

  • Introduktion till SQL
    1. Vad är SQL?
    2. SQL-applikationer
    3. SQL-datatyper
    4. SQL-operatörer
  • Bästa SQL-kommandon
    1. SKAPA
    2. SLÄPP
    3. ÄNDRA
    4. TRUNCATE
    5. FÖRKLARA
    6. INSERT INTO
    7. UPPDATERA
    8. VÄLJ
    9. GILLA
    10. BEHANDLING
  • Nycklar i databasen
  • SQL-begränsningar
  • Normalisering
  • SQL-anslutningar
  • Visningar

SQL-handledning:Introduktion till SQL

Vad är SQL?

Utvecklat av Donald D.Chamberlin på 1970-talet, Structured Query Language eller vanligast känt som SQL är ett av de mest populära språken som används för att manipulera, lagra, uppdatera och hämta data från en relationsdatabas. SQL består av olika kommandon uppdelade i 4 kategorier, dvs DDL, DML, DCL och TCL för att spela med data i databaser. Relationsdatabaser som MySQL-databaser, Oracle, MS SQL Server, Sybase etc använder också SQL för att modifiera data.

SQL-applikationer

SQL-applikationerna är följande:

  • Med SQL kan du skapa och släppa tabeller och databaser.
  • Det låter användarna definiera och manipulera data i databaser.
  • SQL låter användarna komma åt, ändra och beskriva data i RDBMS.
  • Med SQL kan du ställa in behörigheter för tabeller, vyer och procedurer och ge specifika behörigheter till olika användare.
  • SQL låter dig bädda in i andra språk med hjälp av SQL-bibliotek och -moduler.

Nu när du känner till grunderna i SQL, låt oss härnäst i denna SQL-handledning förstå vad de olika SQL-datatyperna är.

SQL-datatyper

SQL-datatyper är indelade i följande kategorier:

  • Numerisk – De numeriska datatyperna tillåter både signerade och osignerade heltal. De kan vidare delas in i exakta och ungefärliga datatyper där exakt tillåter heltal i form av heltal och ungefärliga tillåter flytande heltal.
  • Teckensträng – Denna datatyp tillåter tecken med fast och variabel längd. Denna datatyp kan också kategoriseras ytterligare i Unicode-tecken, vilket tillåter fast och variabel längd på Unicode-tecken.
  • Binär – De binära datatyperna tillåter att data lagras i formatet binära värden, för fast och variabel längd.
  • Datum och tid – Den här datatypen gör att data kan lagras i olika format av datum och tid.
  • Övrigt – Det här avsnittet av datatyper har datatyper som tabell, XML, markör, unik identifierare och sql_variant.

Om du vill få en detaljerad förståelse av de olika SQL-datatyperna kan du hänvisa till en detaljerad guide om SQL-datatyper.

SQL-operatörer

Operatorer är de konstruktioner som kan manipulera operandernas värden. Betrakta uttrycket 4 + 6 =10, här är 4 och 6 operander och + kallas operator.

SQL stöder följande typer av operatörer:

  • Aritmetiska operatorer
  • Bitwise Operators
  • Jämförelseoperatörer
  • Sammansatta operatörer
  • Logiska operatörer

För att känna till de olika operatorerna som stöds av SQL, på ett utarbetat sätt, kan du klicka här. Så nu när du vet vad som är SQL och dess grunder, låt oss förstå de främsta kommandona eller satserna i SQL.

SQL-handledning:De bästa SQL-kommandona

SQL består av olika kommandon eller satser för att lägga till, ändra, ta bort eller uppdatera data i databasen. I den här artikeln om SQL-handledning kommer vi att diskutera följande påståenden:

    1. SKAPA
    2. SLÄPP
    3. ÄNDRA
    4. TRUNCATE
    5. FÖRKLARA
    6. INSERT INTO
    7. UPPDATERA
    8. VÄLJ
    9. GILLA
    10. BEHANDLING

I den här SQL-handledningen kommer jag att betrakta databasen nedan som ett exempel, för att visa dig hur du skriver frågor med dessa SQL-kommandon.

Kund-ID Kundnamn Telefonnummer Adress Stad Land
1 Simon 9876543210 Donald Street 52 Hyderabad Indien
2 Akash 9955449922 Queens Road 74 Mumbai Indien
3 Patrick 9955888220 Silk Board 82 Delhi Indien
4 Sameer 9647974327 IG Road 19 Hyderabad Indien
5 John 9674325689 Brigad Road Block 9 Bangalore Indien

SKAPA

CREATE-satsen används för att skapa en tabell, vy eller en databas på följande sätt:

SKAPA DATABAS

Används för att skapa en databas.

Syntax

CREATE DATABASE DatabaseName;

Exempel

 
CREATE DATABASE CustomerInfo; 

SKAPA TABELL

Detta uttalande används för att skapa en tabell.

Syntax

CREATE TABLE TableName (
Column1 data type,
Column2 data type,
....

ColumnN data type
);

Exempel

 
CREATE TABLE Customers
(
CustomerID int,
CustomerName varchar(255),
PhoneNumber int,
Address varchar(255),
City varchar(255),
Country varchar(255)
);

SKAPA VY

Används för att skapa en vy.

Syntax

CREATE VIEW OR REPLACE ViewName AS
SELECT Column1, Column2, ..., ColumnN
FROM TableName
WHERE Condition;

Exempel

CREATE VIEW OR REPLACE HydCustomers AS
SELECT CustomerName, PhoneNumber
FROM Customers
WHERE City = "Hyderabad";

Obs! Innan du börjar skapa en tabell och mata in värden måste du använda databasen och använda USE-satsen som [USE CustomersInfo; ]

SLÄPP

DROP-satsen används för att ta bort en befintlig tabell, vy eller en databas.

SLIPPA DATABAS

Används för att ta bort databasen. När du använder detta uttalande kommer fullständig information som finns i databasen att gå förlorad.

Syntax

DROP DATABASE DatabaseName;

Exempel

DROP DATABASE CustomerInfo;

SLIPTA TABELL

Används för att ta bort tabellen. När du använder detta uttalande kommer fullständig information i tabellen att gå förlorad.

Syntax

DROP TABLE TableName;

Exempel

DROP TABLE Customers;

SLÄPP VY

Används för att ta bort vyn. När du använder detta uttalande kommer fullständig information som finns i vyn att gå förlorad.

Syntax

DROP VIEW ViewName;

Exempel

DROP VIEW HydCustomers;

ÄNDRA

ALTER-satsen används för att lägga till, ta bort eller ändra begränsningar eller kolumner i en befintlig tabell.

ÄNDRA TABELL

ALTER-satsen används för att ta bort, lägga till, ändra kolumner i en befintlig tabell. Du kan använda ALTER TABLE med ADD/DROP-kolumnen för att antingen lägga till eller släppa en kolumn i tabellen. Förutom detta kan du även ÄNDRA/ÄNDRA en specifik kolumn.

Syntax

ALTER TABLE TableName
ADD ColumnName Data Type;
ALTER TABLE TableName
DROP COLUMN ColumnName;

ALTER TABLE TableName
ALTER COLUMN ColumnName Data Type;

Exempel

--ADD Column Gender:
 ALTER TABLE Customers
ADD  Gender varchar(255);
 
--DROP Column Gender: 
ALTER TABLE Customers
DROP COLUMN Gender ;

--Add a column DOB and change the data type from Date to Year.
 
ALTER TABLE DOB
ADD DOB date;
 
ALTER TABLE DOB
ALTER DOB year;

TRUNCATE

TRUNCATE-satsen används för att ta bort informationen i tabellen, men inte själva tabellen. Så när du använder det här kommandot kommer din information att gå förlorad, men inte tabellen kommer fortfarande att finnas i databasen.

Syntax

TRUNCATE TABLE TableName;

Exempel

TRUNCATE Table Customers;

FÖRKLARA

Uppgifterna EXPLAIN och DESCRIBE är synonymer som används för att erhålla en exekveringsplan för frågor respektive information om en tabellstruktur. Denna sats kan användas med INSERT , DELETE, SELECT, UPDATE och REPLACE satser.

Syntax

--Syntax for DESCRIBE
DESCRIBE TableName;

--Sample syntax for EXPLAIN
EXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2);

Exempel

DESCRIBE Customers;

EXPLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON (Customers.CustomerID = Orders.CustomerID);

INSERT INTO

INSERT INTO-satsen används för att infoga nya poster i en tabell.

Syntax

INSERT INTO TableName (Column1, Column2, Column3, ...,ColumnN)
VALUES (value1, value2, value3, ...);

--If you do not want to mention the column names then use the below syntax, but the order of values entered should match the column data types :

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

Exempel

INSERT INTO Customers(CustomerID, CustomerName, PhoneNumber, Address, City, Country)
VALUES ('06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India');
 
INSERT INTO Customers
VALUES ('07', 'Himani','9858018368', 'Nice Road 42', 'Kolkata', 'India');

UPPDATERA

UPDATE-satsen används för att ändra de poster som redan finns i tabellen.

Syntax

UPDATE TableName
SET Column1 = Value1, Column2 = Value2, ...
WHERE Condition;

Exempel

UPDATE Customers
SET CustomerName = 'Aisha', City= 'Kolkata'
WHERE EmployeeID = 2;

VÄLJ

SELECT-satsen används för att välja data från en databas och lagra den i en resultattabell, kallad resultatuppsättningen .

Syntax

SELECT Column1, Column2, ...ColumN
FROM TableName;

--(*) is used to select all from the table
SELECT * FROM table_name;

-- To select the number of records to return use:
SELECT TOP 3 * FROM TableName;

Exempel

SELECT CustomerID, CustomerName
FROM Customers;
 
--(*) is used to select all from the table
SELECT * FROM Customers;
 
-- To select the number of records to return use:
SELECT TOP 3 * FROM Customers;

Förutom detta kan du använda nyckelordet SELECT med DISTINCT, ORDER BY, GROUP BY, HAVING Clause och INTO.

GILLA

Denna operator används med en WHERE-sats för att söka efter ett specificerat mönster i en kolumn i en tabell. Det finns huvudsakligen två jokertecken som används tillsammans med LIKE-operatorn:

  • % – Den matchar 0 eller fler tecken.
  • __ – Den matchar exakt ett tecken.

Syntax

SELECT ColumnName(s)
FROM TableName
WHERE ColumnName LIKE pattern;

Exempel

SELECT * FROM Customers
WHERE CustomerName LIKE 'S%';

BIDRAG

Kommandot GRANT används för att ge användarna privilegier eller åtkomst till databasen och dess objekt.

Syntax

GRANT PrivilegeName
ON ObjectName
TO {UserName |PUBLIC |RoleName}
[WITH GRANT OPTION];

där,

  • PrivilegeName – De privilegier/rättigheter/åtkomst som beviljats ​​användaren.
  • Objektnamn – Namn på ett databasobjekt som TABLE/VIEW/STORED PROC.
  • Användarnamn – Namn på användaren som ges åtkomst/rättigheter/privilegier.
  • OFFENTLIG – Att ge åtkomsträttigheter till alla användare.
  • Rollnamn – Namnet på en uppsättning privilegier som är grupperade.
  • Med BEvilgningsalternativ – Att ge användaren tillgång att ge andra användare rättigheter.

Exempel

-- To grant SELECT permission to Customers table to admin
GRANT SELECT ON Customers TO admin;

Nu när du känner till de främsta SQL-kommandona, låt oss förstå vilka olika typer av nycklar som används i databasen. Tja, det här konceptet hjälper dig att förstå hur varje tabell är relaterad till den andra tabellen i ett relationsdatabashanteringssystem.

SQL-handledning:Nycklar

Följande är de 7 typer av nycklar som kan övervägas i en databas:

  • Kandidatnyckel – En uppsättning attribut som unikt kan identifiera en tabell kan betecknas som en kandidatnyckel. En tabell kan ha mer än en kandidatnyckel, och av de valda kandidatnycklarna kan en nyckel väljas som en primärnyckel.
  • Supernyckel – Uppsättningen attribut som unikt kan identifiera en tuppel kallas Super Key. Så en kandidatnyckel, primärnyckel och en unik nyckel är en supernyckel, men vice versa är inte sant.
  • Primärnyckel – En uppsättning attribut som används för att unikt identifiera varje tupel är också en primärnyckel.
  • Alternativ nyckel – Alternativa nycklar är kandidatnycklarna, som inte är valda som en primärnyckel.
  • Unik nyckel – Den unika nyckeln liknar primärnyckeln, men tillåter ett NULL-värde i kolumnen.
  • Främmande nyckel – Ett attribut som bara kan ta värdena som finns som värden för något annat attribut, är den främmande nyckeln till det attribut som det refererar till.
  • Kompositnyckel – En sammansatt nyckel är en kombination av två eller flera kolumner som identifierar varje tupel unikt.

Jag hoppas att du har förstått de olika typerna av nycklar i databasen, låt oss härnäst i den här artikeln om SQL-handledning diskutera begränsningarna i databasen. Tja, SQL-begränsningar används för att öka noggrannheten och tillförlitligheten hos data som går in i databasen genom en tabell.

SQL-handledning: Begränsningar

SQL-begränsningar ser till att det inte finns någon överträdelse när det gäller en transaktion av data om den hittas, kommer åtgärden att avslutas. Den huvudsakliga användningen av följande begränsningar är att begränsa typen av data som kan gå in i en tabell.

  • INTE NULL – Denna begränsning används för att säkerställa att en kolumn inte kan lagra ett NULL-värde.
  • UNIKT – Begränsningen UNIQUE används för att säkerställa att alla värden som anges i en kolumn eller en tabell är unika.
  • KONTROLLERA – Denna begränsning används för att säkerställa att en kolumn eller flera kolumner uppfyller ett specifikt villkor.
  • STANDARD – DEFAULT-begränsningen används för att ställa in ett standardvärde för en kolumn om inget värde anges.
  • INDEX – Denna begränsning används för att indexera i tabellen, genom vilka du kan skapa och hämta data från databasen mycket snabbt.

Om du vill veta mer om följande begränsningar på djupet med syntax och exempel, kan du referera till andra artiklar om SQL. Så nu när du handlar om nycklar och begränsningar i databasen, nästa i den här artikeln om SQL-handledning, låt oss ta en titt på ett intressant koncept Normalisering.

SQL-handledning:Normalisering

Normalisering är processen att organisera data för att undvika dubbelarbete och redundans. Det finns många på varandra följande nivåer av normalisering och de kallas normala former . Varje på varandra följande normalform beror också på den föregående. Följande är de vanliga formerna som finns:

Låt oss överväga följande tabell för att förstå ovanstående normala former:

Genom att observera tabellen ovan kan du tydligt urskilja dataredundansen och dupliceringen av data. Så låt oss normalisera den här tabellen. För att börja normalisera databaserna bör du alltid börja med den lägsta normalformen, dvs. 1NF och sedan gå till de högre normalformerna så småningom.

Låt oss nu se hur vi kan utföra den första normala formen för tabellen ovan.

Första normalformen(1NF)

För att se till att databasen måste vara 1NF , bör varje tabellcell ha ett enda värde. Så i princip alla poster måste vara unika . Tabellen ovan kommer att normaliseras till 1NF enligt nedan:

Om du observerar i tabellen ovan är alla poster unika. Men ändå finns det mycket dataredundans och dubbelarbete. Så, för att undvika det, låt oss normalisera databasen till andra normala form.

Andra normalform(2NF)

För att se till att databasen måste vara i 2NF , bör databasen vara 1NF och bör också ha en primärnyckel med en kolumn . Tabellen ovan kommer att normaliseras till 2NF enligt nedan:

Om du observerar ovanstående tabeller har varje tabell en primärnyckel med en kolumn. Men det finns mycket dataredundans och duplicering av några kolumner. Så för att undvika det, låt oss normalisera databasen till tredje normalform.

Tredje normalformen(3NF)

För att se till att databasen måste vara 3NF , bör databasen vara i 2NF och får inte ha några transitiva funktionella beroenden . Tabellerna ovan kommer att normaliseras till 3NF enligt nedan:

Om du observerar ovanstående tabeller har databasen inget transitivt beroende. Så efter detta steg behöver vi inte normalisera vår databas ytterligare. Men om du ser några anomalier närvarande eller mer än en enskild kandidatnyckel, kan du gå vidare med nästa högre normala form, dvs. BCNF.

Boyce-Codd Normal Form(BCNF)

För att säkerställa att databasen måste vara i BCNF, måste databasen finnas i 3NF och tabellerna måste delas upp ytterligare för att säkerställa att endast en kandidatnyckel finns.

Med detta kommer vi till ett slut på normaliseringen. Låt oss nu, nästa gång i denna SQL-handledning, diskutera ett viktigt koncept i SQL, som är Joins.

SQL-handledning:Går med

Joins används för att kombinera rader från två eller flera tabeller, baserat på en relaterad kolumn mellan dessa tabeller och även på ett fåtal villkor. Det finns huvudsakligen fyra typer av kopplingar:

  • INRE JOIN: Denna join returnerar de poster som har matchande värden i båda tabellerna.
  • FULLKOMMEN: FULL JOIN returnerar alla de poster som antingen har en matchning i den vänstra eller den högra tabellen.
  • LEFT JOIN: Denna koppling returnerar poster från den vänstra tabellen, och även de poster som uppfyller villkoret från den högra tabellen.
  • RIGHT JOIN: Denna join returnerar poster från den högra tabellen, och även de poster som uppfyller villkoret från den vänstra tabellen.

Så, detta var en kort beskrivning av JOINS, men om du vill ha en detaljerad beskrivning av JOINS med ett detaljerat exempel kan du hänvisa till min artikel om SQL JOINS. Låt oss sedan i denna SQL-handledning diskutera det sista konceptet för den här artikeln, dvs. Views.

SQL-handledning:Visningar

En vy i SQL är en enda tabell, som härleds från andra tabeller. En vy innehåller rader och kolumner som liknar en riktig tabell och har fält från en eller flera tabeller. Se bilden nedan:

För att förstå hur man skapar och släpper en vy kan du hänvisa till CREATE- och DROP-satserna som nämns ovan. Med det kommer vi till ett slut på den här artikeln om SQL-handledning. Jag hoppas att du tyckte att den här artikeln var informativ. Om du förbereder dig för databasadministratörsintervjuer och letar efter en omfattande lista med frågor kan du också hänvisa till vår artikel om SQL-intervjufrågor.

Om du vill lära dig mer om MySQL och lära känna denna relationsdatabas med öppen källkod, kolla in vår MySQL DBA-certifieringsutbildning som kommer med instruktörsledd liveutbildning och verklig -livsprojekterfarenhet. Den här utbildningen hjälper dig att förstå MySQL på djupet och hjälper dig att behärska ämnet.

Har du en fråga till oss? Nämn det i kommentarsfältet i denna SQLTutorial så återkommer vi till dig.


  1. På jakt efter snabb lokal lagring

  2. ODP.NET Oracle.ManagedDataAcess slumpmässiga ORA-12570-fel

  3. Hur LEAST() fungerar i MariaDB

  4. Hur man migrerar från MSSQL till MySQL