வினவல் அமைப்பு மொழி (SQL): ஒரு மதிப்பெண் வினாக்கள், புத்தக வினா விடைகள் மற்றும் குறிப்புகள்
வினவல் அமைப்பு மொழி (SQL) என்பது உறவுநிலைத் தரவுதளங்களுடன் வேலை செய்வதற்கான நிலையான மொழி. SQL இன் ஐந்து கூறுகள் (DDL, DML, DCL, TCL, DQL), அட்டவணைகளை உருவாக்குதல், மாற்றுதல், கட்டுப்பாடுகள் ஆகியவற்றை இந்தக் குறிப்புகள் விளக்குகின்றன. WHERE, ORDER BY, GROUP BY, HAVING ஆகிய பிரிவுகளுடன் SELECT வினவல்களை எப்படி எழுதுவது என்பதும் எடுத்துக்காட்டுகளுடன் விளக்கப்படுகிறது.
இந்தப் பாடத்தைப் படியுங்கள்
முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டவை
இந்தப் பாடத்திலிருந்து 8 வினாக்கள் 7 முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டன. விடையையும் விளக்கத்தையும் காண எந்த வினாவையும் திறக்கவும்.
-
மார்ச் 2026
__________ கட்டளை அட்டவணையின் வடிவமைப்பை மாற்றியமைக்க அனுமதிக்கிறது.விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2025
வினவல்களை உருவாக்கப் பயன்படுவது:விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2025
பின்வரும் எந்த சிறப்பு சொல் நகல்களைத் தவிர்க்கும்?விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2024
ஒரு தரவுத்தளத்தில் உள்ள தரவை வரிசையாக்கம் செய்ய பயன்படும் clause :விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2023
__________ கட்டளை தரவுதளத்திலிருந்து ஒரு அட்டவணையை நீக்கப் பயன்படுகிறது.விடையுடன் வினாத்தாளில் பார் →
-
மே 2022
ஒரு தரவுத்தளத்தில் உள்ள தரவை வரிசையாக்கம் செய்ய பயன்படும் Clause :விடையுடன் வினாத்தாளில் பார் →
-
துணைத் தேர்வு 2021
ஒரு தரவுத்தளத்தில் உள்ள தரவை வரிசையாக்கம் செய்ய பயன்படும் Clause :விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2020
அட்டவணையை நீக்க பயன்படுத்த வேண்டிய கட்டளை :விடையுடன் வினாத்தாளில் பார் →
வினவல் அமைப்பு மொழி (SQL) பற்றி
நடுத்தரம் ~120 நிமிடப் படிப்பு
RDBMS தரவை அட்டவணைகளில் வைத்திருக்கிறது. ஆனால் அதனிடம் எதையும் கேட்க ஒரு மொழி தேவை. அந்த மொழிதான் SQL. இதைக் கொண்டு ஒரு அட்டவணையை உருவாக்கலாம், வரிசைகளைச் சேர்க்கலாம், மதிப்புகளை மாற்றலாம், வரிசைகளை நீக்கலாம், நமக்குத் தேவையான பதிவுகளை மட்டும் சரியாக எடுக்கலாம். MySQL, Oracle, SQLite ஆகிய அனைத்தும் சிறு வேறுபாடுகளுடன் SQL ஐப் புரிந்துகொள்கின்றன.
பாடம் ஒரு பொருத்தமான வரிசையில் செல்கிறது. முதலில் char, varchar, int, dec, date போன்ற தரவு வகைகள் வருகின்றன. பிறகு தரவு வரையறை மொழி (DDL) அட்டவணையை உருவாக்குகிறது, தரவு கையாளுதல் மொழி (DML) அதில் தரவை நிரப்பித் திருத்துகிறது, தரவு வினவல் மொழி (DQL) SELECT மூலம் அதிலிருந்து படிக்கிறது. அதன் பிறகு தவறான தரவை ஏற்க மறுக்கும் கட்டுப்பாடுகள் (constraints), மாற்றங்களைச் சேமிக்கும் அல்லது திரும்பப் பெறும் TCL கட்டளைகள் வருகின்றன.
SQL இன் கூறுகளை ஒவ்வொன்றுக்கும் ஒரு கட்டளையுடன் கூறுதல், DELETE, TRUNCATE, DROP இடையிலான வேறுபாடு, கட்டுப்பாடுகளின் வகைகள், கொடுக்கப்பட்ட அட்டவணையின் மீது சிறிய வினவல்கள் ஆகியவை கேட்கப்படலாம். ஒவ்வொரு வினவலையும் பிரிவுகள் சரியான வரிசையில் வருமாறு முழுமையாக எழுதிப் பழகுங்கள்: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. ஒரு பிரிவு இடம் மாறினாலும் வினவல் பிழை தரும்.
நீங்கள் கற்பவை
- SQL இன் ஐந்து கூறுகளைப் பெயரிட்டு, ஒவ்வொன்றுக்கும் உரிய கட்டளைகளைக் கூறுதல்.
- பொருத்தமான தரவு வகைகளுடனும் ஒரு முதன்மைத் திறவுகோலுடனும் CREATE TABLE கூற்றுகளை எழுதுதல்.
- NOT NULL, UNIQUE, CHECK, DEFAULT, PRIMARY KEY கட்டுப்பாடுகளைச் சரியாகப் பயன்படுத்துதல்.
- INSERT, UPDATE, DELETE மூலம் பதிவுகளைச் சேர்த்தல், மாற்றுதல், நீக்குதல்.
- DISTINCT, WHERE, ORDER BY, GROUP BY, HAVING பயன்படுத்தி SELECT வினவல்களை எழுதுதல்.
- ஒரு பரிமாற்றத்தைக் கட்டுப்படுத்த COMMIT, ROLLBACK, SAVEPOINT பயன்படுத்துதல்.
தொடங்குவதற்கு முன்
- தரவுதளக் கருத்துருக்கள் பாடத்தில் உள்ள அட்டவணை, வரிசை, நெடுவரிசை பற்றிய கருத்துகள்.
- உறவுநிலை மாதிரி நிஜ உலக உருப்பொருள்களை அட்டவணைகளாக எப்படிக் குறிக்கிறது என்பது.
- உரை, எண்கள், தேதிகளுக்கான அடிப்படைத் தரவு வகைகள்.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
வினவல் அமைப்பு மொழி (SQL) — விரிவான விளக்கம்
SQL எப்படி அமைக்கப்பட்டுள்ளது
SQL என்ன செய்கிறது
RDBMS வரிசைகளும் நெடுவரிசைகளும் கொண்ட அட்டவணைகளில் தரவைச் சேமிக்கிறது. அதனுடன் தொடர்புகொள்ளப் பயன்படும் நிலையான மொழி SQL. SQL கொண்டு ஒரு தரவுதளத்தையும் அதன் அட்டவணைகளையும் உருவாக்கலாம், பதிவுகளைச் செருகலாம், மாற்றலாம், ஒரு பயன்பாட்டுக்கோ அறிக்கைக்கோ பதிவுகளை மீட்டெடுக்கலாம். SQL சிறப்புச் சொற்கள் எழுத்து வடிவ வேறுபாட்டைக் கவனிப்பதில்லை (not case sensitive). ஆனாலும் அவற்றைப் பெரிய எழுத்துகளில் எழுதினால் வினவலைப் படிப்பது எளிது.
SQL இன் ஐந்து கூறுகள்
DDL (தரவு வரையறை மொழி) அட்டவணைகளின் கட்டமைப்பை வரையறுக்கிறது: CREATE, ALTER, DROP, TRUNCATE. DML (தரவு கையாளுதல் மொழி) வரிசைகளின் மீது வேலை செய்கிறது: INSERT, UPDATE, DELETE. DCL (தரவுக் கட்டுப்பாட்டு மொழி) அனுமதிகளைத் தருகிறது அல்லது திரும்பப் பெறுகிறது: GRANT, REVOKE. TCL (பரிமாற்றக் கட்டுப்பாட்டு மொழி) DML செய்த மாற்றங்களை நிர்வகிக்கிறது: COMMIT, ROLLBACK, SAVEPOINT. DQL (தரவு வினவல் மொழி) தரவை மீட்டெடுக்கிறது: SELECT.
அட்டவணைகளை உருவாக்குதலும் மாற்றுதலும்
CREATE TABLE ஒவ்வொரு நெடுவரிசைக்கும் பெயரிட்டு, அதன் தரவு வகையையும் அளவையும் தருகிறது, எ.கா. Name char(20). ALTER TABLE ஏற்கனவே உள்ள அட்டவணையை மாற்றுகிறது: ADD மூலம் நெடுவரிசையைச் சேர்க்கலாம், MODIFY மூலம் அதன் வகையை மாற்றலாம், CHANGE மூலம் பெயர் மாற்றலாம், DROP COLUMN மூலம் நீக்கலாம். TRUNCATE TABLE எல்லா வரிசைகளையும் நீக்கும், ஆனால் கட்டமைப்பை வைத்திருக்கும். DROP TABLE அட்டவணையையே, கட்டமைப்பையும் தரவையும் சேர்த்து, நீக்கிவிடும்.
கட்டுப்பாடுகள்
கட்டுப்பாடு (constraint) என்பது தவறான தரவு அட்டவணைக்குள் நுழையாமல் தடுக்கும் ஒரு விதி. அது நெடுவரிசைக் கட்டுப்பாடாக (ஒரு நெடுவரிசையுடன் எழுதப்படுவது) அல்லது அட்டவணைக் கட்டுப்பாடாக (எல்லா நெடுவரிசைகளுக்கும் பிறகு எழுதப்படுவது; பெரும்பாலும் இரண்டு நெடுவரிசைகளை ஒரே திறவுகோலாக இணைக்க) இருக்கலாம். NOT NULL என்றால் அந்தப் புலத்தில் கட்டாயம் மதிப்பு இருக்க வேண்டும். UNIQUE என்றால் இரண்டு வரிசைகளில் ஒரே மதிப்பு இருக்கக் கூடாது; பாடநூலில் இது NOT NULL என்றும் அறிவிக்கப்பட்ட புலங்களில் மட்டுமே பயன்படுகிறது. CHECK ஒரு நிபந்தனையை நிறைவு செய்யும் மதிப்புகளை மட்டும் அனுமதிக்கும், எ.கா. Age <= 19. மதிப்பு எதுவும் தரப்படாதபோது DEFAULT ஒரு மதிப்பைத் தருகிறது. PRIMARY KEY ஒவ்வொரு வரிசையையும் தனித்து அடையாளம் காட்டுகிறது; அது NULL ஆக இருக்க முடியாது. ஒரு அட்டவணைக்கு ஒரே ஒரு முதன்மைத் திறவுகோல் மட்டுமே இருக்கலாம்.
பதிவுகளைச் சேர்த்தலும் மாற்றுதலும்
INSERT INTO ஒரு வரிசையைச் சேர்க்கிறது. கூற்றில் நெடுவரிசைப் பெயர்களைப் பட்டியலிடாவிட்டால், மதிப்புகள் அட்டவணையின் நெடுவரிசை வரிசைப்படியே இருக்க வேண்டும். UPDATE, WHERE நிபந்தனையுடன் பொருந்தும் வரிசைகளின் மதிப்புகளை மாற்றுகிறது. DELETE FROM பொருந்தும் வரிசைகளை நீக்குகிறது, ஆனால் அட்டவணைக் கட்டமைப்பை அப்படியே விடுகிறது. UPDATE அல்லது DELETE இல் WHERE ஐ விட்டுவிட்டால் எல்லா வரிசைகளும் பாதிக்கப்படும்.
SELECT மூலம் வினவுதல்
SELECT ஒரு அட்டவணையிலிருந்து நெடுவரிசைகளை மீட்டெடுக்கிறது. DISTINCT வெளியீட்டில் உள்ள நகல் வரிசைகளை நீக்குகிறது. WHERE, ஒப்பீட்டுச் செயற்குறிகள், AND, OR, NOT, BETWEEN, IN மற்றும் அவற்றின் எதிர்மறைகள் மூலம் வரிசைகளை வடிகட்டுகிறது. ORDER BY வெளியீட்டை வரிசைப்படுத்துகிறது (இயல்பாக ASC, அல்லது DESC). GROUP BY ஒரே மதிப்புள்ள வரிசைகளை ஒரு குழுவாகச் சேர்க்கிறது; பொதுவாக COUNT, SUM, AVG, MAX அல்லது MIN உடன் பயன்படும். HAVING அந்தக் குழுக்களை வடிகட்டுகிறது.
பரிமாற்றக் கட்டுப்பாடு
DML செய்யும் மாற்றங்கள் உறுதிசெய்யப்படும் (commit) வரை நிரந்தரமானவை அல்ல. COMMIT அவற்றை நிரந்தரமாகச் சேமிக்கிறது. ROLLBACK கடைசி COMMIT வரையிலான மாற்றங்களைத் திரும்பப் பெறுகிறது. SAVEPOINT ஒரு பரிமாற்றத்துக்குள் ஒரு புள்ளியைக் குறிக்கிறது; அந்தச் சேமிப்புப் புள்ளிக்கு ROLLBACK TO செய்தால், அதற்குப் பிறகு செய்த மாற்றங்கள் மட்டும் திரும்பப் பெறப்படும்.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- கூற்றின் முடிவில் அரைப்புள்ளியை (semicolon) விட்டுவிடுவது. ஒவ்வொரு SQL கட்டளையையும் அரைப்புள்ளியுடன் முடியுங்கள்.
- NOT NULL இல்லாமல் ஒரு நெடுவரிசையை UNIQUE என்று அறிவிப்பது. NOT NULL என்று அறிவிக்கப்பட்ட புலங்களுக்கு மட்டுமே UNIQUE பயன்படுத்தப்படும் என்பது பாடநூல் விதி; எனவே இரண்டையும் எழுதுங்கள்.
- WHERE பிரிவு இல்லாமல் UPDATE அல்லது DELETE எழுதுவது. WHERE இல்லாவிட்டால் மாற்றம் அட்டவணையின் எல்லா வரிசைகளுக்கும் பொருந்தும்.
- குழுக்களை வடிகட்ட WHERE பயன்படுத்துவது. WHERE குழுவாக்கத்துக்கு முன் தனித்தனி வரிசைகளை வடிகட்டுகிறது; HAVING, GROUP BY உருவாக்கிய குழுக்களை வடிகட்டுகிறது.
- INSERT மதிப்புகளைத் தவறான வரிசையில் தருவது. அட்டவணையின் நெடுவரிசை வரிசையைப் பின்பற்றுங்கள், அல்லது INSERT கூற்றில் நெடுவரிசைப் பெயர்களைக் குறிப்பிடுங்கள்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
SQL க்கும் MySQL க்கும் உள்ள வேறுபாடு என்ன?
SQL என்பது உறவுநிலைத் தரவுதளங்களுடன் வேலை செய்வதற்கான ஒரு மொழி. MySQL என்பது ஒரு RDBMS; அதாவது தரவைச் சேமித்து, SQL கட்டளைகளைப் புரிந்துகொள்ளும் ஒரு மென்பொருள்.
PRIMARY KEY க்கும் UNIQUE கட்டுப்பாட்டுக்கும் உள்ள வேறுபாடு என்ன?
இரண்டுமே நகல் மதிப்புகளைத் தடுக்கின்றன. ஒரு அட்டவணைக்கு ஒரே ஒரு முதன்மைத் திறவுகோல் மட்டுமே இருக்கலாம்; அது ஒருபோதும் NULL ஆக இருக்க முடியாது. ஒரு அட்டவணையில் பல UNIQUE நெடுவரிசைகள் இருக்கலாம்; பாடநூலில் இந்த நெடுவரிசைகள் NOT NULL என்றும் அறிவிக்கப்படுகின்றன.
WHERE பிரிவு இல்லாமல் DELETE இயக்கினால் என்ன ஆகும்?
அட்டவணையின் எல்லா வரிசைகளும் நீக்கப்படும். அட்டவணைக் கட்டமைப்பு அப்படியே இருக்கும்; எனவே மீண்டும் வரிசைகளைச் செருகலாம். மாற்றம் இன்னும் உறுதிசெய்யப்படவில்லை என்றால், ROLLBACK மூலம் வரிசைகளைத் திரும்பப் பெறலாம்.
DELETE, TRUNCATE, DROP எப்படி வேறுபடுகின்றன?
DELETE என்பது ஒரு நிபந்தனையுடன் பொருந்தும் வரிசைகளை, WHERE இல்லையென்றால் எல்லா வரிசைகளையும், நீக்கும் DML கட்டளை. TRUNCATE என்பது எல்லா வரிசைகளையும் நீக்கி, கட்டமைப்பை வைத்துக்கொண்டு, இடத்தை விடுவிக்கும் DDL கட்டளை. DROP கட்டமைப்பையும் தரவையும் சேர்த்து முழு அட்டவணையையும் நீக்கும்.
WHERE க்குப் பதிலாக HAVING எப்போது பயன்படுத்த வேண்டும்?
வரிசைகள் குழுவாக்கப்படும் முன் அவற்றை வடிகட்ட WHERE பயன்படுத்துங்கள். GROUP BY க்குப் பிறகு குழுக்களை வடிகட்ட HAVING பயன்படுத்துங்கள், எ.கா. HAVING COUNT(*) > 2. COUNT, SUM போன்ற குழுச் செயற்கூறைப் பயன்படுத்தும் நிபந்தனை HAVING இல்தான் வர வேண்டும்.
COMMIT என்ன செய்கிறது?
COMMIT நடப்புப் பரிமாற்றத்தின் மாற்றங்களை நிரந்தரமாக்குகிறது. COMMIT க்குப் பிறகு ROLLBACK அந்த மாற்றங்களைத் திரும்பப் பெற முடியாது; தரவுதளத்தின் மற்ற பயனர்களும் அவற்றைப் பார்க்க முடியும்.
ROLLBACK உம் SAVEPOINT உம் சேர்ந்து எப்படி வேலை செய்கின்றன?
ROLLBACK உறுதிசெய்யப்படாத மாற்றங்களைத் திரும்பப் பெற்று, அட்டவணையைக் கடைசியாக உறுதிசெய்த நிலைக்குக் கொண்டு செல்கிறது. நீங்கள் ஒரு SAVEPOINT குறித்திருந்தால், அந்தச் சேமிப்புப் புள்ளிக்கு ROLLBACK TO செய்யும்போது அதற்குப் பிறகு செய்த மாற்றங்கள் மட்டும் திரும்பப் பெறப்படும்.
கடைசியாகப் புதுப்பிக்கப்பட்டது 17 செப்டெம்பர் 2026