SQL என்றால் என்ன? Database மொழி எளிமையாக விளக்கம்
SQL (Structured Query Language, "S-Q-L" அல்லது "sequel" என்று சொல்லப்படுகிறது) என்பது தொடர்புடைய databases-உடன் வேலை செய்வதற்கான நிலையான மொழி — அட்டவணைகளில் வரிசைகளும் நெடுவரிசைகளுமாக தரவைச் சேமிக்கும் வகை, உதாரணமாக Postgres, MySQL, SQLite, SQL Server. உங்கள் தரவிடம் கேள்விகள் கேட்கவும் ("இந்த மாதம் எந்த வாடிக்கையாளர்கள் முன்பதிவு செய்தார்கள்?"), பதிவுகளைச் சேர்க்கவும், மாற்றவும், நீக்கவும் அதைப் பயன்படுத்துகிறீர்கள். இது 1970-களிலிருந்து இருந்து வருகிறது, ஒரு பன்னாட்டுத் தரநிலை, உலகின் பெரும்பாலான ஆப்களுக்கு சக்தி அளிக்கிறது.
AI உடன் உருவாக்கும்போது SQL ஏன் முக்கியம்
"ஆர்டர்களைச் சேமி" அல்லது "வரவிருக்கும் முன்பதிவுகளின் பட்டியலைக் காட்டு" என்று AI app builder-இடம் கேட்கும்போது, database-உடன் ஏதோ ஒன்று பேச வேண்டும் — பெரும்பாலான ஆப்களில் அது SQL, நேரடியாக எழுதப்பட்டதாகவோ அல்லது ORM மூலம் உருவாக்கப்பட்டதாகவோ.
SQL-ஐ நீங்களே எழுத வேண்டியதில்லை, ஆனால் சிறிது புரிதல் பலனளிக்கும்:
- உங்கள் சொந்தத் தரவைச் சரிபார்க்கலாம். ஒரு குறுகிய query, "இந்த வாரம் எத்தனை புதிய பதிவுகள் வந்தன?" என்று புதிய திரை கட்டுவதை விட வேகமாகப் பதிலளிக்கும்.
- சிறந்த அறிக்கைகளைக் கேட்கலாம். "வருவாயை மாதம் மற்றும் சேவை வாரியாகத் தொகுக்கவும்" என்பது ஒரு SQL கருத்து. அதை அறிந்திருந்தால் உங்கள் கோரிக்கை தெளிவாகும்.
- ஆபத்தான மாற்றங்களைக் கண்டறியலாம்.
WHEREபிரிவு இல்லாதDELETEஅல்லதுUPDATEஒவ்வொரு வரிசையையும் பாதிக்கும். இயங்குவதற்கு முன் அதைப் பிடிப்பது முக்கியம். - உங்கள் தரவு சிக்கிக்கொள்ளாது. SQL ஒரு பகிரப்பட்ட தரநிலை, அதனால் SQL database-இல் உள்ள தரவை பல கருவிகள் நகர்த்தவும் படிக்கவும் முடியும்.
அன்றாட உவமை
மிகவும் ஒழுங்காக அமைக்கப்பட்ட ஒரு நூலகத்தையும், துல்லியமான, எளிய மொழியை மட்டுமே பேசும் ஒரு நூலகரையும் நினையுங்கள்.
நீங்களே அலமாரிகளில் தேடுவதில்லை. நூலகரிடம் ஓர் அட்டையைத் தருகிறீர்கள்: "இந்த ஆசிரியரின் அனைத்துப் புத்தகங்களையும், 2010-க்குப் பிறகு வெளியானவற்றை, புதியவை முதலில் வரும்படி கண்டுபிடியுங்கள்." நூலகருக்குக் கட்டடம் உள் அறை வரை தெரியும்; அவர் அந்தப் புத்தகங்களை அந்த வரிசையிலேயே கொண்டு வருவார்.
SQL என்பது அந்த அட்டையில் உள்ள மொழி. நீங்கள் என்ன வேண்டும் என்று சொல்கிறீர்கள், எப்படி கண்டுபிடிப்பது என்று அல்ல — வேகமான வழியை database தானே கண்டுபிடிக்கிறது.
SQL எப்படி வேலை செய்கிறது: அட்டவணைகள், வரிசைகள், நெடுவரிசைகள்
ஒரு தொடர்புடைய database தரவை அட்டவணைகளில் வைக்கிறது. ஒவ்வொரு அட்டவணையும் ஒரு வகைப் பொருளைக் கொண்டுள்ளது, ஒவ்வொரு வரிசையும் ஒரு பதிவு, ஒவ்வொரு நெடுவரிசையும் ஒரு தகவல் துண்டு:
customers
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lisbon |
| 2 | Sam Patel | sam@example.com | Leeds |
orders
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42.00 | 2026-09-20 |
| 102 | 2 | 18.50 | 2026-09-22 |
| 103 | 1 | 25.00 | 2026-09-27 |
customer_id நெடுவரிசை ஒவ்வொரு ஆர்டரையும் ஒரு வாடிக்கையாளருடன் இணைக்கிறது. அந்த இணைப்புதான் database-ஐ "தொடர்புடையது" ஆக்குகிறது.
ஒரு வேலை செய்த உதாரணம்: உண்மையான கேள்விகளுக்குப் பதில் தேடுவது
1. தரவைப் படித்தல் — "லிஸ்பனில் உள்ள அனைத்து வாடிக்கையாளர்களையும் காட்டு":
SELECT name, email
FROM customers
WHERE city = 'Lisbon';
2. வரிசைப்படுத்தி வரம்பிடுதல் — "சமீபத்திய ஐந்து ஆர்டர்கள்":
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. அட்டவணைகளை இணைத்தல் — "ஒவ்வொரு ஆர்டரும் வாடிக்கையாளரின் பெயருடன்":
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. சுருக்குதல் — "ஒவ்வொரு வாடிக்கையாளரும் செலவிட்ட மொத்தம்":
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
இந்த மாதிரித் தரவுடன், அது Lena Ortiz-க்கு 67.00 என்றும் Sam Patel-க்கு 18.50 என்றும் திருப்பித் தரும்.
5. தரவை மாற்றுதல்:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Porto');
UPDATE customers SET city = 'Porto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
இவை கிட்டத்தட்ட எல்லா ஆப்களின் நான்கு அடிப்படைச் செயல்களுக்கும் பொருந்துகின்றன — உருவாக்கு, படி, மாற்று, நீக்கு — இவை CRUD என்று அழைக்கப்படுகின்றன.
ஒரு எச்சரிக்கை: WHERE பிரிவு இல்லாத UPDATE customers SET city = 'Porto'; ஒவ்வொரு வாடிக்கையாளரையும் மாற்றும். எந்த மாற்றத்தையும் இயக்கும் முன் எப்போதும் WHERE-ஐச் சரிபாருங்கள்.
SQL-இன் முக்கியப் பகுதிகள்
| கட்டளை | அது என்ன செய்கிறது |
|---|---|
SELECT | தரவைப் படிக்கும் |
INSERT | புதிய வரிசைகளைச் சேர்க்கும் |
UPDATE | இருக்கும் வரிசைகளை மாற்றும் |
DELETE | வரிசைகளை நீக்கும் |
CREATE TABLE / ALTER TABLE | அட்டவணையின் கட்டமைப்பை உருவாக்கும் அல்லது மாற்றும் |
WHERE | எந்த வரிசைகள் பாதிக்கப்படும் என்று வடிகட்டும் |
JOIN | தொடர்புடைய அட்டவணைகளை இணைக்கும் |
GROUP BY | வரிசைகளை குழுக்களாகச் சுருக்கும், COUNT, SUM, AVG-உடன் |
ORDER BY / LIMIT | முடிவுகளை வரிசைப்படுத்தி வரம்பிடும் |
SQL தரப்படுத்தப்பட்டது, ஆனால் ஒவ்வொரு database-உம் தனக்கேயுரிய கூடுதல்களைச் சேர்க்கிறது, அதை dialect என்கிறார்கள். Postgres, MySQL, SQLite ஆகியவை மேலே உள்ள எடுத்துக்காட்டுகள் அனைத்தையும் புரிந்துகொள்ளும், தேதி செயல்பாடுகள் போன்ற விவரங்கள் சற்று வேறுபடும்.
முக்கிய சொற்கள்
| சொல் | பொருள் |
|---|---|
| Query | ஒரு SQL அறிக்கை, குறிப்பாக தரவைப் படிக்கும் ஒன்று. |
| அட்டவணை / வரிசை / நெடுவரிசை | ஒரு வகைப் பொருள் / ஒரு பதிவு / ஒரு பண்பு. |
| Primary key | ஒவ்வொரு வரிசையையும் தனித்து அடையாளம் காட்டும் நெடுவரிசை, பொதுவாக id. |
| Foreign key | மற்றொரு அட்டவணையின் வரிசையைச் சுட்டும் நெடுவரிசை, உதாரணமாக customer_id. |
| Index | ஒரு நெடுவரிசையில் தேடலை மிக வேகமாக்கும் தேடல் அமைப்பு. |
| Schema | எல்லா அட்டவணைகள் மற்றும் நெடுவரிசைகளின் கட்டமைப்பு. |
| Transaction | ஒன்றாக வெற்றி பெறும் அல்லது ஒன்றாகத் தோற்கும் மாற்றங்களின் தொகுப்பு. |
| SQL injection | பயனர் உள்ளீடு ஒரு query-க்குள் திருட்டுத்தனமாகச் சேர்க்கப்படும் தாக்குதல். Parameterised queries மூலம் தடுக்கப்படுகிறது. |
பொதுவான தவறான கருத்துகள்
- “SQL ஒரு database.” SQL ஒரு மொழி; Postgres, MySQL, SQLite அந்த மொழியைப் பேசும் databases.
- “SQL பழையது, அதனால் காலாவதியானது.” அது முதிர்ச்சியானது, வழக்கொழிந்தது அல்ல. நவீன databases மற்றும் தரவுக் கருவிகள் இன்னும் அதைப் பயன்படுத்துகின்றன, புதிய பலவும் SQL ஆதரவைச் சேர்க்கின்றன.
- “டெவலப்பர்கள் மட்டுமே SQL பயன்படுத்த முடியும்.” ஆய்வாளர்கள், சந்தைப்படுத்துபவர்கள், நிறுவனர்கள் எளிய queries-ஐ தினமும் பயன்படுத்துகிறார்கள்.
- “SQL நெகிழ்வான தரவைக் கையாள முடியாது.” பல SQL databases JSON-ஐயும் சேமிக்கின்றன. உதாரணமாக Postgres-இல்
jsonbவகை உண்டு. SQL எதிராக NoSQL பாருங்கள். - “நேரடி தரவில் AI எந்த SQL-ஐயும் இயக்குவது சரியே.” வாசிப்புகள் குறைந்த ஆபத்துள்ளவை; நேரடி தரவில் மாற்றங்களும் நீக்கங்களும் காப்புப் பிரதியும் இரண்டாவது பார்வையும் தேவை. உங்கள் ஆப் database-இன் காப்புப் பிரதி எடுப்பது எப்படி பாருங்கள்.
உங்கள் AI builder-இடம் என்ன கேட்பது
- “என் database-இல் உள்ள அட்டவணைகளையும் ஒவ்வொரு நெடுவரிசையின் பொருளையும் காட்டுங்கள்.”
- “படிக்க மட்டும் ஒரு query எழுதுங்கள்: கடந்த 30 நாட்களில் ஒவ்வொரு நாளும் எத்தனை புதிய பதிவுகள்?”
- “எந்த UPDATE அல்லது DELETE-ஐயும் இயக்கும் முன், அந்த query-ஐயும் அது எத்தனை வரிசைகளைப் பாதிக்கும் என்பதையும் காட்டுங்கள்.”
- “நாம் அடிக்கடி வடிகட்டும், வரிசைப்படுத்தும் நெடுவரிசைகளில் indexes சேர்க்கவும்.”
- “பயனர் உள்ளீட்டைப் பயன்படுத்தும் ஒவ்வொரு query-உம் parameterised ஆக இருப்பதை உறுதி செய்யுங்கள்.”
- “ஆர்டர் மற்றும் பணம் செலுத்தல் புதுப்பிப்புகளை ஒரு transaction-இல் சுற்றுங்கள், பாதியில் மட்டும் வெற்றி பெறாமல் இருக்க.”
Mythex-இல் SQL
உங்கள் ஆப்புக்குத் தரவைச் சேமிக்க வேண்டியிருக்கும்போது, Mythex திட்டத்தில் ஒரு பிரத்யேக Postgres database-ஐச் சேர்க்கிறது — அரட்டையில் கேளுங்கள், உதாரணமாக "காத்திருப்புப் பட்டியல் மின்னஞ்சல்களை database-இல் சேமி", அல்லது /database கட்டளையைப் பயன்படுத்துங்கள் (Database). Agent அட்டவணைகளை உருவாக்கி queries-ஐ எழுதுகிறது, எந்த query-ஐயும் எளிய ஆங்கிலத்தில் விளக்குமாறு Ask முறையில் கேட்கலாம். Database பற்றி மேலும் அறிய, Postgres என்றால் என்ன படியுங்கள்.
கேள்விகள்
எளிய சொற்களில் SQL என்றால் என்ன?
SQL (Structured Query Language) என்பது தொடர்புடைய (relational) databases-உடன் வேலை செய்வதற்கான நிலையான மொழி. ‘இந்த வாரம் எத்தனை ஆர்டர்கள் வந்தன’ போன்ற கேள்விகளை உங்கள் தரவிடம் கேட்கவும், பதிவுகளைச் சேர்க்கவும், மாற்றவும், நீக்கவும் அதைப் பயன்படுத்துகிறீர்கள்.
SQL-ஐ எப்படி உச்சரிப்பது?
‘S-Q-L’ (எழுத்துகளைத் தனித்தனியாகச் சொல்வது) மற்றும் ‘sequel’ ஆகிய இரண்டும் பொதுவானவையும் சரியானவையும். அந்த மொழி முதலில் SEQUEL என்று அழைக்கப்பட்டது; இரண்டாவது உச்சரிப்பு அங்கிருந்து வருகிறது.
SQL ஒரு நிரலாக்க மொழியா?
SQL தரவை நிர்வகிக்க வடிவமைக்கப்பட்ட ஒரு query மொழி. நீங்கள் எந்த முடிவு வேண்டும் என்று விவரிக்கிறீர்கள், அதை எப்படிப் பெறுவது என்பதை database கண்டுபிடிக்கிறது. அது தனியாக முழு ஆப்களை உருவாக்கப் பயன்படுவதில்லை, ஆனால் தொடர்புடைய database-ஐப் பயன்படுத்தும் ஏறக்குறைய ஒவ்வொரு ஆப்பிலும் அதுவும் ஒரு பகுதி.
SQL கற்றுக்கொள்வது கடினமா?
அடிப்படைகள் எளிதானவை: SELECT, WHERE, ORDER BY, INSERT, UPDATE, DELETE ஆகியவை பெரும்பாலான அன்றாடத் தேவைகளை நிறைவேற்றும், கிட்டத்தட்ட ஆங்கிலம் போலவே படிக்கப்படும். Joins, grouping, செயல்திறன் சரிசெய்தல் தேர்ச்சி பெற அதிக நேரம் ஆகும்.
AI உடன் ஆப் உருவாக்க SQL தெரிய வேண்டுமா?
இல்லை. AI builder உங்களுக்காக SQL அல்லது database code எழுதுகிறது. சிறிது தெரிந்திருந்தால், உங்கள் தரவைச் சரிபார்க்கவும், அறிக்கைகள் கேட்கவும், ஆபத்தான மாற்றங்கள் நடப்பதற்கு முன் கண்டறியவும் உதவும்.