SQL 및 ActiveRecord
5261 단어 SQLActiveRecord
이 쿼리 인터페이스는 간단한 설명으로 데이터베이스 조작 언어인 SQL을 발행해 주는 Rails 독자적인 기법입니다.
SQL과 ActiveRecord의 쿼리 인터페이스 각각에서 데이터를 얻는다.
아래와 같은 테이블이 존재하고, 특정의 id열의 데이터만을 취득하고 싶은 경우.
※화상에서는 「description」이라고 하는 항목이 되고 있습니다만, 강좌내에서는 「memo_text」라고 하는 항목이 되고 있습니다.
SQL의 경우
SELECT
*
FROM
memos
WHERE
id = 1
LIMIT 1; /*id: 1, title: "買い物", memo_text: "牛乳"のレコードが一件取得できる。*/
쿼리 인터페이스를 사용하는 경우.
Memo.find(1)
#find(id)メソッドは指定したidでテーブルデータを取得できる。
id 이외의 항목 (title 등)으로 검색
SQL의 경우
SELECT
*
FROM
memos
WHERE
title = "買い物"
LIMIT 1;
쿼리 인터페이스를 사용하는 경우.
Memo.find_by(title: "買い物")
#find_by(項目名: 検索値)メソッドは指定したidでテーブルデータを取得できる。
조건에 일치하는 데이터를 복수 취득하고 싶은 경우.
SQL의 경우
SELECT
*
FROM
memos
WHERE
id = 1;
쿼리 인터페이스를 사용하는 경우.
Memo.where(id: 1)
#where(項目名: 検索値)メソッドは指定したidでテーブルデータを取得できる。
테이블에 데이터를 등록합니다.
SQL의 경우
INSERT INTO
memos
(
id,
title,
memo_text
)
VALUES
(
1,
"買い物",
"じゃがいも、豚肉、カレールウ"
)
쿼리 인터페이스를 사용하는 경우.
Memo.create(id: 1, title: "買い物", memo_text: "じゃがいも、豚肉、カレールウ")
테이블의 데이터를 업데이트합니다.
SQL의 경우
UPDATE
memos
SET
title = "買い物内容変更" /*変更する項目 = 値 */
WHERE
id = 1; /*対象の条件*/
쿼리 인터페이스를 사용하는 경우.
Memo.where(id: 1).update(title: "買い物内容変更")
#idで検索を行なってから更新をしていることに注意。
테이블의 데이터 삭제
DELETE
FROM
memos
WHERE
id = 1; /*対象の条件*/
쿼리 인터페이스를 사용하는 경우.
Memo.where(id: 1).delete_all
#idで検索を行なってから削除をしていることに注意。
#クエリインターフェースで削除する場合は1対多の関連するレコードを削除するdestroy_allなどもある。
Reference
이 문제에 관하여(SQL 및 ActiveRecord), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiroakiito/items/474f7d00cde4692bd8a2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SELECT
*
FROM
memos
WHERE
id = 1
LIMIT 1; /*id: 1, title: "買い物", memo_text: "牛乳"のレコードが一件取得できる。*/
Memo.find(1)
#find(id)メソッドは指定したidでテーブルデータを取得できる。
SELECT
*
FROM
memos
WHERE
title = "買い物"
LIMIT 1;
Memo.find_by(title: "買い物")
#find_by(項目名: 検索値)メソッドは指定したidでテーブルデータを取得できる。
SELECT
*
FROM
memos
WHERE
id = 1;
Memo.where(id: 1)
#where(項目名: 検索値)メソッドは指定したidでテーブルデータを取得できる。
SQL의 경우
INSERT INTO
memos
(
id,
title,
memo_text
)
VALUES
(
1,
"買い物",
"じゃがいも、豚肉、カレールウ"
)
쿼리 인터페이스를 사용하는 경우.
Memo.create(id: 1, title: "買い物", memo_text: "じゃがいも、豚肉、カレールウ")
테이블의 데이터를 업데이트합니다.
SQL의 경우
UPDATE
memos
SET
title = "買い物内容変更" /*変更する項目 = 値 */
WHERE
id = 1; /*対象の条件*/
쿼리 인터페이스를 사용하는 경우.
Memo.where(id: 1).update(title: "買い物内容変更")
#idで検索を行なってから更新をしていることに注意。
테이블의 데이터 삭제
DELETE
FROM
memos
WHERE
id = 1; /*対象の条件*/
쿼리 인터페이스를 사용하는 경우.
Memo.where(id: 1).delete_all
#idで検索を行なってから削除をしていることに注意。
#クエリインターフェースで削除する場合は1対多の関連するレコードを削除するdestroy_allなどもある。
Reference
이 문제에 관하여(SQL 및 ActiveRecord), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiroakiito/items/474f7d00cde4692bd8a2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)