MySQL-zelfstudie is de tweede blog in deze blogreeks. In de vorige blog ‘Wat is MySQL‘ , Ik heb je kennis laten maken met alle basisterminologieën die je moest begrijpen voordat je aan de slag ging met deze relationele database. In deze blog van MySQL leer je alle bewerkingen en commando's die je nodig hebt om je databases te verkennen.
De onderwerpen die in deze blog worden behandeld, zijn hoofdzakelijk onderverdeeld in 4 categorieën:DDL, DML, DCL &TCL.
- De DDL (Data Definition Language) bestaat uit die opdrachten die worden gebruikt om de database te definiëren. Voorbeeld:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
- De DML (Data Manipulation Language)-commando's hebben betrekking op de manipulatie van gegevens in de database. Voorbeeld:SELECT, INSERT, UPDATE, DELETE.
- De DCL (Data Control Language)-commando's hebben betrekking op de rechten, machtigingen en andere controles van het databasesysteem. Voorbeeld:SUBSIDIE, INVOKE
- De TCL (Taal voor transactiecontrole) bestaat uit die opdrachten die zich voornamelijk bezighouden met de transactie van de database.
Afgezien van de opdrachten, volgen de andere onderwerpen die in de blog worden behandeld:
- Verschillende soorten sleutels in database
- Beperkingen gebruikt in database
- Geneste zoekopdrachten
- Doe mee
- Bewerkingen instellen
We gaan elk van deze categorieën één voor één behandelen.
In deze blog over MySQL Tutorial ga ik de onderstaande database als voorbeeld beschouwen, om je te laten zien hoe je commando's schrijft.
Student-ID | StudentName | ParentName | Adres | Stad | Postcode | Land | Kosten |
01 | Haznitiz | Emiz | Dellys Road | Afir | 35110 | Algerije | 42145 |
02 | Shubham | Narayan | MG Road | Bangalore | 560001 | India | 45672 |
03 | Salomao | Valentim | Mayo Road | Rio Claro | 27460 | Brazilië | 65432 |
04 | Vishal | Ramesh | Queens Quay | Toronto | 416 | Canada | 23455 |
05 | Park Jimin | Kim Tai Hyung | Gangnam Street | Seoel | 135081 | Zuid-Korea | 22353 |
Tabel 1: Voorbeelddatabase - MySQL-zelfstudie
Laten we nu beginnen!
Abonneer je op ons YouTube-kanaal om nieuwe updates te ontvangen..!
MySQL-zelfstudie:Data Definition (DDL)-opdrachten
Deze sectie bestaat uit die commando's, waarmee je je database kunt definiëren. De commando's zijn:
- CREATE
- ALTER
- DROP
- TRUNCATE
- HERNAME
Voordat ik met de opdrachten begin, wil ik u eerst vertellen hoe u de opmerkingen in MySQL moet vermelden.
Opmerkingen
Net als bij elke andere programmeertaal zijn er hoofdzakelijk twee soorten opmerkingen.
- Eenregelige opmerkingen – De enkele regel opmerkingen beginnen met ‘–‘. Dus alle tekst die daarna wordt genoemd - tot het einde van de regel zal door de compiler worden genegeerd.
Voorbeeld:
--Selecteer alles:SELECT * FROM Students;
- Opmerkingen met meerdere regels – De opmerkingen met meerdere regels beginnen met /* en eindigen met */. Dus elke tekst tussen /* en */ wordt door de compiler genegeerd.
Voorbeeld:
/*Selecteer alle kolommen van alle records in de tabel Studenten:*/SELECT * FROM Studenten;
Nu u weet hoe u opmerkingen in MySQL moet vermelden, gaan we verder met de DDL-commando's.
MAKEN
De create-instructie wordt gebruikt om een schema, tabellen of een index te maken.
De 'CREATE SCHEMA'-verklaring
Dit statement wordt gebruikt om een database aan te maken.
Syntaxis:
SCHEMA Database_Name MAKEN;
Voorbeeld:
SCHEMA MAKEN StudentsInfo;
De 'CREATE TABLE'-verklaring
Deze instructie wordt gebruikt om een nieuwe tabel in een database te maken.
Syntaxis:
MAAK TABEL tabelnaam ( kolom1 gegevenstype , kolom2 gegevenstype , kolom3 gegevenstype , ....);
Voorbeeld:
MAAK TABEL Studenten(StudentID int,StudentName varchar(255),ParentName varchar(255),Adres varchar(255),Postcode int,City varchar(255));
De 'CREATE TABLE AS'-instructie
Deze instructie wordt gebruikt om een nieuwe tabel te maken van een bestaande tabel. Deze tabel krijgt dus dezelfde kolomdefinities als die van de bestaande tabel.
Syntaxis:
CREATE TABLE new_table_name AS SELECT kolom1, kolom2,... VAN existing_table_name WAAR ....;
Voorbeeld:
CREATE TABEL VoorbeeldTable ASSELECT Studentnaam, ParentnameFROM Students;
VERANDER
Het ALTER-commando wordt gebruikt om beperkingen of kolommen toe te voegen, te wijzigen of te verwijderen.
De 'ALTER TABLE'-verklaring
Deze instructie wordt gebruikt om beperkingen en kolommen uit een tabel toe te voegen, aan te passen of te verwijderen.
Syntaxis:
ALTER TABLE tabelnaam ADD column_name datatype;
Voorbeeld:
WIJZIG TABEL StudentsADD DateOfBirth datum;
DROP
Het DROP-commando wordt gebruikt om de database, tabellen of kolommen te verwijderen.
De 'DROP SCHEMA'-verklaring
Deze instructie wordt gebruikt om het volledige schema te verwijderen.
Syntaxis:
DROP SCHEMA schema_name;
Voorbeeld:
DROP SCHEMA StudentsInfo;
De 'DROP TABLE'-verklaring
Deze instructie wordt gebruikt om de hele tabel met al zijn waarden te verwijderen.
Syntaxis:
DROP TABLE table_name;
Voorbeeld:
DROP TABLE table_name;
TRUNCATE
Deze instructie wordt gebruikt om de gegevens te verwijderen die in een tabel aanwezig zijn, maar de tabel wordt niet verwijderd.
Syntaxis:
TRUNCATE TABLE table_name;
Voorbeeld:
TRUNCATE TABEL Studenten;
HERNAME
Deze instructie wordt gebruikt om een of meer tabellen te hernoemen.
Syntaxis:
RENAME TABEL tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2 ] ...
Voorbeeld:
HERNAAM studenten NAAR Infostudenten;
Voordat ik verder ga met de volgende secties, wil ik u eerst de verschillende soorten sleutels en beperkingen vertellen die u moet noemen bij het manipuleren van de databases.
MySQL-zelfstudie: Verschillende soorten sleutels in database
Er zijn hoofdzakelijk 5 soorten sleutels die in de database kunnen worden vermeld.
- Kandidaatsleutel – De minimale set attributen die een tuple op unieke wijze kan identificeren, staat bekend als een kandidaatsleutel. Een relatie kan meer dan een enkele kandidaatsleutel bevatten, waarbij de sleutel een eenvoudige of samengestelde sleutel is.
- Supertoets – De set attributen die een tuple op unieke wijze kan identificeren, staat bekend als Super Key. Een kandidaatsleutel is dus een supersleutel, maar vice versa is niet waar.
- Primaire sleutel – Een set attributen die kan worden gebruikt om elke tuple op unieke wijze te identificeren, is ook een primaire sleutel. Dus als er 3-4 kandidaatsleutels in een relatie aanwezig zijn, dan kan er één als primaire sleutel worden gekozen.
- Alternatieve sleutel – De andere kandidaatsleutel dan de primaire sleutel wordt aangeroepen als een alternatieve sleutel.
- Buitenlandse sleutel – Een attribuut dat alleen de aanwezige waarden kan aannemen als de waarden van een ander attribuut, is de refererende sleutel naar het attribuut waarnaar het verwijst.
MySQL-zelfstudie: Beperkingen gebruikt in database
Zie de afbeelding hieronder voor de beperkingen die in de database worden gebruikt.
Figuur 1: Beperkingen gebruikt in database - MySQL-zelfstudie
Nu u de verschillende soorten sleutels en beperkingen kent, gaan we verder met het volgende gedeelte, namelijk Opdrachten voor gegevensmanipulatie.
Gecertificeerd Database Administrator worden?MySQL-zelfstudie: Opdrachten voor gegevensmanipulatie (DML)
Deze sectie bestaat uit die commando's waarmee je je database kunt manipuleren. De commando's zijn:
- GEBRUIK
- INSERT
- UPDATE
- VERWIJDEREN
- SELECTEER
Behalve deze commando's zijn er ook andere manipulatieve operatoren/functies zoals:
- LOGISCHE OPERATORS
- ARITHMETISCH, BITWISE, VERGELIJKING &SAMENGESTELDE OPERATOREN
- FUNCTIES SAMENVOEGEN
- SPECIALE OPERATORS
GEBRUIK
Het USE-statement wordt gebruikt om aan te geven welke database moet worden gebruikt om alle bewerkingen uit te voeren.
Syntaxis:
GEBRUIK Database_name;
Voorbeeld:
GEBRUIK StudentsInfo;
INSERT
Deze instructie wordt gebruikt om nieuwe records in een tabel in te voegen.
Syntaxis:
De INSERT INTO-instructie kan op de volgende twee manieren worden geschreven:
INSERT INTO tabelnaam (kolom1 , kolom2 , kolom3 , ...)WAARDEN (waarde1 , waarde2 , waarde3 , ...);--U hoeft de kolomnamen niet te vermelden INSERT INTO tabelnaam WAARDEN (waarde1 , waarde2 , waarde3 , ...);
Voorbeeld:
INSERT INTO Infostudents(StudentID, StudentName, ParentName, Address, City, PostalCode, Country)VALUES ('06', 'Sanjana','Jagannath', 'Banjara Hills', 'Hyderabad', '500046', 'India ');INSERT INTO InfostudentsVALUES ('07', 'Shivantini','Praveen', 'Camel Street', 'Kolkata', '700096', 'India');
UPDATE
Deze instructie wordt gebruikt om de bestaande records in een tabel te wijzigen.
Syntaxis:
UPDATE tabelnaam SET kolom1 = waarde1 , kolom2 = waarde2 , ...WAAR conditie;
Voorbeeld:
UPDATE InfostudentsSET StudentName ='Alfred', City='Frankfurt'WHERE StudentID =1;
VERWIJDEREN
Deze instructie wordt gebruikt om bestaande records in een tabel te verwijderen.
Syntaxis:
VERWIJDEREN VAN tabelnaam WAAR voorwaarde;
Voorbeeld:
VERWIJDEREN VAN InfostudentsWHERE StudentName='Salomao';
SELECTEER
Deze instructie wordt gebruikt om gegevens uit een database te selecteren en de geretourneerde gegevens worden opgeslagen in een resultatentabel, de result-set genoemd. .
Dit zijn de volgende twee manieren om deze verklaring te gebruiken:
Syntaxis:
SELECTEER kolom1 , kolom2, ... FROM tabelnaam;--(*) wordt gebruikt om alles uit de tabel te selecterenSELECT * FROM tabelnaam;
Voorbeeld:
SELECTEER StudentName, Stad FROM Infostudents;SELECT * FROM Infostudents;
Behalve het individuele SELECT-trefwoord, zullen we ook de volgende statements zien, die worden gebruikt met het SELECT-trefwoord:
- DISTINCT
- ORDER BY
- GROUP BY
- clausule HEBBEN
De 'SELECT DISTINCT'-instructie
Deze instructie wordt gebruikt om alleen verschillende of verschillende waarden te retourneren. Dus als je een tabel hebt met dubbele waarden, dan kun je deze instructie gebruiken om verschillende waarden weer te geven.
Syntaxis:
SELECTEER DISTINCT kolom1 , kolom2, ... FROM tabelnaam;
Voorbeeld:
SELECTEER Land VAN Studenten;
De 'ORDER BY'-verklaring
Deze instructie wordt gebruikt om de gewenste resultaten in oplopende of aflopende volgorde te sorteren. Standaard worden de resultaten in oplopende volgorde gesorteerd. Als u de records in de resultatenset in aflopende volgorde wilt hebben, gebruik dan de DESC zoekwoord.
Syntaxis:
SELECTEER kolom1 , kolom2, ... FROM tabelnaam BESTELLEN OP kolom1, kolom2, ... ASC|DESC;
Voorbeeld:
SELECTEER * UIT InfostudentsORDER OP Land; SELECTEER * VAN InfostudentsORDER BY Land DESC;SELECT * FROM InfostudentsORDER BY Land, StudentName;SELECTEER * UIT InfostudentenORDER BY Land ASC, StudentName DESC;
De 'GROUP BY'-verklaring
Deze instructie wordt gebruikt met de aggregatiefuncties om de resultaatset te groeperen in een of meer kolommen.
Syntaxis:
SELECT kolomnaam(en) FROM tabelnaam WAAR voorwaarde GROEP OP kolomnaam(en) BESTEL OP kolomnaam(en);
Voorbeeld:
SELECT COUNT(StudentID), CountryFROM InfostudentsGROUP BY CountryORDER BY COUNT(StudentID) DESC;
De 'HAVING'-clausuleverklaring
Sinds de WHERE trefwoord kan niet worden gebruikt met aggregatiefuncties, de HAVING-clausule is geïntroduceerd.
Syntaxis:
SELECT kolomnaam(en) FROM tabelnaam WAAR voorwaarde GROEP OP kolomnaam(en) MET conditie BESTEL OP kolomnaam(en);
Voorbeeld:
SELECT COUNT(StudentID), CityFROM InfostudentsGROUP BY CityHAVING COUNT(Fees)> 23000;
LOGISCHE OPERATORS
Deze reeks operatoren bestaat uit logische operatoren zoals AND/OR/NOT.
EN OPERATOR
De AND-operator wordt gebruikt om records te filteren die afhankelijk zijn van meer dan één voorwaarde. Deze operator geeft de records weer die aan alle voorwaarden voldoen, gescheiden door AND, en geeft de output TRUE.
Syntaxis:
SELECTEER kolom1 , kolom2, ... FROM tabelnaam WAAR voorwaarde1 EN voorwaarde2 EN voorwaarde3 ...;
Voorbeeld:
SELECTEER * VAN InfostudentsWHERE Country='Brazil' AND City='Rio Claro';
OF OPERATOR
De OR-operator geeft die records weer die voldoen aan een van de voorwaarden, gescheiden door OR en geeft de uitvoer TRUE.
Syntaxis:
SELECTEER kolom1 , kolom2, ... FROM tabelnaam WAAR voorwaarde1 OF voorwaarde2 OF voorwaarde3 ...;
Voorbeeld:
SELECTEER * VAN InfostudentsWHERE City='Toronto' OF City='Seoul';
NIET OPERATOR
Deze operator geeft een record weer wanneer de voorwaarde(n) NIET WAAR zijn.
Syntaxis:
SELECTEER kolom1 , kolom2, ... FROM tabelnaam WHERE NOT voorwaarde;
Voorbeeld:
SELECTEER * FROM InfostudentsWHERE NOT Land='India';--Je kunt ook alle bovenstaande drie operatoren combineren en een zoekopdracht als volgt schrijven:SELECT * FROM InfostudentsWHERE Country='India' AND (City='Bangalore' OR City ='Canada');Geïnteresseerd in het kraken van interviews voor databasebeheerder?
ARITHMETIC, BITWISE, VERGELIJKING &SAMENGESTELDE OPERATOREN
Zie de afbeelding hieronder.
Figuur 2: Rekenkundige, bitsgewijze, vergelijkings- en samengestelde operators - MySQL-zelfstudie
TAGREGEER FUNCTIES
Dit gedeelte van het artikel bevat de volgende functies:
- MIN()
- MAX()
- COUNT()
- AVG()
- SUM()
MIN() Functie
Deze functie retourneert de kleinste waarde van de geselecteerde kolom in een tabel.
Syntaxis:
SELECT MIN(kolomnaam)FROMtable_nameWHEREcondition;
Voorbeeld:
SELECTEER MIN(StudentID) ALS KleinsteIDFROM Infostudenten;
MAX() Functie
Deze functie retourneert de grootste waarde van de geselecteerde kolom in een tabel.
Syntaxis:
SELECT MAX(kolomnaam )VAN tabelnaam WAAR voorwaarde;
Voorbeeld:
SELECTEER MAX(Fees) AS MaximumFeesFROM Infostudenten;
COUNT() Functie
Deze functie retourneert het aantal rijen dat overeenkomt met de opgegeven criteria.
Syntaxis:
SELECT COUNT(kolomnaam )VAN tabelnaam WAAR voorwaarde;
Voorbeeld:
SELECTEER AANTAL(Student-ID)VAN Infostudenten;
AVG()-functie
Deze functie retourneert de gemiddelde waarde van een numerieke kolom die u kiest.
Syntaxis:
SELECT AVG(kolomnaam )VAN tabelnaam WAAR voorwaarde;
Voorbeeld:
SELECT AVG(Fees)FROM Infostudenten;
SUM() Functie
Deze functie retourneert de totale som van een numerieke kolom die u kiest.
Syntaxis:
SELECT SUM(kolomnaam )VAN tabelnaam WAAR voorwaarde;
Voorbeeld:
SELECT SUM(Fees)FROM Infostudenten;
SPECIALE OPERATORS
Deze sectie bevat de volgende operatoren:
- TUSSEN
- IS NULL
- LIKE
- IN
- BESTAAT
- ALLE
- ELKE
TUSSEN Operator
Deze operator is een inclusieve operator die waarden (getallen, teksten of datums) selecteert binnen een bepaald bereik.
Syntaxis:
SELECT kolomnaam(en) FROM tabelnaam WHERE kolomnaam TUSSEN waarde1 EN waarde2;
Voorbeeld:
SELECTEER * VAN InfostudentsWHERE Tarieven TUSSEN 20000 EN 40000;
IS NULL-operator
Omdat het niet mogelijk is om de NULL-waarden te testen met de vergelijkingsoperatoren(=, <,>), kunnen we in plaats daarvan IS NULL- en IS NOT NULL-operatoren gebruiken.
Syntaxis:
--Syntaxis voor IS NULLSELECT column_names FROM tabelnaam WHERE kolomnaam IS NULL;--Syntaxis voor IS NIET NULLSELECT kolomnamen FROM tabelnaam WHERE kolomnaam IS NIET NULL;
Voorbeeld:
SELECTEER StudentNaam, OuderNaam, Adres FROM InfostudentsWHERE Adres IS NULL;SELECTEER StudentNaam, OuderNaam, Adres FROM InfostudentsWHERE Adres IS NIET NULL;
LIKE-operator
Deze operator wordt gebruikt in een WHERE-component om te zoeken naar een gespecificeerd patroon in een kolom van een tabel.
De onderstaande twee jokertekens worden gebruikt in combinatie met de LIKE-operator:
- % – Het procentteken staat voor nul, één of meerdere tekens
- _ – Het onderstrepingsteken vertegenwoordigt een enkel teken
Syntaxis:
SELECTEER kolom1, kolom2, ... FROM tabelnaam WAAR kolom LIKE patroon;
Raadpleeg de volgende tabel voor de verschillende patronen die u kunt noemen met de LIKE-operator.
LIKE-operator | Beschrijving |
WAAR Klantnaam LIKE 'z% | Vindt alle waarden die beginnen met "z" |
WAAR Klantnaam LIKE '%z' | Vindt alle waarden die eindigen op "z" |
WAAR Klantnaam ZOALS '%and%' | Vindt alle waarden met "en" op een willekeurige positie |
WAAR Klantnaam LIKE '_s%' | Vindt alle waarden met "s" op de tweede positie. |
WAAR Klantnaam LIKE 'd_%_%' | Vindt alle waarden die beginnen met "d" en die ten minste 3 tekens lang zijn |
WAAR ContactName LIKE 'j%l' | Vindt alle waarden die beginnen met "j" en eindigen met "l" |
Tabel 2: Patronen genoemd met LIKE Operator - MySQL-zelfstudie
Voorbeeld:
SELECTEER * VAN InfostudentsWHERE StudentName LIKE 'S%';
IN-operator
Dit is een verkorte operator voor meerdere OR-voorwaarden waarmee u meerdere waarden in een WHERE-clausule kunt specificeren.
Syntaxis:
SELECT kolomnaam(en) FROM tabelnaam WHERE kolomnaam IN (waarde1 , waarde2 , ...);
Voorbeeld:
SELECTEER * VAN InfostudentsWHERE Land IN ('Algerije', 'India', 'Brazilië');
Opmerking: U kunt IN ook gebruiken tijdens het schrijven van geneste query's. Overweeg de onderstaande syntaxis:
BESTAAT Operator
Deze operator wordt gebruikt om te testen of een record bestaat of niet.
Syntaxis:
SELECT kolomnaam(en) FROM tabelnaam WHERE EXISTS(SELECT kolomnaam FROM tabelnaam WAAR voorwaarde );
Voorbeeld:
SELECT StudentNameFROM InfostudentsWHERE EXISTS (SELECT ParentName FROM Infostudents WHERE StudentId =05 PriceANDALL-operator
Deze operator wordt gebruikt met een WHERE- of HAVING-component en retourneert true als alle subquerywaarden aan de voorwaarde voldoen.
Syntaxis:
SELECT kolomnaam(en) FROM tabelnaam WHERE operator kolomnaam ALL(SELECT kolomnaam FROM tabelnaam WAAR voorwaarde );Voorbeeld:
SELECT StudentNameFROM InfostudentsWHERE StudentID = ALL (SELECT StudentID FROM Infostudents WHERE Fees> 20000);ELKE exploitant
Vergelijkbaar met de ALL-operator, wordt de ANY-operator ook gebruikt met een WHERE- of HAVING-clausule en retourneert deze true als een van de subquerywaarden aan de voorwaarde voldoet.
Syntaxis:
SELECT kolomnaam(en) FROM tabelnaam WHERE operator kolomnaam ANY(SELECT kolomnaam FROM tabelnaam WAAR voorwaarde );Voorbeeld:
SELECT StudentNameFROM InfostudentsWHERE StudentID =ANY (SELECT StudentID FROM Infostudents WHERE Fees TUSSEN 22000 EN 23000);Nu ik je veel heb verteld over DML-commando's, wil ik je in het kort vertellen over geneste zoekopdrachten, joins en setbewerkingen.
Weten hoe je een relationele database in de cloud opzet?MySQL-zelfstudie: Geneste zoekopdrachten
Geneste zoekopdrachten zijn die zoekopdrachten die een buitenste vraag en een binnenste subquery hebben. Dus in feite is de subquery een query die is genest in een andere query, zoals SELECT, INSERT, UPDATE of DELETE. Raadpleeg de onderstaande afbeelding:
Fig 3: Weergave van geneste zoekopdrachten - MySQL-zelfstudie
MySQL Tutorial: Joins
JOINS are used to combine rows from two or more tables, based on a related column between those tables. The following are the types of joins:
- INNER JOIN: This join returns those records which have matching values in both the tables.
- FULL JOIN: This join returns all those records which either have a match in the left or the right table.
- LEFT JOIN: This join returns records from the left table, and also those records which satisfy the condition from the right table.
- RIGHT JOIN: This join returns records from the right table, and also those records which satisfy the condition from the left table.
Refer to the image below.
Fig 4: Representation Of Joins – MySQL Tutorial
Let’s consider the below table apart from the Infostudents table, to understand the syntax of joins.
CourseID | StudentID | CourseName | StartDate |
1 | 10 | DevOps | 09-09-2018 |
2 | 11 | Blockchain | 07-04-2018 |
3 | 12 | Python | 08-06-2018 |
Table 3: Sample Database – MySQL Tutorial
INNER JOIN
Syntax:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Courses.CourseID, Infostudents.StudentNameFROM CoursesINNER JOIN Infostudents ON Courses.StudentID =Infostudents.StudentID;
FULL JOIN
Syntax:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Infostudents.StudentName, Courses.CourseIDFROM InfostudentsFULL OUTER JOIN Orders ON Infostudents.StudentID=Orders.StudentIDORDER BY Infostudents.StudentName;
LEFT JOIN
Syntax:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Infostudents.StudentName, Courses.CourseIDFROM InfostudentsLEFT JOIN Courses ON Infostudents.CustomerID =Courses.StudentIDORDER BY Infostudents.StudentName;
RIGHT JOIN
Syntax:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Courses.CourseIDFROM CoursesRIGHT JOIN Infostudents ON Courses.StudentID =Infostudents.StudentID ORDER BY Courses.CourseID;
MySQL Tutorial: Set Operations
There are mainly three set operations:UNION, INTERSECT, SET DIFFERENCE. You can refer to the image below to understand the set operations in SQL.
Now, that you guys know the DML commadsn. Let’s move onto our next section and see the DCL commands.
MySQL Tutorial: Data Control (DCL) Commands
This section consists of those commands which are used to control privileges in the database. The commands are:
- GRANT
- REVOKE
GRANT
This command is used to provide user access privileges or other privileges for the database.
Syntax:
GRANT privileges ON object TO user;
Example:
GRANT CREATE ANY TABLE TO localhost;
REVOKE
This command is used to withdraw user’s access privileges given by using the GRANT command.
Syntax:
REVOKE privileges ON object FROM user;
Example:
REVOKE INSERT ON *.* FROM Infostudents;
Now, let’s move on to the last section of this blog i.e. the TCL Commands.
MySQL Tutorial: Transaction Control (TCL) Commands
This section of commands mainly deals with the transaction of the database. The commands are:
- COMMIT
- ROLLBACK
- SAVEPOINT
- RELEASE SAVEPOINT
- SET TRANSACTION
COMMIT
This command saves all the transactions to the database since the last COMMIT or ROLLBACK command.
Syntax:
COMMIT;
Example:
DELETE FROM Infostudents WHERE Fees =42145;COMMIT;
ROLLBACK
This command is used to undo transactions since the last COMMIT or ROLLBACK command was issued.
Syntax:
ROLLBACK;
Example:
DELETE FROM Infostudents WHERE Fees =42145;ROLLBACK;
SAVEPOINT
This command creates points within the groups of transactions in which to ROLLBACK. So, with this command, you can simply roll the transaction back to a certain point without rolling back the entire transaction.
Syntax:
SAVEPOINT SAVEPOINT_NAME; --Syntax for saving the SAVEPOINTROLLBACK TO SAVEPOINT_NAME; --Syntax for rolling back to the Savepoint command
Example:
SAVEPOINT SP1;DELETE FROM Infostudents WHERE Fees =42145;SAVEPOINT SP2;
RELEASE SAVEPOINT
You can use this command to remove a SAVEPOINT that you have created.
Syntax:
RELEASE SAVEPOINT SAVEPOINT_NAME;
Example:
RELEASE SAVEPOINT SP2;
SET TRANSACTION
This command gives a name to the transaction.
Syntax:
SET TRANSACTION [ READ WRITE | READ ONLY ];
I hope you enjoyed reading this blog on MySQL Tutorial blog. We have seen the different commands that will help you write queries and play around with your databases.
Interested in learning more about MySQL?If you wish to learn more about MySQL and get to know this open source relational database, then check out our MySQL DBA Certification Training which comes with instructor-led live training and real-life project experience. This training will help you understand MySQL in depth and help you achieve mastery over the subject.
Got a question for us? Please mention it in the comments section of ”MySQL Tutorial ” and I will get back to you.