வினவல் அமைப்பு மொழி - SQLகட்டளைகளும் அதன் செயல்பாடுகளும் | 12th Computer Science : Chapter 12 : Database concepts and MySql : Structured Query Language(SQL)
SQLகட்டளைகளும் அதன் செயல்பாடுகளும்
தரவுகளை சேமித்து வைக்க ஒரே வழி அட்டவணை என்பதால், அனைத்து தகவல்களும்
அட்டவணை வடிவில் ஒருங்கிணைக்கப்பட வேண்டும். SQL தரவுத்தளத்துடன் செயலாற்றுவதற்கான
முன்வரையறுக்கப்பட்ட கட்டளைகளின் தொகுதியை வழங்குகிறது.
சிறப்புச்
சொற்கள் இவை SQL ல் சிறப்பு பொருளைக் கொண்ட கட்டளைகளாக அறியப்படுகிறது.
கட்டளைகள் கூற்றுகள்
என அறியப்படும் இவை பயனரால் தரவுத்தளத்திற்க கொடுக்கப்படும் அறிவுறுத்தல்களைக் குறிக்கும்.
Clauses இவைச்
சிறப்புச் சொல்லுடன் தொடங்கி, சிறப்புச் சொல்லையும், செயலுருபையும் கொண்டிருக்கும்.
செயலுருபுகள் இவை clause ஐ நிறைவுப் பெற செய்ய கொடுக்கப்படும் மதிப்புகளை குறிக்கும்.
1. DDL கட்டளைகள்
CREATE TABLE கட்டளைகள்
CREATE TABLE கட்டளையை பயன்படுத்தி ஒரு அட்டவணையை உருவாக்கலாம்.
ஒரு அட்டவணையை உருவாக்கும் போது, அதன் நெடுவரிசைகளுக்கு பெயரிட்டு, தரவு வகைகளையும்,
அளவினையும் குறிப்பிட வேண்டும். ஒவ்வொரு அட்டவணையும் குறைந்த பட்சம் ஒரு நெடுவரிசையை
கொண்டிருக்க வேண்டும். CREATE TABLE கட்டளையின் தொடரியல்.
CREATE TABLE
<table-name>
(<column
name><data type>[<size>]
(<column
name><data type> [<size>].......
)
மேற்கண்ட தொடரியலைப் பயன்படுத்தி, ஒரு வகுப்பில் பயிலும் மாணவர்களின்
விவரங்களை ஒரு தரவுத்தளத்தில் சேமிக்கலாம். இதற்கு முதலில் நாம் ஒரு அட்டவணையை உருவாக்க
வேண்டும். ஒரு மாணவர் குறித்த அட்டவணையில் மாணவர் தொடர்பான விவரங்களாக சேர்க்கை எண்
(Admission number)- இதை சுருக்கி Admno என்றும், மாணவரின் பெயர் (Name), பாலினம்
(gender), வயது (Age) போன்றவை எடுத்துக்கொள்ளலாம். Admno, Name, Gender, Age மற்றும்
Place என்ற புலங்களை கொண்டுள்ள ஒரு அட்டவணையை நாம் உருவாக்கலாம்.
SQL கட்டளை
பின்வருமாறு இருக்கும்:
CREATE TABLE Student
(Admno integer,
Name char(20),
Gender char(1),
Age integer,
Place char(10),
)
மேலே உள்ளது, எந்த கட்டுப்பாடுகளும் இல்லாத ஒரு எளிய அட்டவணை
அமைப்பாகும். ஒரு அட்டவணையில் அமைந்திருக்கும் புலங்களுக்கான தரவுகளை சில கட்டுப்பாடுகளை
ஏற்படுத்தி கட்டுப்படுத்தலாம். இது தரவுத்தளத்திலுள்ள தரவுகளின் துல்லியத்தன்மை மற்றும்
நம்பகத்தன்மையை உறுதி செய்கிறது. கட்டுப்பாடுகள் நெடுவரிசை அல்லது அட்டவணை அளவிலானதாக
இருக்கக்கூடும்.
குறிப்பு
கட்டுப்பாடுகள்
என்பது ஒரு புலம் அல்லது புலங்களின் தொகுதிக்கு பயன்படுத்தக்கூடிய நிபந்தனையை குறிக்கும்.
நெடுவரிசை கட்டுப்பாடு தனிப்பட்ட நெடுவரிசைக்கு
மட்டுமே நெடுவரிசை கட்டுப்பாட்டை பயன்படுத்த
முடியும்.
அட்டவணை கட்டுப்பாடு ஒன்று அல்லது அதற்கு மேற்பட்ட
நெடுவரிசைகளுக்கு பயன்படுத்த முடியும்.
கட்டுப்பாட்டுடன் உருவாக்கப்பட்ட ஒரு அட்டவணையின் தொடரியல் கீழே
கொடுக்கப்பட்டுள்ளது.
CREATE TABLE
<table-name>
(<column name><data
type>[<size>]<column constraint>,
(<column name><data
type>[<size>]<column constraint>..... <table constraint>…..
(<column name> <column
name>....)......
)
“NOT
NULI” நெடுவரிசை கட்டுப்பாட்டுடன் கூடிய மாணவர் அட்டவணை கீழே தரப்பட்டுள்ளது.
இந்த கட்டுப்பாடு ஒரு புலம் எப்பொழுதும் ஒரு மதிப்பைக் கொண்டிருக்க வேண்டும் என்பதை
அறிவுறுத்துகிறது.
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY, →
Primary Key constraint
Name char(20) NOT NULL,
Gender char(1),
Age integer,
Place char(10),
);
மேற்கண்ட கட்டளை அமைப்பை பயன்படுத்தி உருவாக்கப்பட்ட student என்ற அட்டவணையில் integer வகையை சார்ந்த Admno என்ற புலமும், char வகையை சார்ந்த Name என்ற புலமும், NOT NULL என்ற கட்டுப்பாட்டுடன் வரையறுக்கப்பட்டுள்ளது. இதன் பொருள் என்னவெனில், அந்த இரண்டு புலங்களும் கட்டாயமாக மதிப்புகளை கொண்டிருக்க வேண்டும். Gender, Age மற்றும் Place என்ற புலங்களுக்கு எந்த வித கட்டுப்பாடுகளும் இல்லை .
கட்டுப்பாடுகள் தரவுத்தள ஒருங்கிணைப்பை உறுதிசெய்வதால், அவற்றைதரவுத்தள
ஒருங்கிணைப்பு கட்டுப்பாடுகள் எனவும் அழைக்கலாம். கட்டுப்பாடுகள் பல வகைப்படும். அவை
1. Unique கட்டுப்பாடு
இந்த கட்டுப்பாடு குறிப்பிட்ட நெடுவரிசைகளில் எந்த இரு வரிசைகளும்
ஒரே மதிப்பை கொண்டிருக்காது என்பதை உறுதி செய்கிறது. உதாரணத்திற்கு, student அட்டவணையில்
Admno என்ற புலத்திற்கு UNIQUE கட்டுப்பாட்டை பயன்படுத்தி, ஒரே சேர்க்கை எண் இரு மாணவர்களுக்கு
தரப்படாததை உறுதி செய்து கொள்ளலாம். இந்த கட்டுப்பாட்டை கீழ்க்கண்டவாறு பயன்படுத்திக்
கொள்ளலாம்:
CREATE TABLE Student
(
Admno integer NOT NULL UNIQUE, →
Unique constraint
Name char (20) NOT NULL,
Gender char (1),
Age integer,
Place char (10),
}
UNIQUE கட்டுப்பாட்டை NOT NULL என்று அறிவிக்கப்பட்ட புலங்களுக்கு
மட்டுமே பயன்படுத்த முடியும்.
ஒரு தனிப்பட்ட புலத்திற்கு இரு கட்டுப்பாடுகளை பயன்படுத்தினால்
அப்புலம் பல கட்டுப்பாடுகளைக் கொண்ட புலம் என அழைக்கலாம். மேற்கண்ட கட்டணை அமைப்பில்,
NOT NULL மற்றும் UNIQUE எனும் பல கட்டுப்பாடுகள் எனும் பல கட்டுப்பாடுகள் Admno என்ற
ஒரு தனித்த புலத்தில் பயன்படுத்தப்பட்டுள்ளது. கட்டுப்பாடுகள் இடைவெளிக் கொண்டு பிரிக்கப்பட்டு
புல வரையறுப்பின் இறுதியில் காற்புள்ளி சேர்க்கப்படுகிறது. Admno என்ற புலத்திற்கு
இந்த இரண்டு கட்டுப்பாடுகளை சேர்ப்பதால், இந்த புலம் ஏதேனும் சில மதிப்புகளைக் கொண்டிருக்க
வேண்டும் அதே சமயம் இரட்டையான மதிப்புகள் இருத்தல் கூடாது.
2. Primary Key கட்டுப்பாடு
தரவுத்தளத்திலுள்ள ஒரு பதிவை தனித்தன்மையோடு அடையாளம் காட்ட
ஒரு புலத்தினை primary key என்ற கட்டுப்பாட்டுடன் அறிவிக்க வேண்டும். இது unique கட்டுப்பாட்டினை
போன்றே காணப்பட்டாலும் அட்டவணையின் ஒரு புலத்தை மட்டுமே primary key ஆக குறிப்பிட முடியும்.
primary key கட்டுப்பாடு வெற்று (NULL) மதிப்புகளை அனுமதிக்காது என்பதால், primary
key என்ற கட்டுப்பாட்டுடன் அறிவிக்கப்படும் புலம், NOT NULL என்ற கட்டுப்பாட்டையும்
கொண்டிருக்க வேண்டும்.
மாணவர் அட்டவணையில் primary key கட்டுப்பாட்டை பயன்படுத்துதலை
விளக்கும் எடுத்துக்காட்டு:
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY, → Primary Key constraint
Name char(20) NOT NULL,
Gender char(1),
Age integer,
Place char(10),
)
மேற்கண்ட எடுத்துக்காட்டில், Admno என்ற புலம் primary key என்று
வரையறுக்கப்பட்டுள்ளதால், ஒரு பதிவை தனித்தன்மையோடு அடையாளம் காட்ட முடிகிறது. மேலும்
NOT NULL என்றும் வரையறுக்கப்பட்டுள்ளதால், இந்த புலத்தின் மதிப்பு காலியாக இருக்கக்
கூடாது.
3. DEFAULT கட்டுப்பாடு
DEFAULT கட்டுப்பாடு ஒரு புலத்தில் முன்னியல்பு மதிப்புகளை இருத்தி
வைக்க பயன்படுகிறது. DEFAULT கட்டுப்பாட்டை கொண்ட குறிப்பிட்ட புலத்திற்கு மதிப்பு
கொடுக்காவிடில், தானாகவே முன்னியல்பு மதிப்பு அந்த புலத்தில் இருத்தப்பட்டுவிடும்.
மாணவர் அட்டவணையில் Default கட்டுப்பாடு பயன்படுத்துதலை விளக்கும் எடுத்துக்காட்டு:
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY,
Name char(20) NOT NULL,
Gender char(1),
Age integer DEFAULT “17”, > Default
Constraint
Place char(10),
)
மேற்கண்ட எடுத்துக்காட்டில், "Age" என்ற புலத்திற்கு
17 என்று முன்னியல்பு மதிப்பு கொடுக்கப்பட்டுள்ளதால், அந்த புலத்தில் பயனரால் எந்த
மதிப்பும் உள்ளிடப்படவில்லை எனில், “Age” என்ற புலம் தானாகவே 17 என்ற மதிப்பை எடுத்துக்
கொள்ளும்.
4. Check கட்டுப்பாடு
இந்தக் கட்டுப்பாடு ஒரு புலத்திற்கான மதிப்பின் வரம்பை நிர்ணயிக்க
உதவுகிறது. CHECK கட்டுப்பாட்டை ஒரு நெடுவரிசைக்கு வரையறுத்தால், அப்புலத்தில் வரையறுக்கப்பட்ட
மதிப்புகளை மட்டுமே உள்ளிட அனுமதிக்கும்.
மாணவர் அட்டவணையில் CHECK கட்டுப்பாட்டை பயன்படுத்துதலை விளக்கும்
எடுத்துக்காட்டு
CREATE TABLE Student
(
Admno integer NOT NULL PRIMARY KEY
Name char(20) NOT NULL,
Gender char(1),
Age integer (CHECK Age <=19), >
Check Constraint
Place char(10),
)
மேற்கண்ட எடுத்துக்காட்டில், Age என்ற புலத்தில் CHECK கட்டுப்பாட்டை
பயன்படுத்தி, Age என்ற புலத்திற்கு உள்ளிடும் மதிப்பு 19க்கு குறைவாகவோ அல்லது சம்மாகவோ
இருக்க வேண்டும் என வரையறுக்கப்படுகிறது.
குறிப்பு
CHECK
கட்டுப்பாடு ஒப்பீட்டு மற்றும் தருக்க செயற்குறிகளை நிபந்தனையை வரையறுக்க பயன்படுத்திக்
கொள்ளலாம்.
5. அட்டவணை கட்டுப்பாடு
ஒரு அட்டவணையில் உள்ள புலங்களின் குழுவிற்கு கட்டுப்பாட்டைப்
பயன்படுத்தினால், அதனை அட்டவணைக் கட்டுப்பாடு என்கிறோம். பொதுவாக, அட்டவணை கட்டுப்பாடு
அட்டவணை வரையறுப்பின் இறுதியில் குறிப்பிடப்படும். Admno, Firstname, Lastname,
Gender, Age, Place என்ற புலங்களை கொண்ட student 1 என்ற ஒரு புதிய அட்டவணையை எடுத்துக்
கொள்வோம்.
CREATE TABLE Studenti
(
Admno integer NOT NULL,
Firstname char(20),
Lastname char(20),
Gender char(1),
Age integer,
Place char(10),
PRIMARY KEY (Firstname, Lastname) >
Table constraint
);
மேற்கண்ட எடுத்துக்காட்டில், primary key என்று வரையறுக்கப்பட்டுள்ள Firstname, Lastname என்ற இருபுலங்கள், அட்டவணை கட்டுப்பாடுடையதாக அமைந்துள்ளன.
ஒரு அட்டவணையின் திட்டமைப்பு (அல்லது) வடிவமைப்பு உருவாக்கப்பட்டவுடன்,
அதில் தரவுகளை சேர்க்கலாம். அட்டவணையில் வரிசைகளை சேர்த்தல், நீக்குதல், புதுப்பித்தல்
போன்ற செயற்பாடுகளுக்கு DML கட்டளைகள் பயன்படுகிறது.
1. INSERT கட்டளை
INSERT கட்டளை தரவுத்தளத்தில் புதிய தரவை சேர்ப்பதற்கும், அல்லது
ஒரு அட்டவணையில் புதிய பதிவுகளை சேர்ப்பதற்கு உதவுகிறது. இந்த கட்டளையை எவ்வாறு பயன்படுத்துவது
என்பது கீழே குறிப்பிடப்பட்டுள்ளது:
INSERT INTO
<table-name> [column-list] VALUES (values);
INSERT
INTO Student (Admno, Name, Gender, Age, Place)
VALUES
(100, Ashish, 'M', 17, Chennai');
INSERT
INTO Student (Admno, Name, Gender, Age, Place)
VALUES
(101, Adarsh, M', 18, 'Delhi');
அட்டவணையில் இரு புதிய பதிவுகள் சேர்க்கப்பட்டுள்ளதை கீழ்காணலாம்:
மதிப்புக்களின் வரிசைமுறை CREATE TABLE கட்டளையில் உள்ள நெடுவரிசையின்
வரிசை முறையுடன் பொருந்தி இருக்க வேண்டும். அனைத்து நெடுவரிசைகளுக்கும் தரவு சேர்க்கப்பட
வேண்டுமாயின், நெடுவரிசை பெயர்களைக் குறிப்பிடுவது கட்டாயமில்லை. மாணவர் அட்டவணையில்
தரவுகளை பின்வரும் கட்டளையின் மூலமும் உள்ளிடலாம்.
INSERT
INTO Student VALUES (102, 'Akshith, ‘M, 17, ‘Bangalore');
மேற்கண்ட கட்டளை மாணவர்
அட்டவணையில் ஒரு பதிவை சேர்க்கிறது.
ஒரு பதிவினுடைய சில நெடுவரிசைகளுக்கு மட்டும் தரவை சேர்க்க,
நெடுவரிசையின் பெயரையும், அதற்கான தரவையும் கீழ்க்கண்டவாறு தரலாம்.
INSERT
INTO Student(Admno, Name, Place) VALUES (103, Ayush, Delhi');
மேற்கண்ட கட்டளை பின்வரும் பதிவினை Gender என்ற புலத்திற்கு
முன்னியல்பு மதிப்பான M' என்றும், Age என்ற புலத்திற்கு முன்னியல்பு மதிப்பான 18 என்றும்
சேர்க்கும்.
INSERT
INTO Student (Admno, Name, Place) VALUES (104, Abinandh, Chennai');
மாணவர் அட்டவணை பின்வரும் தரவைக் கொண்டிருக்கும்:
INSERT கட்டளையில் கொடுக்கப்படாத புலங்கள், முன்னியல்பு மதிப்புகள்
அதற்கு வரையறுக்கப்பட்டிருந்தால் அவற்றை எடுத்துக் கொள்ளும், இல்லையேல் NULL மதிப்பை
இருத்திக் கொள்ளும்.
உங்களுக்குத் தெரியுமா?
INSERT
கட்டளையில், விடுப்பட்ட புலங்கள் வரையறுக்கப்பட்ட முன்னியல்பு மதிப்பையோ அல்லது
NULL மதிப்பையோ கொண்டிருக்கும்.
2. DELETE கட்டளை
DELETE கட்டளை அட்டவணையிலிருந்து ஒன்று அல்லது அதற்கு மேற்பட்ட
பதிவுகளை நீக்குகிறது. இது தனிப்பட்ட புலத்தை மட்டும் நீக்காமல், வரிசை முழுவதையும்
நீக்குவதால், புலத்திற்கான செயலுருபு தேவையில்லை.
DELETE கட்டளையின் பயன்பாடு பின்வருமாறு :
DELETE
FROM table-name WHERE condition;
உதாரணத்திற்கு, 104 என்ற சேர்க்கை எண் கொண்ட பதிவை நீக்குவதற்கான
கட்டளை பின்வருமாறு:
DELETE
FROM Student WHERE Admno=104;
மேற்கண்ட பதிவு மாணவர் அட்டவணையிலிருந்து நீக்கப்படும்.
அட்டவணையில் உள்ள அனைத்து வரிசைகளையும் நீக்க, பயன்படும் கட்டளை
:
DELETE*
FROM Student;
இப்பொழுது அட்டவணை வெறுமையாக காணப்படும். DROP கட்டளையை
(12.7.4.3 பகுதியில் பார்க்கலாம்) பயன்படுத்தி. இந்த அட்டவணையை முழுவதுமாக அழிக்க முடியும்.
3. UPDATE கட்டளை
ஒரு தரவுத்தளத்தில் உள்ள சில அல்லது அனைத்து தரவு மதிப்புகளையும்
UPDATE கட்டளை புதுப்பித்தல் செய்யும் (புதுப்பிக்கும்). அது அட்டவணையில் உள்ள ஒன்று
அல்லது அதற்கு மேற்பட்ட பதிவுகளையும் புதுப்பிக்க முடியும். UPDATE கட்டளை, WHERE
clause ஐ பயன்படுத்தி மாற்றப்பட வேண்டிய வரிசைகளையும், SET சிறப்புச் சொல்லைப் பயன்படுத்தி
புதிய தரவையும் குறிப்பிடுகிறது. UPDATE கட்டளையை பின்வருமாறு பயன்படுத்தலாம்:
UPDATE
<table-name> SET column-name = value, column-name = value,.... WHERE
condition;
உதாரணத்திற்கு, பின்வரும் புலங்களை புதுப்பிக்க:
UPDATE
Student SET Age = 20 WHERE Place = “Bangalore”;
மேற்கண்ட கட்டளை "Bangalore” என்ற இடத்தில் இருக்கும் மாணவர்களுடைய
வயதை 20 என மாற்றி அமைக்கும். புதுப்பிக்கப்பட்ட அட்டவணை பின்வருமாறு:
ஒன்றுக்கு மேற்பட்ட புலங்களை புதுப்பிக்க, SET clause பயன்படுத்தி
அவற்றிற்கான மதிப்புகளை காற்புள்ளியால் பிரித்து குறிப்பிடலாம். உதாரணத்திற்கு, ஒரு
மாணவர் அட்டவணையில், பல்வேறு புலங்களை புதுப்பித்தலுக்கான கட்டளை பின்வருமாறு:
UPDATE
Student SET Age=18, Place = 'Chennai' WHERE Admno = 102;
மேற்கண்ட கட்டளை கீழ்க்கண்ட முறையில் பதிவை மாற்றி அமைக்கிறது.
1. ALTER கட்டளை
ALTER கட்டளையைப் பயன்படுத்தி அட்டவணை வடிவமைப்பில் நெடுவரிசையை
சேர்த்தல், ஏற்கனவே இருக்கும் புலத்திற்கு மறு பெயரிடல், எந்த ஒரு நெடுவரிசையின் தரவு
வகையையோ அல்லது அளவினையோ மாற்றி அமைத்தல் நெடுவரிசையை அட்டவணையிலிருந்து நீக்குதல்
போன்ற மாற்றங்களை செய்யலாம். அது கீழ்க்காணும் முறையில் பயன்படுத்தப்படுகிறது:
ALTER
TABLE <table-name> ADD <column-name><data type><size>;
மாணவர் அட்டவணையில் char' என்ற தரவுவகை சார்ந்த
"address” என்ற நெடுவரிசையை சேர்க்க, கட்டளையமைப்பு
ALTER TABLE Student ADD Address
char;
அட்டவணையில் ஏற்கனவே இருக்கும் நெடுவரிசையை மாற்றியமைக்க, ALTER
TABLE கட்டளை MODIFY clause உடன் பயன்படுத்தப்படுகிறது.
ALTER
<table-name> MODIFY<column-name><data type><size>;
ALTER
TABLE Student MODIFY Address char (25);
மேற்கண்ட கட்டளை மாணவர் அட்டவணையில் உள்ள address நெடுவரிசை
இப்பொழுது 25 எழுத்துக்கள் வரை தேக்கி வைத்துக் கொள்ளும் வகையில் மாற்றி அமைக்கும்.
ALTER கட்டளை கீழ்க்காணும் முறையில் ஏற்கனவே உள்ள நெடுவரிசைக்கு மறுபெயரிட பயன்படுகிறது:
ALTER
<table-name> RENAME old-column-name TO new-column-name;
உதாரணத்திற்கு, address என்ற பெயரைக் கொண்ட நெடுவரிசைக்கு
city என்று மறுபெயரிட உதவும் கட்டளை:
ALTER TABLE Student RENAME Address TO City;
ஒரு நெடுவரிசை அல்லது அனைத்து நெடுவரிசைகளையும் நீக்க,
ALTER கட்டளையைப் பயன்படுத்தலாம். உதாரணத்திற்கு, ALTER TABLE-ன் DROP COLUMN ஐ பயன்படுத்தி,
குறிப்பிட்ட நெடுவரிசையை நீக்கலாம். கட்டளை:
ALTER
<table-name> DROP COLUMN <column-name>;
மாணவர் அட்டவணையில் city என்ற நெடுவரிசையை நீக்க, பயன்படும்
கட்டளை:
ALTER TABLE Student DROP COLUMN
City;
2. TRUNCATE கட்டளை
TRUNCATE கட்டளை அட்டவணையிலுள்ள அனைத்து வரிசைகளையும் நீக்கப்
பயன்படுகிறது. அட்டவணையின் வடிவமைப்பு மாறாமல், ஒதுக்கீடு செய்யப்பட்ட இடம் விடுவிக்கப்படும்
TRUNCATE கட்டளையின் தொடரியல்
TRUNCATE TABLE table-name;
உதாரணத்திற்கு, மாணவர்
அட்டவணையில் உள்ள அனைத்து பதிவுகளையும், அட்டவணையையும் நீக்குவதற்கான கட்டளை :
TRUNCATE TABLE Student;
மாணவர் அட்டவணை நீக்கப்பட்டு, நினைவகப்பகுதி விடுவிக்கப்படுகிறது.
3. DROP TABLE கட்டளை
DROP
TABLE கட்டளை தரவுத்தளத்திலிருந்து ஒரு அட்டவணையை நீக்கப் பயன்படுகிறது.
ஒரு அட்டவணையை DROP செய்தால், அட்டவணையில்
உள்ள அனைத்து வரிசைகளும் நீக்கப்பட்டு, அட்டவணையின் வடிவமைப்பு தரவுத்தளத்திலிருந்து
நீக்கப்படும். அட்டவணையை DROP செய்த பின்பு,
அதனை திரும்ப பெற இயலாது. ஆதலால், DROP
TABLE கட்டளையை பயன்படுத்தும் போது எச்சரிக்கையாக இருத்தல் வேண்டும். ஒரு அட்டவணையை
DROP செய்ய வேண்டுமெனில், அது காலி அட்டவணையாக
இருக்க வேண்டும். அட்டவணையின் அனைத்து வரிசைகளையும் DELETE கட்டளை கொண்டு நீக்கப்பட்டிருக்க வேண்டும்.
அனைத்து வரிசைகளையும் நீக்க, தேவையான கட்டளை:
DELETE
* FROM Student;
அனைத்து வரிசைகளும் நீக்கப்பட்டப் பின்பு, கீழ்க்காணும் முறையில்
DROP TABLE கட்டளையை பயன்படுத்தி அட்டவணையை நீக்கலாம்.
DROP TABLE table-name;
உதாரணத்திற்கு மாணவர் அட்டவணையை நீக்க:
DROP
TABLE Student;
DELETE,
TRUNCATE AND DROP கூற்று:
DELETE DELETE கட்டளை WHERE
clause-ல் கொடுக்கப்பட்டிருக்கும் நிபந்தனையின் அடிப்படையில், அட்டவணையின் குறிப்பிட்ட
வரிசைகளை மட்டும் நீக்கும் அல்லது எந்த வித நிபந்தனையும் கொடுக்கப்படவில்லையெனில்,
அட்டவணையின் அனைத்து வரிசைகளையும் நீக்கி விடும். ஆனால் அட்டவணைக்கென ஒதுக்கப்பட்ட
இடத்தை விடுவிக்காது.
TRUNCATE TRUNCATE கட்டளை அட்டவணையின்
அனைத்து வரிசைகளையும் நீக்கி, வடிவமைப்பை மாற்றாமல், அட்டவணைக்கென ஒதுக்கீடு செய்யப்பட்ட
இடத்தை விடுவிக்கும்.
DROP DROP கட்டளை தரவுத்தளத்திலிருந்து ஒரு உறுப்பை நீக்க பயன்படுகிறது. ஒரு அட்டவணையை DROPசெய்தால், அட்டவணையில் உள்ள அனைத்து வரிசைகளும் நீக்கப்பட்டு, அட்டவணையின் வடிவமைப்பு தரவுத்தளத்திலிருந்து நீக்கப்படும். ஒரு அட்டவணையை DROP செய்துவிட்ட பின்பு, அதனை திரும்பப் பெற இயலாது.
SQL-ல் செயலாற்றும் போது, வினவல்களை உருவாக்குவதும், தரவை மீட்டெடுப்பதும்
மிக முக்கியமான பணிகளில் ஒன்றாகும். ஒரு வினவல் என்பது தரவுத்தள அட்டவணையிலிருந்து
நாம் விரும்பும் தீர்வை பெற கொடுக்கப்படும் கட்டளையாகும். SQL SELECT கட்டளை, தரவுத்தள
அட்டவணையில் உள்ள
தரவினை வினவலாகவோ அல்லது மீட்டெடுக்கவோ பயன்படும் கட்டளையாகும்.
இது ஒன்று அல்லது அதற்கு மேற்பட்ட அட்டவணைகளிலிருந்து பதிவுகளின் துணைக் கூறுகளை மீட்டெடுக்கப்
பயன்படுகிறது. SELECT கட்டளையை பல வடிவங்களில் பயன்படுத்தலாம்.
SELECT கட்டளையின் தொடரியல்:
SELECT
<column-list>FROM<table-name>;
• table-name என்பது தகவல் பெறப்பட்ட அட்டவணையின் பெயர்.
• Column-list என்பது தரவு பெறப்பட்ட ஒன்று அல்லது அதற்கு மேற்பட்ட
நெடுவரிசைகளை உள்ளடக்கியது.
உதாரணமாக மாணவர் அட்டவணையில் இருந்து சேர்க்கை எண் மற்றும் மாணவர்களின்
பெயரை மட்டுமே பார்க்க, கட்டளை பின்வருமாறு கொடுக்கப்பட்டுள்ளது:
மாணவர் அட்டவணை பின்வரும் தரவைக் கொண்டிருந்தால்:
SELECT
Admno, Name FROM Student;
மேற்கண்ட SELECT கட்டளை பின்வரும் தகவலை வெளிக்காட்டும்:
அட்டவணையின் அனைத்து புலங்களையும், வரிசைகளையும் பார்க்க,
SELECT கட்டளை இவ்வாறு அமையும்.
SELECT
* FROM STUDENT;
1. சிறப்புச் சொல் DISTINCT
DISTINCT சிறப்புச் சொல்லுடன் SELECT கட்டளையைப் பயன்படுத்தி
ஒரு அட்டவணையில் இரட்டிப்பு வரிசைகளை உருவாகாமல் தடுக்கலாம். இது தரவு இரட்டித்தலைத்
தவிர்க்கின்றது. உதாரணத்திற்கு,
SELECT * DISTINCT place FROM student; என்ற கட்டளை பின்வரும்
தரவை வெளிக்காட்டும்:
SELECT
* FROM Student;
மேற்கண்ட வெளியீட்டில், place என்னும் புலத்தில் இரட்டிப்பு
வரிசைகள் இல்லாத்தைக் காணலாம். DISTINCT என்ற சிறப்புச் சொல்லை பயன்படுத்தும் போது
NULL மதிப்புகள் அதிக எண்ணிக்கையில் இருப்பினும், ஒரே ஒரு NULL மதிப்பு மட்டுமே திருப்பி
அனுப்பப்படும்.
2. சிறப்புச் சொல் ALL
ALL என்ற சிறப்புச் சொல் இரட்டிப்பு வரிசைகளையும் இருத்தி வைக்கிறது.
அது இரட்டிப்பு பதிவுகளை கருத்தில் கொள்ளாது, அட்டவணையின் ஒவ்வொரு வரிசையையும் வெளிக்காட்டும்.
SELECT
ALL Place FROM Student;
மேற்கண்ட கட்டளை அட்டவணையில் உள்ள ஒவ்வொரு வரிசையிலும் உள்ள
place என்ற புலத்தின் அனைத்து மதிப்புகளையும் இரட்டிப்புப் பதிவுகளையும் உள்ளடக்கி)
வெளிக்காட்டும்.
SELECT கட்டளையிலுள்ள WHERE
clause, விரும்பிய தீர்வை பெறுவதற்கான விதிமுறைகளை குறிப்பிடுகிறது. WHERE clause யுடனான
SELECT கட்டளையின் பொது வடிவம்:
SELECT
<column-name>[,<column-name>,....) FROM <table-name> WHERE
condition>;
உதாரணத்திற்கு, மாணவர்களின் சேர்க்கை எண்ணையும், சென்னையை சேர்ந்த
மாணவர்களின் பெயர்களை மட்டும் வெளிக்காட்ட, SELECT கட்டளை கீழ்க்காணும் முறையில் பயன்படுத்தப்படுகிறது:
SELECT
Admno, Name, Place FROM Student WHERE Place =”Chennai”;
SELECT Admno, Name, Age FROM Student WHERE Age
>= 18;
ஒப்பீட்டு இயக்கிகள் =, <, <=, >, >=, <>
போன்றவை இரண்டு மதிப்புகளை ஒப்பீட SELECT கட்டளையுடன் WHERE clause பயன்படுத்தலாம்.
WHERE clauseல் தேடல் நிபந்தனைகளை OR, AND மற்றும் NOT போன்ற தருக்க செயற்குறிகள் ஒன்றிணைக்க
பயன்படுகின்றன. உதாரணத்திற்கு,
SELECT
Admno, Name, Age, Place FROM Student WHERE (Age>=18 AND Place = "Delhi");
The SELECT கட்டளையை
கீழ்க்காணும் முறைகளிலும் பயன்படுத்தலாம்:
SELECT
Admno, Name, Age, Place FROM Student WHERE (Age>=18 OR
Place="Delhi");
SELECT
Admno, Name, Place FROM Student WHERE (NOT Place ="Delhi");
3. BETWEEN மற்றும் NOT சிறப்புச் சொற்கள்
BETWEEN என்ற சிறப்புச் சொல் மதிப்புகளின் பரப்பை வரையறுக்கின்றது,
இந்த பரப்பினுள் உள்ள மதிப்புகள் கொண்ட வரிசைகளை உள்ளடக்கும். மதிப்புகளின் பரப்பான
அதிகபட்ச மதிப்பு மற்றும் குறைந்தபட்ச மதிப்பிற்கு இடையே உள்ள நிபந்தனையை உள்ளடக்கும்.
SELECT
Admno, Name, Gender, Age, Place FROM Student WHERE Age BETWEEN 18 AND 19;
BETWEEN இயக்கியின் எதிர் இயக்கியாக NOT BETWEEN செயல்படும்,
நிபந்தனையை நிறைவு செய்யாத பதிவுகளை இது வெளிக்காட்டும்.
SELECT
Admno, Name, Age FROM Student WHERE Age NOT BETWEEN 18 AND 19;
4. IN சிறப்புச் சொல்
IN சிறப்புச்
சொல் பதிவின் மதிப்புகளுடன் பொருந்தக்கூடிய வகையில் மதிப்புகளின் பட்டியலைக் குறிப்பிடப்
பயன்படுகிறது. வேறு சொற்களில் கூறுவதெனில், இது ஒன்றுக்கு மேற்பட்ட மதிப்புகளுடன் ஒரு
நெடுவரிசையை ஒப்பிடப் பயன்படுகிறது. இது OR நிபந்தனைக்கு நிகரானது. உதாரணத்திற்கு:
SELECT
Admno, Name, Place FROM Student WHERE Place IN ("Chennai”, “Delhi”);
NOT
IN சிறப்புச்
சொல் பட்டியலுடன் பொருந்தாத மதிப்புகளைக் கொண்ட பதிவுகளை மட்டுமே வெளிக்காட்டும். உதாரணத்திற்கு,
SELECT
Admno, Name, Place FROM Student WHERE Place NOT IN (“Chennai”, “Delhi”);
என்ற கட்டளை "Chennai” மற்றும் “Delhi” ஆகிய இடங்களை தவிர
மற்ற மாணவர்களின் பட்டியலை வெளியிடும்.
NULL
மதிப்பு:
ஒரு அட்டவணையில் NULL மதிப்பையுடைய புலத்தை WHERE clause IS
NULL என்பதைப் பயன்படுத்தி தேடலாம். உதாரணத்திற்கு , age என்ற புலத்தில் மதிப்புகள்
கொடுக்கப்படாத அனைத்து மாணவர்களின் பட்டியலை வெளியிட, பயன்படுத்த வேண்டிய கட்டளை :
SELECT
* FROM Student WHERE Age IS NULL;
குறிப்பு
IS
NOT NULL என்பதை பயன்படுத்தி அட்டவணையில் உள்ள NULL அல்லாத மதிப்புகளை பட்டியலிடலாம்.
5. ORDER BY clause
SQL-ன் ORDER BY clause பயன்படுத்தி தரவுகளை ஒன்று அல்லது அதற்கு
மேற்பட்ட நெடுவரிசைகளின் அடிப்படையில் ஏறுவரிசையிலோ அல்லது இறங்கு வரிசையிலோ வரிசைப்படுத்தலாம்.
1. கொடாநிலையாக, ORDER
BY தரவை ஏறுவரிசையில் வரிசைப்படுத்தும்.
2. தரவினை DESC
என்ற சிறப்புச் சொல்லைப் பயன்படுத்தி இறங்கு வரிசையிலும்,
ASC என்ற
சிறப்புச் சொல்லைப் பயன்படுத்தி ஏறுவரிசையிலும் வரிசைப்படுத்தலாம்.
ORDER
BY
ஐ இவ்வாறு பயன்படுத்தலாம் :
SELECT<column-name>[,<column-name>,....) FROM
<table-name>ORDER BY <columnl>,<column2>,... ASC DESC;
உதாரணத்திற்கு:
மாணவர்களின் பெயரை அகர வரிசைப்படுத்திய பட்டியலை வெளியிட பயன்படும்
கட்டளையமைப்பு
SELECT
* FROM Student ORDER BY Name;
வரிசைப்படுத்தப்பட்ட மாணவர் அட்டவணை பின்வருமாறு:
குறிப்பு
ORDER
BY clause பயன்படுத்தினால் அட்டவணைக்கு எந்த பாதிப்பையும் ஏற்படுத்தாது.
6. WHERE clause
WHERE clause பதிவுகளை வடிகட்டுதலுக்கு பயன்படுகிறது. இது கொடுக்கப்பட்ட
நிபந்தனையை நிறைவு செய்யும் பதிவுகளை மட்டும் பிரித்தெடுக்க உதவுகிறது. உதாரணத்திற்கு,
மாணவர் அட்டவணையில் 18 மற்றும் அதற்கு மேற்பட்ட வயதுடைய மாணவர்களின் பட்டியலை, அகர
வரிசைப்படுத்தி ஏறுவரிசையில் வெளியிடும் கட்டளை பின்வருமாறு : SELECT * FROM Student WHERE Age>=18
ORDER BY Name;
18 மற்றும் அதற்கு மேற்பட்ட வயதுடைய மாணவர்களின் பட்டியலை, அகர
வரிசைப்படி இறங்கு வரிசையில், வெளியிடும் கட்டளை பின்வருமாறு :
SELECT
* FROM Student WHERE Age>=18 ORDER BY Name DESC;
குறிப்பு
பற்பல
புலங்களின் மீதும் வரிசையாக்கம் செய்ய்யலாம்,
7. GROUP BY clause
SELECT கூற்றுடன் GROUP
BY clause பயன்படுத்தி வரிசைகள் அல்லது நெடுவரிசைகளில் ஒரே மாதிரியான மதிப்புகளில்
கொண்ட மாணவர்களை ஒரு தொகுதியாக பிரிக்கலாம் அல்லது ஒரு அட்டவணையை குழுக்களாக பிரிக்கலாம்.
உதாரணத்திற்கு ஒரு வகுப்பில் உள்ள ஆண் மாணவர்கள் அல்லது பெண் மாணவிகளின் எண்ணிக்கையைத்
தெரிந்துக் கொள்ள, GROUP BY ஐ பயன்படுத்தலாம்.
GROUP BY clause ன் தொடரியல்
SELECT <column-names> FROM <table-name> GROUP BY
<column-name>HAVING [condition);
மேற்கண்ட கட்டளையை மாணவர் அட்டவணையில் பயன்படுத்த :
SELECT
Gender FROM Student GROUP BY Gender;
மேற்கூறிய கட்டளையின் வெளியீடு பின்வருமாறு:
இரண்டு முடிவுகள் மட்டுமே திரும்ப பெறப்பட்டுள்ளது என்பதை கருத்தில்
கொள்ளவும். இதன் காரணம் என்னவெனில், நாம் ஆண் மற்றும் 'பெண்' என்ற இரு பாலினங்களையே
பெற்றுள்ளோம். GROUP BY clause அனைத்து 'M' மாணவர்களையும் தொகுத்து, ஒரு வரிசையை மட்டும்
வெளியிட்டுள்ளது. இது போன்றே F’ மாணவர்களுக்கும் வெளியீடு அமையும்.
உதாரணத்திற்கு, மாணவர் அட்டவணையில் ஆண், பெண் மாணவர்களின் எண்ணிக்கையை
கண்டறிய கீழ்காணும் கட்டளை தரப்பட்டுள்ளது:
SELECT
Gender, count(*) FROM Student GROUP BY Gender;
குறிப்பு
NULL
மதிப்புகளையும் சேர்த்துக்கொள்ள COUNT உடன் * என்ற குறியீடு பயன்படுத்தப்பட்டுள்ளது.
மேற்கண்ட SELECT கூற்ற ஆண் மற்றும் பெண் மாணாக்கர்களின் எண்ணிக்கையை
வெளியீடும்.
8. HAVING clause
SELECTகட்டளையுடன் HAVING மற்றும் GROUPBY Clause-க்களை பயன்படுத்தி
குழுக்களுக்கு நிபந்தனையை இருத்தலாம் மற்றும் பயனர் ஒன்றிணைந்த செயற்கூறுகளையும் பயன்படுத்தலாம்.
உதாரணத்திற்கு, Chennai ஐ சேர்ந்த ஆண் மற்றும் பெண் மாணாக்கர்களின்
எண்ணிக்கையை கண்டறிய
SELECT
Gender, count(*) FROM Student GROUP BY Gender HAVING Place = 'Chennai';
மேற்கண்ட வெளியீடு மாணவர் அட்டவணையில் சென்னையை சேர்ந்த ஆண் மற்றும் பெண் மாணாக்கர்களின் எண்ணிக்கையை காண்பிக்கிறது.
1. COMMIT command
COMMIT கட்டளை,
தரவுத்தளத்திலுள்ள எந்த ஒரு நடவடிக்கையும் நிரந்தரமாக சேமிக்கப்பயன்படுகிறது. INSERT, UPDATE, DELETE போன்ற DML கட்டளைகளைப் பயன்படுத்தி செய்யப்பட்ட
மாற்றங்கள் நிரந்தரமல்ல. SQL தூண்டுகுறியில்
COMMIT கட்டளையை கொடுத்த பிறகுதான், இது
நிரந்தரமாக குறிக்கப்படுகிறது. COMMIT
கட்டளையை கொடுத்து விட்டால், செய்யப்பட்ட மாற்றங்கள் திரும்பப் பெற இயலாது. COMMIT கட்டளை இவ்வாறு பயன்படுத்தப்படுகிறது.
COMMIT;
2. ROLLBACK கட்டளை
ROLLBACK கட்டளை கடைசி COMMIT கட்டளைக்கு பிறகு கொடுத்த அனைத்து
கட்டளைகளையும் திரும்ப பெறும். இந்த கட்டளையுடன் SAVEPOINT கட்டளையும் பயன்படுத்தி
ஒரு குறிப்பிட்ட savepoint இடத்திற்கு கொண்டு செல்ல முடியும்.
ROLL BACK TO savepoint name;
3. SAVEPOINT கட்டளை
SAVEPOINT கட்டளை ஒரு நடவடிக்கையை தற்காலிகமாக சேமித்து வைப்பதால்,
நாம் தேவைப்படும் சமயங்களில் திரும்பவும் அந்த நிலைக்கு செல்லலாம். நம்முடைய அட்டவணையின்
மாறுபட்ட நிலைகளை வெவ்வேறு பெயர்களை பயன்படுத்தி எந்த சமயத்திலும் சேமித்துக் கொள்ளலாம்.
மேலும், ROLLBACK கட்டளையைப் பயன்படுத்தி, மீண்டும் அந்த நிலையை சென்றடையலாம்.
SAVEPOINT savepoint_name;
பின்வரும் தரவைக் கொண்ட மாணவர் அட்டவணையில் COMMIT,
SAVEPOINT மற்றும் ROLLBACK கட்டளைகளை காண்பிக்கும் எடுத்துக்காட்டு :