Theory
ત્રણ કામ, ત્રણ પરિવાર
Meera હમણાં ખરેખર SQL ચલાવવાની છે. પણ SQL માં ડઝનબંધ commands છે, અને એમને એક સપાટ list તરીકે તમારા પર ફેંકવા એ જ છે જેમાં students ડૂબે છે.
એમને જોવાની એક સાફ રીત છે: દરેક SQL command ત્રણ કામ માંથી એક કરે છે, structure define કરવું, data બદલવો, કે સવાલ પૂછવો. ત્રણ પરિવાર: DDL, DML, DQL.
અને અંદર છુપાયેલ છે subject નો સૌથી ખતરનાક exam ફાંદો: ત્રણ commands જે બધા 'delete' કરે છે પણ ખૂબ અલગ માત્રા કાઢે છે. પહેલા પરિવારો છાંટો; ફાંદો સાફ દેખાવા લાગે છે.
Theory
એક ઘર બનાવવું, સજાવવું, તપાસવું
એક ઘર પર ત્રણ અલગ કામ. structure, દીવાલો, ઓરડા બનાવવા કે ફરી બનાવવા: એ DDL છે (CREATE, ALTER, DROP). ફર્નિચર અંદર-બહાર કરવું, અંદર શું છે એ બદલવું: એ DML છે (INSERT, UPDATE, DELETE). ફરીને જોવું કે શું છે: એ DQL છે (SELECT). structure, સામાન, તપાસ, દરેક SQL command આ ત્રણ માંથી એક છે.
At a glance
ત્રણ SQL પરિવાર
| પરિવાર | કામ | Commands |
|---|---|---|
| DDL | Structure define/બદલવું | CREATE, ALTER, DROP, TRUNCATE, RENAME |
| DML | Data બદલવો | INSERT, UPDATE, DELETE |
| DQL | સવાલ પૂછવો | SELECT |
Practical
Build it, fill it, query it
-- DDL: define the structure
CREATE TABLE sales (
id INT,
item VARCHAR(30),
category VARCHAR(20),
price INT,
qty INT
);
-- DML: put data in and change it
INSERT INTO sales VALUES (1, 'Sugar', 'Grocery', 45, 20);
UPDATE sales SET price = 50 WHERE item = 'Sugar';
DELETE FROM sales WHERE item = 'Sugar';
-- DQL: ask a question
SELECT * FROM sales;This example runs in Gri-Learn on the web, where you can edit it and see the output.
Theory
ત્રણ 'deletes', સરખામણીમાં
આ exam નો પ્રિય ફાંદો છે. ત્રણ commands વસ્તુઓ કાઢે છે, ત્રણ અલગ પાયે:
- DELETE (DML): પસંદ કરેલી rows કાઢે છે (
DELETE FROM sales WHERE item='Sugar'), કે બધી rows જો કોઈ WHERE ન હોય. table રહે છે; rollback થઈ શકે. - TRUNCATE (DDL): બધી rows એકસાથે કાઢે છે પણ ખાલી table રાખે છે. ઝડપી, અને સામાન્ય રીતે filter કે સહેલાઈથી undo ન થઈ શકે.
- DROP (DDL): આખું table કાઢે છે, structure અને data, સંપૂર્ણપણે ગાયબ.
પાયો: DELETE (કેટલીક rows) < TRUNCATE (બધી rows, table રાખો) < DROP (table પોતે).
Quiz
Meera એના sales table ની બધી rows ખાલી કરવા માંગે છે પણ table રાખવા માંગે છે જેથી એ કાલે ફરી ભરી શકે. કયો command, અને DROP કેમ નહીં?
- TRUNCATE, એ બધી rows કાઢે છે પણ ખાલી table structure રાખે છે
- DROP, એ table રાખે છે
- એક વખતે ફક્ત એક row DELETE
- ALTER, data કાઢવા
Show the answer
TRUNCATE, એ બધી rows કાઢે છે પણ ખાલી table structure રાખે છે
TRUNCATE દરેક row ખાલી કરે છે પણ table structure અકબંધ છોડે છે, ફરી ભરવા તૈયાર, અને બધું સાફ કરવા એ DELETE કરતાં ઝડપી છે. DROP table ને પોતાને જ નષ્ટ કરી દેત (structure અને બધું), તો કાલે ફરી ભરવા કંઈ ન હોત. આ DELETE-વિરુદ્ધ-TRUNCATE-વિરુદ્ધ-DROP ભેદ એકલો સૌથી વધુ પૂછાતી SQL સરખામણી છે, ત્રણેય પાયા શીખો.
Think first
દરેક કયો પરિવાર છે?
એમને DDL, DML, કે DQL માં છાંટો: SELECT, CREATE, UPDATE, DROP, INSERT. reveal પહેલા આ તમારા મનમાં કરો.
Show the answer
DDL (structure): CREATE, DROP. DML (data): UPDATE, INSERT. DQL (query): SELECT.
ઝડપી કસોટી: શું એ table નો આકાર અડે છે (DDL), અંદરની rows (DML), કે ફક્ત એમને વાંચે છે (DQL)? CREATE અને DROP આકાર બદલે છે; INSERT અને UPDATE સામાન બદલે છે; SELECT ફક્ત જુએ છે. commands ને ત્રણ પરિવારોમાં વર્ગીકૃત કરવું એ એક પ્રમાણભૂત એક-માર્ક-દરેક exam સવાલ છે.
Watch out
Marks ક્યાં કપાય છે
મોટો ફાંદો: DELETE (rows, filterable, DML) વિરુદ્ધ TRUNCATE (બધી rows, table રાખો, DDL) વિરુદ્ધ DROP (આખું table ગાયબ, DDL). commands ને ખોટા file કરવા: INSERT/UPDATE/DELETE DML છે, DDL નહીં; CREATE/ALTER/DROP/TRUNCATE DDL છે; SELECT DQL છે. અને નોંધો ALTER structure બદલે છે (એક column ઉમેરવો), એ data નથી બદલતો. દરેક command નો પરિવાર સાચો કરવો એ સહેલા marks છે જો તમે ત્રણ કામ શીખ્યા હો.
Theory
SELECT એ છે જ્યાં તમે રહેશો
આ બધામાં, SELECT એ છે જે તમે દસ હજાર વાર લખશો, data ને સવાલો પૂછવા એ દરેક analyst અને backend developer નું રોજનું કામ છે. બાકીનો આખો Unit 4 લગભગ સંપૂર્ણપણે SELECT ને શક્તિશાળી બનાવવા વિશે છે: WHERE થી filtering, sorting, grouping, conditions જોડવા, અને summarising. આગળનો lesson: WHERE clause અને એના operators, બરાબર એ જ rows માંગવી જે તમે ઇચ્છો છો.
Summary
Key takeaways
- SQL commands કામ પ્રમાણે ત્રણ પરિવારોમાં આવે છે.
- DDL structure define/બદલે છે: CREATE, ALTER, DROP, TRUNCATE, RENAME.
- DML data બદલે છે: INSERT (ઉમેરો), UPDATE (બદલો), DELETE (rows કાઢો).
- DQL સવાલ પૂછે છે: SELECT.
- DELETE પસંદ કરેલી rows કાઢે છે (table રાખો); TRUNCATE બધી rows કાઢે છે (ખાલી table રાખો); DROP આખું table કાઢે છે.
- યાદ રાખવાની યુક્તિ: ઘર બનાવો (DDL), ફર્નિચર ખસેડો (DML), એને તપાસો (DQL).