sql >> Database teknologi >  >> RDS >> Database

SQL-tutorial:One Stop-løsning til at lære SQL

I dagens marked, hvor der genereres omkring 2,5 Quintillion bytes data hver dag, er det meget vigtigt at forstå, hvordan man håndterer sådan en enorm mængde data. Nå, det er her Structured Query Language eller SQL kommer ind i billedet. Så i denne artikel om SQL Tutorial vil jeg diskutere følgende vigtige begreber, som er et must på ens rejse med at blive databaseadministrator.

  • Introduktion til SQL
    1. Hvad er SQL?
    2. SQL-applikationer
    3. SQL-datatyper
    4. SQL-operatører
  • Top SQL-kommandoer
    1. OPRET
    2. SLIP
    3. ÆNDRING
    4. TRUNCATE
    5. FOKLAR
    6. INDSÆT I
    7. OPDATERING
    8. VÆLG
    9. LIKE
    10. GIV
  • Nøgler i database
  • SQL-begrænsninger
  • Normalisering
  • SQL-tilmeldinger
  • Visninger

SQL-vejledning:Introduktion til SQL

Hvad er SQL?

Udviklet af Donald D.Chamberlin i 1970'erne, Structured Query Language eller mest kendt som SQL er et af de mest populære sprog, der bruges til at manipulere, gemme, opdatere og hente data fra en relationsdatabase. SQL består af forskellige kommandoer opdelt i 4 kategorier, dvs. DDL, DML, DCL og TCL til at spille med data i databaser. Relationsdatabaser som MySQL-databaser, Oracle, MS SQL Server, Sybase osv. bruger også SQL til at ændre data.

SQL-applikationer

SQL-applikationerne er som følger:

  • Med SQL kan du oprette og slette tabeller og databaser.
  • Det giver brugerne mulighed for at definere og manipulere data i databaser.
  • SQL giver brugerne mulighed for at få adgang til, ændre og beskrive data i RDBMS.
  • Med SQL kan du indstille tilladelser til tabeller, visninger og procedurer og give specifikke tilladelser til forskellige brugere.
  • SQL giver dig mulighed for at integrere i andre sprog ved hjælp af SQL-biblioteker og -moduler.

Nu hvor du kender det grundlæggende i SQL, lad os næste gang i denne SQL-tutorial forstå, hvad de forskellige SQL-datatyper er.

SQL-datatyper

SQL-datatyper er opdelt i følgende kategorier:

  • Numerisk – De numeriske datatyper tillader både signerede og usignerede heltal. De kan yderligere opdeles i eksakte og tilnærmede datatyper, hvor eksakt tillader heltal i form af hele tal og omtrentlig tillader flydende heltal.
  • Tegnstreng – Denne datatype tillader tegn med fast og variabel længde. Denne datatype kan også kategoriseres yderligere i Unicode-tegn, som tillader fast og variabel længde af Unicode-tegn.
  • Binær – De binære datatyper gør det muligt at lagre data i formatet af binære værdier, med fast og variabel længde.
  • Dato og tid – Denne datatype gør det muligt at lagre data i forskellige formater af dato og klokkeslæt.
  • Andet – Denne sektion af datatyper har datatyper såsom tabel, XML, cursor, unik id og sql_variant.

Hvis du ønsker at få en detaljeret forståelse af de forskellige SQL-datatyper, kan du se en detaljeret vejledning om SQL-datatyper.

SQL-operatører

Operatorer er de konstruktioner, der kan manipulere operandernes værdier. Overvej udtrykket 4 + 6 =10, her er 4 og 6 operander og + kaldes operator.

SQL understøtter følgende typer operatører:

  • Aritmetiske operatorer
  • Bitwise Operators
  • Sammenligningsoperatører
  • Sammensatte operatører
  • Logiske operatører

For at kende de forskellige operatører, der understøttes af SQL, på en uddybet måde, kan du klikke her. Så nu hvor du ved, hvad der er SQL og dets grundlæggende funktioner, så lad os forstå de øverste kommandoer eller sætninger i SQL.

SQL-vejledning:Top SQL-kommandoer

SQL består af forskellige kommandoer eller sætninger til at tilføje, ændre, slette eller opdatere data i databasen. I denne artikel om SQL-tutorial vil vi diskutere følgende udsagn:

    1. OPRET
    2. SLIP
    3. ÆNDRING
    4. TRUNCATE
    5. FOKLAR
    6. INDSÆT I
    7. OPDATERING
    8. VÆLG
    9. LIKE
    10. GIV

I denne SQL-tutorial vil jeg betragte nedenstående database som et eksempel for at vise dig, hvordan du skriver forespørgsler ved hjælp af disse SQL-kommandoer.

Kunde-id Kundenavn Telefonnummer Adresse By Land
1 Simon 9876543210 Donald Street 52 Hyderabad Indien
2 Akash 9955449922 Queens Road 74 Mumbai Indien
3 Patrick 9955888220 Silkeplade 82 Delhi Indien
4 Sameer 9647974327 IG Road 19 Hyderabad Indien
5 John 9674325689 Brigade Road Block 9 Bangalore Indien

OPRET

CREATE-sætningen bruges til at oprette en tabel, visning eller en database på følgende måde:

OPRET DATABASE

Bruges til at oprette en database.

Syntaks

CREATE DATABASE DatabaseName;

Eksempel

 
CREATE DATABASE CustomerInfo; 

OPRET TABEL

Denne erklæring bruges til at oprette en tabel.

Syntaks

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

ColumnN data type
);

Eksempel

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

OPRET VISNING

Bruges til at oprette en visning.

Syntaks

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

Eksempel

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

Bemærk: Før du begynder at oprette en tabel og indtaste værdier, skal du bruge databasen ved at bruge USE-sætningen som [USE CustomersInfo; ]

SLIP

DROP-sætningen bruges til at slette en eksisterende tabel, visning eller en database.

SLIP DATABASE

Bruges til at slette databasen. Når du bruger denne erklæring, vil alle oplysninger, der findes i databasen, gå tabt.

Syntaks

DROP DATABASE DatabaseName;

Eksempel

DROP DATABASE CustomerInfo;

SLIP TABEL

Bruges til at droppe tabellen. Når du bruger denne erklæring, vil alle oplysninger i tabellen gå tabt.

Syntaks

DROP TABLE TableName;

Eksempel

DROP TABLE Customers;

DROP VISNING

Bruges til at droppe visningen. Når du bruger denne erklæring, vil alle oplysninger i visningen gå tabt.

Syntaks

DROP VIEW ViewName;

Eksempel

DROP VIEW HydCustomers;

ÆNDRING

ALTER-sætningen bruges til at tilføje, slette eller ændre begrænsninger eller kolonner i en eksisterende tabel.

ÆNDRINGSTABEL

ALTER-sætningen bruges til at slette, tilføje, ændre kolonner i en eksisterende tabel. Du kan bruge ALTER TABLE med ADD/DROP kolonne til enten at tilføje eller slippe en kolonne i tabellen. Udover dette kan du også ÆNDRE/ÆNDRE en specifik kolonne.

Syntaks

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

ALTER TABLE TableName
ALTER COLUMN ColumnName Data Type;

Eksempel

--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-sætningen bruges til at slette oplysningerne i tabellen, men ikke selve tabellen. Så når du først bruger denne kommando, vil dine oplysninger gå tabt, men ikke tabellen vil stadig være til stede i databasen.

Syntaks

TRUNCATE TABLE TableName;

Eksempel

TRUNCATE Table Customers;

FOKLAR

EXPLAIN- og DESCRIBE-sætningerne er synonymer, der bruges til at opnå henholdsvis en plan for udførelse af forespørgsler og oplysningerne om en tabelstruktur. Denne sætning kan bruges med INSERT , DELETE, SELECT, UPDATE og REPLACE sætninger.

Syntaks

--Syntax for DESCRIBE
DESCRIBE TableName;

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

Eksempel

DESCRIBE Customers;

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

INDSÆT I

INSERT INTO-sætningen bruges til at indsætte nye poster i en tabel.

Syntaks

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, ...);

Eksempel

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');

OPDATERING

UPDATE-sætningen bruges til at ændre de poster, der allerede findes i tabellen.

Syntaks

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

Eksempel

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

VÆLG

SELECT-sætningen bruges til at vælge data fra en database og gemme dem i en resultattabel, kaldet resultatsættet .

Syntaks

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;

Eksempel

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;

Udover dette kan du bruge søgeordet SELECT med DISTINCT, ORDER BY, GROUP BY, HAVING Clause og INTO.

LIKE

Denne operator bruges sammen med en WHERE-sætning til at søge efter et specificeret mønster i en kolonne i en tabel. Der er hovedsageligt to jokertegn, der bruges i forbindelse med LIKE-operatoren:

  • % – Det matcher 0 eller flere tegn.
  • __ – Det matcher nøjagtigt ét tegn.

Syntaks

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

Eksempel

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

GANT

Kommandoen GRANT bruges til at give brugerne privilegier eller adgang til databasen og dens objekter.

Syntaks

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

hvor,

  • PrivilegeName – De privilegier/rettigheder/adgang, der er givet til brugeren.
  • Objektnavn – Navn på et databaseobjekt som TABLE/VIEW/STORED PROC.
  • Brugernavn – Navn på den bruger, der har fået adgang/rettigheder/privilegier.
  • OFFENTLIG – At give adgangsrettigheder til alle brugere.
  • Rollenavn – Navnet på et sæt privilegier grupperet sammen.
  • MED TILDELINGSMULIGHED – At give brugeren adgang til at give andre brugere rettigheder.

Eksempel

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

Nu hvor du kender de øverste SQL-kommandoer, så lad os forstå, hvad der er de forskellige typer nøgler, der bruges i databasen. Nå, dette koncept hjælper dig med at forstå, hvordan hver tabel er relateret til den anden tabel i et relationelt databasestyringssystem.

SQL-vejledning:Taster

Følgende er de 7 typer nøgler, som kan overvejes i en database:

  • Kandidatnøgle – Et sæt attributter, der unikt kan identificere en tabel, kan betegnes som en kandidatnøgle. En tabel kan have mere end én kandidatnøgle, og ud af de valgte kandidatnøgler kan én nøgle vælges som en primærnøgle.
  • Supernøgle – Sættet af attributter, der unikt kan identificere en tupel, er kendt som Super Key. Så en kandidatnøgle, primærnøgle og en unik nøgle er en supernøgle, men omvendt er det ikke sandt.
  • Primær nøgle – Et sæt attributter, som bruges til entydigt at identificere hver tupel, er også en primær nøgle.
  • Alternativ nøgle – Alternative nøgler er kandidatnøglerne, som ikke er valgt som en primær nøgle.
  • Unik nøgle – Den unikke nøgle ligner den primære nøgle, men tillader én NULL-værdi i kolonnen.
  • Udenlandsk nøgle – En attribut, der kun kan tage de tilstedeværende værdier som værdierne af en anden attribut, er fremmednøglen til den attribut, som den refererer til.
  • Sammensat nøgle – En sammensat nøgle er en kombination af to eller flere kolonner, der identificerer hver tupel unikt.

Jeg håber, at du har forstået de forskellige typer nøgler i databasen. Lad os herefter diskutere begrænsningerne i databasen i denne artikel om SQL-tutorial. Nå, SQL-begrænsninger bruges til at øge nøjagtigheden og pålideligheden af ​​data, der går ind i databasen gennem en tabel.

SQL-vejledning: Begrænsninger

SQL-begrænsninger sørger for, at der ikke er nogen overtrædelse med hensyn til en transaktion af data, hvis den findes, vil handlingen blive afsluttet. Hovedanvendelsen af ​​følgende begrænsninger er at begrænse den type data, der kan indgå i en tabel.

  • IKKE NULL – Denne begrænsning bruges til at sikre, at en kolonne ikke kan gemme en NULL-værdi.
  • UNIKK – Den UNIKKE begrænsning bruges til at sikre, at alle de værdier, der er indtastet i en kolonne eller en tabel, er unikke.
  • TJEK – Denne begrænsning bruges til at sikre, at en kolonne eller flere kolonner opfylder en bestemt betingelse.
  • STANDARD – STANDARD-begrænsningen bruges til at angive en standardværdi for en kolonne, hvis der ikke er angivet nogen værdi.
  • INDEKS – Denne begrænsning bruges til at indeksere i tabellen, hvorigennem du kan oprette og hente data fra databasen meget hurtigt.

Hvis du vil vide mere om følgende begrænsninger med syntaks og eksempler, kan du henvise til andre artikler om SQL. Så nu hvor du om nøgler og begrænsninger i databasen, næste gang i denne artikel om SQL tutorial, lad os tage et kig på et interessant koncept Normalisering.

SQL-vejledning:Normalisering

Normalisering er processen med at organisere data for at undgå duplikering og redundans. Der er mange successive niveauer af normalisering, og de kaldes normale former . Hver på hinanden følgende normalform afhænger også af den foregående. Følgende er de normale former til stede:

For at forstå ovenstående normale former, lad os overveje følgende tabel:

Ved at observere ovenstående tabel kan du tydeligt se dataredundansen og duplikeringen af ​​data. Så lad os normalisere denne tabel. For at begynde at normalisere databaserne, bør du altid starte med den laveste normalform, dvs. 1NF, og derefter gå til de højere normale former til sidst.

Lad os nu se, hvordan vi kan udføre den første normale form for ovenstående tabel.

Første normalform(1NF)

For at sikre, at databasen skal i 1NF , skal hver tabelcelle have en enkelt værdi. Så dybest set skal alle registreringer være unikke . Ovenstående tabel vil blive normaliseret til 1NF som nedenfor:

Hvis du observerer i ovenstående tabel, er alle posterne unikke. Men alligevel er der megen dataredundans og duplikering. Så for at undgå det, lad os normalisere databasen til anden normal form.

Anden normalform(2NF)

For at sikre, at databasen skal i 2NF , skal databasen være 1NF og bør også have en enkelt-kolonne primær nøgle . Ovenstående tabel vil blive normaliseret til 2NF som nedenfor:

Hvis du observerer ovenstående tabeller, har hver tabel en enkelt-kolonne primær nøgle. Men der er meget dataredundans og duplikering af nogle få kolonner. Så for at undgå det, lad os normalisere databasen til tredje normal form.

Tredje normalform(3NF)

For at sikre, at databasen skal i 3NF , skal databasen være i 2NF og må ikke have nogen transitive funktionelle afhængigheder . Ovenstående tabeller vil blive normaliseret til 3NF som nedenfor:

Hvis du observerer ovenstående tabeller, har databasen ingen transitiv afhængighed. Så efter dette trin behøver vi ikke at normalisere vores database yderligere. Men hvis du ser nogen anomalier til stede eller mere end en enkelt kandidatnøgle, kan du gå videre med den næste højere normale form, dvs. BCNF.

Boyce-Codd Normal Form(BCNF)

For at sikre, at databasen skal være i BCNF, skal databasen være til stede i 3NF, og tabellerne skal opdeles yderligere for at sikre, at der kun er én kandidatnøgle til stede.

Med dette kommer vi til en ende på normaliseringen. Lad os nu, næste gang i denne SQL-tutorial, diskutere et vigtigt koncept i SQL, som er Joins.

SQL-vejledning:Deltager

Joins bruges til at kombinere rækker fra to eller flere tabeller, baseret på en relateret kolonne mellem disse tabeller og også på få betingelser. Der er hovedsageligt fire typer joinforbindelser:

  • INDRE JOIN: Denne join returnerer de poster, der har matchende værdier i begge tabeller.
  • FULD JOIN: FULD JOIN returnerer alle de poster, som enten har et match i venstre eller højre tabel.
  • LEFT JOIN: Denne join returnerer poster fra den venstre tabel, og også de poster, der opfylder betingelsen fra den højre tabel.
  • RIGHT JOIN: Denne join returnerer poster fra den højre tabel, og også de poster, der opfylder betingelsen fra den venstre tabel.

Så, dette var en kort beskrivelse af JOINS, men hvis du vil have en detaljeret beskrivelse af JOINS med et detaljeret eksempel, kan du henvise til min artikel om SQL JOINS. Lad os derefter i denne SQL-øvelse diskutere det sidste koncept for denne artikel, dvs. visninger.

SQL-vejledning:Visninger

En visning i SQL er en enkelt tabel, som er afledt fra andre tabeller. En visning indeholder rækker og kolonner, der ligner en rigtig tabel, og har felter fra en eller flere tabeller. Se billedet nedenfor:

For at forstå, hvordan man opretter og sletter en visning, kan du henvise til CREATE- og DROP-sætningerne nævnt ovenfor. Med det kommer vi til en ende på denne artikel om SQL-tutorial. Jeg håber, du fandt denne artikel informativ. Hvis du forbereder dig til databaseadministratorinterviews og søger efter en omfattende liste med spørgsmål, kan du også henvise til vores artikel om SQL-interviewspørgsmål.

Hvis du ønsker at lære mere om MySQL og lære denne open source relationsdatabase at kende, så tjek vores MySQL DBA Certification Training, som kommer med instruktørledet live træning og ægte -livsprojekterfaring. Denne træning vil hjælpe dig med at forstå MySQL i dybden og hjælpe dig med at opnå beherskelse over emnet.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne SQLTutorial, så vender vi tilbage til dig.


  1. Oracle bordskifteskærm

  2. Plsql for at stave nummer (valuta) til italiensk valuta uden hardkodet oversættelsesnummer

  3. Hvad er den mest passende datatype til lagring af en IP-adresse i SQL server?

  4. 50 Shades of Oracle Database Certificeringseksamen