레코드 저장하고 읽기
생성과 읽기 흐름을 연결해 보세요.
레코드 저장하고 읽기은(는) CoddyKit의 무료 Vibe Coding 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Vibe Coding 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Vibe Coding 강의에는 총 4개의 강의가 포함되어 있습니다.
이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.
The Four Core Actions
Almost everything an app does with data is one of four actions: Create, Read, Update, and Delete. Together they're called CRUD.
Once your tables exist, you'll ask the AI to write code for each of these, often one feature at a time.
Saving a New Record
To store something new, you insert a row into a table. The app collects the values, then writes them into the database.
Describe the data and the table, and let the AI generate the save function with the right fields filled in.
Write a function that saves a new task to the "tasks" table.
It should take a title and a due date, and return the newly created task's id.Reading Records Back
Reading means fetching rows out of the database. You might want all of them, or just the ones that match a condition.
Be clear about what you want back and in what order, so the AI writes a query that returns exactly the right rows.
Write a query that reads all tasks for a given user id,
sorted by due date with the soonest first.Filtering With Conditions
Often you don't want every row, just the matching ones. Filtering uses conditions like "where status is open" or "where created after Monday."
State the filter plainly and the AI turns it into the proper query, whether that's SQL or an ORM call.
Read only the tasks that are not completed and are due within the next 7 days.
Return the title and due date for each.Updating a Record
To change existing data, you update a row by finding it (usually by id) and setting new values.
Always tell the AI how to identify the right row, so the update touches only that record and not the whole table.
Write a function that marks a task as completed.
It takes a task id and sets the completed flag to true for only that row.Deleting Carefully
Deleting removes a row for good. It's powerful and easy to get wrong, so be precise about which row.
Many apps prefer a "soft delete," flipping an is_deleted flag instead of truly removing the data. Ask the AI which fits your case.
I want to delete a task by id, but keep it recoverable.
Implement a soft delete using an is_deleted flag instead of removing the row.Never Trust Raw Input
Data from users can be messy or even malicious. Inserting it directly into a query can cause errors or security holes like SQL injection.
Modern tools handle this with parameterized queries. Remind the AI to use safe, parameterized inserts rather than gluing strings together.
When you write database code for this app,
always use parameterized queries so user input can't cause SQL injection.Handling the Empty Case
What happens when a read finds nothing? A search with no matches should show "no results," not crash.
Ask the AI to handle the empty case so your app behaves gracefully when the database returns zero rows.
Update the task-reading function so that when no tasks match,
it returns an empty list and the UI shows a friendly "nothing here yet" message.Reads Should Be Fast
As tables grow, reads can slow down. An index is like a book's index: it helps the database find rows quickly.
If a frequent query feels slow, ask the AI whether adding an index on the filtered column would help.
My query that filters tasks by user_id is getting slow.
Would an index on user_id help, and if so, generate the migration to add it.Testing Your CRUD
Before trusting your data layer, test it. Save a record, read it back, update it, then delete it, and confirm each step worked.
You can ask the AI to write these tests so future changes don't quietly break saving or reading.
Write tests that create a task, read it back, update its title, then delete it,
checking the database state is correct after each step.Tying It Together
With CRUD in place, your app finally remembers. Users create data, see it again, change it, and remove it, all backed by your database.
From here, every new feature is just another combination of saving and reading records.
Quick Check
Test your understanding of saving and reading records.
Recap
CRUD covers Create, Read, Update, and Delete: the four core data actions. You learned to save rows, read and filter them, update by id, and delete carefully, often with a soft delete.
Always use parameterized queries, handle empty results, index slow reads, and test your data layer. You can now add a working database to your AI app.
AI 튜터와 함께 JavaScript을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 25
- 레슨
- 100
자주 묻는 질문
“레코드 저장하고 읽기” 강의는 무료인가요?
네 — “레코드 저장하고 읽기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Vibe Coding 강의 전체를 잠금 해제할 수 있습니다. Vibe Coding 강의에는 총 4개의 강의가 포함되어 있습니다.
“레코드 저장하고 읽기”에서 뭘 배우나요?
생성과 읽기 흐름을 연결해 보세요. 브라우저에서 직접 실행하는 실습 코드로 Vibe Coding을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Vibe Coding을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Vibe Coding은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“레코드 저장하고 읽기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Vibe Coding 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Vibe Coding 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.