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
- Vad är SQL?
- SQL-applikationer
- SQL-datatyper
- SQL-operatörer
- Bästa SQL-kommandon
- SKAPA
- SLÄPP
- ÄNDRA
- TRUNCATE
- FÖRKLARA
- INSERT INTO
- UPPDATERA
- VÄLJ
- GILLA
- 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:
-
- SKAPA
- SLÄPP
- ÄNDRA
- TRUNCATE
- FÖRKLARA
- INSERT INTO
- UPPDATERA
- VÄLJ
- GILLA
- 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.