Shanraq.org Shanraq.org
INSERT және параметрлер: шығынды қауіпсіз қосу
IT

INSERT және параметрлер: шығынды қауіпсіз қосу

Операцияларды бір-бірден және топпен қосып, пайдаланушы мәнін SQL кодынан бөлеміз.

Бұл не үшін қажет

O’Reilly кітабы сияқты ескертпеде апостроф бар. Жолдарды қосу сұрауды бұзады, ал зиянды енгізу оның мағынасын өзгертуі мүмкін; параметр мәнді бөлек жеткізеді.

Бейне. Сұрау — дайын бланк, параметрлер — оның ұяшықтарындағы мәндер; мән бланкіге жаңа команда қоса алмайды.

Алдымен тұтас көрініс

INSERT INTO transactions
    (account_id, category_id, happened_on, amount_tiyn, note)
VALUES
    (1, 2, '2026-09-15', 735000, 'Groceries');

Талдау

INSERT бағандарын әрқашан атаңыз: кестедегі орын тәртібі мағынаны өзгертпейді. Параметр мәнді ғана алмастырады, кесте мен баған атауын алмастырмайды. Идентификаторларды қолданба рұқсат еткен тізімнен таңдаңыз. INSERT OR REPLACE алдымен қайшы жолды өшіреді; саналы жаңарту үшін UPDATE немесе нақты ON CONFLICT қолданыңыз.

Сабақ картасы

INSERT және параметрлер

Өз сөзіңізбен айтыңыз

  1. Бағандарды неге ашық жазамыз?
  2. Параметр нені алмастыра алады?
  3. SQL жолдарын біріктіру неліктен қауіпті?

Тапсырма

16 қыркүйекте Card шотынан Transport санатына 3 200,50 теңге шығын қосыңыз; соманы алдын ала тиынға айналдырыңыз.

Жобадағы орны

seed.sql қайталанатын ойдан алынған тарих жасайды; қолданба параметрлер мен транзакцияны пайдаланады.

Жауаптар

Жауаптарды көрсету
db.execute(
    """INSERT INTO transactions
       (account_id, category_id, happened_on, amount_tiyn, note)
       VALUES (?, ?, ?, ?, ?)""",
    (1, 2, "2026-09-15", 735000, "O'Reilly кітабы"),
)
INSERT INTO transactions
    (account_id, category_id, happened_on, amount_tiyn, note)
VALUES (1, 4, '2026-09-16', 320050, 'Transport');

Дереккөздер

Мәтінде қате не теру қатесі кездессе, бізге айтыңыз

Тапсырманы тексеру

Алдымен VS Code-та шешіп, іске қосыңыз — редактор қатені сол жерде көрсетеді. Дайын шешімді осында қойыңыз. Тексеретін — модель: ол қатені атап көрсетеді, бірақ дайын жауапты бермейді.

Тексеру үшін кіру керек. Кіру

Пікірлер (0)

Әзірге пікір жоқ. Бірінші болыңыз.