ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 8 · 4లో పాఠం 1కోర్సులో 29/57~10 min
మాడ్యూల్ పాఠాలు (1/4)

డేటాను చొప్పించడం: INSERT

ఇప్పటివరకు మీరు డేటా చదువుతున్నారు. ఇది కొన్ని వ్రాయడానికి సమయం. INSERT ఉంది పట్టికకు కొత్త అడ్డు వరుసలను జోడించే ఆదేశం.

ప్రాథమిక వాక్యనిర్మాణం

SQL
INSERT INTO tabella (col1, col2, …)
VALUES (val1, val2, …);

మా డేటాసెట్‌లో ఉదాహరణ:

SQL
INSERT INTO customers (first_name, last_name, email, city, country, signed_up_on)
VALUES ('Marco', 'Bianchi', 'marco.bianchi@example.com', 'Verona', 'Italia', '2025-07-15');

నిలువులకు పేరు పెట్టడం సిఫార్సు చేయబడిన పద్ధతి: ఇది ప్రశ్నను చేస్తుంది భవిష్యత్ స్కీమా మార్పులకు వ్యతిరేకంగా బలమైనది (ఉదా. కొత్త ఐచ్ఛికం phone నిలువు వరుస దేనినీ విచ్ఛిన్నం చేయదు) మరియు స్వీయ-డాక్యుమెంటింగ్.

బహుళ వరుస ఇన్సర్ట్

ఒకే స్టేట్‌మెంట్, బహుళ అడ్డు వరుసలు — N వేరు కంటే చాలా వేగంగా INSERTs:

SQL
INSERT INTO categories (name, parent_id) VALUES
  ('Gaming',         1),
  ('Smart Home',     1),
  ('Cucina vegana',  8);

తిరిగి రావడం: మీరు ఇప్పుడే చొప్పించిన విలువలను చదవడం

PostgreSQL యొక్క నిబంధన లక్షణం: RETURNING ఆ అడ్డు వరుసలను అందిస్తుంది ఇప్పుడే సృష్టించబడ్డాయి. స్వయంచాలకంగా రూపొందించబడిన idని తిరిగి పొందడానికి చాలా సులభమైనది:

SQL
INSERT INTO categories (name, parent_id)
VALUES ('Gaming', 1)
RETURNING id, name;

అవుట్‌పుట్ id (SERIAL ద్వారా కేటాయించబడింది)తో ఒక-వరుస పట్టిక మరియు name.

నిలువు వరుస తప్పిపోయినట్లయితే ఏమి జరుగుతుంది

మీరు INSERTలో నిలువు వరుసను వదిలివేస్తే:

  • అది NOT NULL అయితే ** డిఫాల్ట్ లేకుండా** → లోపం;
  • దానికి DEFAULT (ఐడి కోసం SERIALతో సహా) → ఉంటే అది ఉపయోగించబడుతుంది;
  • అది NULL →ని అంగీకరిస్తే NULL అవుతుంది.
SQL
-- Va bene: id è SERIAL (auto), country ha NOT NULL ma forniamo tutti i campi
INSERT INTO customers (first_name, last_name, email, city, country, signed_up_on)
VALUES ('Olivia', 'Marini', 'olivia.marini@example.com', 'Bari', 'Italia', '2025-07-20');

-- Errore: first_name è NOT NULL e non è fornito
INSERT INTO customers (last_name, email, city, country, signed_up_on)
VALUES ('Marini', 'olivia.marini@example.com', 'Bari', 'Italia', '2025-07-20');

మీ వంతు

వ్యాయామం#sql.m8.l1.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

మొదటి_పేరు 'మార్కో', చివరి_పేరు 'బియాంచి', ఇమెయిల్ 'marco.bianchi@example.com', నగరం 'వెరోనా', దేశం 'ఇటాలియా' మరియు '2025-07-15'లో సైన్ చేసిన_అప్‌తో కస్టమర్‌ల పట్టికలో కొత్త కస్టమర్‌ని చేర్చండి. అన్ని నిలువు వరుసలకు స్పష్టంగా పేరు పెట్టండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

VALUESలోని విలువల క్రమం తప్పనిసరిగా మీరు పేర్కొన్న నిలువు వరుసల క్రమానికి సరిపోలాలి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#sql.m8.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

'Elettronica' (id = 1) పిల్లల వలె కొత్త 'గేమింగ్' వర్గాన్ని చొప్పించండి. కొత్తగా సృష్టించబడిన వర్గం యొక్క id మరియు పేరును తిరిగి ఇవ్వడానికి రిటర్నింగ్ నిబంధనను ఉపయోగించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

రిటర్నింగ్ అనేది SELECT వంటి నిలువు వరుసల జాబితాను (లేదా '*') అంగీకరిస్తుంది.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది