목차
RAW SELECT Queries에 DB::select() 사용합니다
RAW 업데이트 쿼리에 DB::update() 사용합니다
RAW 삽입 쿼리에 DB::insert() 사용합니다
RAW 삭제 쿼리에는 DB::delete() 사용합니다
schema 또는 비 선택적 쿼리에 DB::statement() 사용합니다
Query Query Builder에서 원시 표현 사용 (안전한 대안)
DB::unprepared() 사용 (권장되지 않음)
일반적인 방법의 요약
PHP 프레임워크 Laravel Laravel Raw SQL 쿼리 예제

Laravel Raw SQL 쿼리 예제

Jul 29, 2025 am 02:59 AM
java 프로그램 작성

Laravel은 기본 SQL 쿼리를 지원하지만 안전을 보장하기 위해 매개 변수 바인딩을 선호해야합니다. 1. DB :: SELECT ()를 사용하여 SQL 주입을 방지하기 위해 매개 변수 바인딩으로 선택 쿼리를 실행합니다. 2. DB :: Update ()를 사용하여 업데이트 작업을 수행하고 영향을받는 행 수를 반환합니다. 3. db :: insert ()를 사용하여 데이터를 삽입하십시오. 4. db :: delete ()를 사용하여 데이터를 삭제합니다. 5. db :: statement ()를 사용하여 생성, Alter 등과 같은 결과 세트없이 SQL 문을 실행하십시오. 6. 쿼리 빌더의 whereraw, selectraw 및 기타 방법을 사용하여 기본 표현식을 결합하여 보안을 개선하는 것이 좋습니다. 7. DB :: 비공개 준비 ()를 사용하여 사용자 입력을 처리하지 않으면 신뢰할 수있는 내부 작업에만 사용됩니다. 요컨대, 기본 SQL을 사용할 수 있지만 매개 변수 바인딩을 통해 보안을 보장해야하며보다 안전한 쿼리 빌더 확장 방법이 선호됩니다.

Laravel Raw SQL 쿼리 예제

Laravel에서는 Eloquent ORM과 쿼리 빌더가 일반적으로 사용되지만 복잡한 작업 또는 성능 최적화를 위해 원시 SQL 쿼리를 작성 해야하는 경우가 있습니다. Laravel은 원시 SQL을 안전하고 효과적으로 실행하는 몇 가지 방법을 제공합니다.

Laravel Raw SQL 쿼리 예제

Laravel에서 RAW SQL을 사용하는 실질적인 예는 다음과 같습니다.


RAW SELECT Queries에 DB::select() 사용합니다

 Illuminate \ support \ Facades \ db를 사용하십시오.

$ user = db :: select ( 'select * on where age>?', [18]);
  • 첫 번째 매개 변수는 원시 SQL입니다.
  • 두 번째는 바인딩 배열입니다 (SQL 주입을 방지하기 위해).
  • stdClass 객체의 배열을 반환합니다.

? 참고 : 변수를 직접 연결하는 대신 항상 매개 변수 바인딩 ( [18] )를 사용하십시오.

Laravel Raw SQL 쿼리 예제

RAW 업데이트 쿼리에 DB::update() 사용합니다

 $ plefected = db :: update ( '업데이트 사용자가 투표를 설정합니다 =?
  • 영향을받는 행의 수를 반환합니다.

RAW 삽입 쿼리에 DB::insert() 사용합니다

 DB :: 삽입 ( '사용자에 삽입 (이름, 이메일, 연령) 값 (?,?,?)', [
    'Jane Doe',
    'jane@example.com',
    25
]);

RAW 삭제 쿼리에는 DB::delete() 사용합니다

 $ deleted = db :: delete ( &#39;Age <?&#39;, [18]의 사용자에서 삭제);

schema 또는 비 선택적 쿼리에 DB::statement() 사용합니다

결과를 반환하지 않는 RAW SQL에는이를 사용하십시오 (예 : CREATE , ALTER , DROP ) :

 db :: stater ( &#39;&#39;존재하지 않으면 테이블 작성 temp_users (id int auto_increment 기본 키, name varchar (255));

Query Query Builder에서 원시 표현 사용 (안전한 대안)

완전한 원시 쿼리 대신 필요한 경우 원시 표현을 주입 할 수 있습니다.

Laravel Raw SQL 쿼리 예제
 $ user = db :: 테이블 ( &#39;사용자&#39;)
    -> whereraw ( &#39;age>? and status =?&#39;, [18, &#39;active&#39;])))
    -> selectraw ( &#39;id, name, updated_at, (Age * 2) as doubled_age&#39;)
    -> get ();

또는 원시 표현으로 주문 :

 -> OrderByraw ( &#39;이름 asc, create_at desc&#39;)

DB::unprepared() 사용 (권장되지 않음)

이것은 바인딩없이 RAW SQL을 실행합니다. 사용자 입력이 관련되면 위험합니다 .

 DB :: 준비되지 않은 ( &#39;Drop Table Users_backup&#39;);

⚠️ 신뢰할 수있는 내부 작업 (예 : 마이그레이션, 설정 스크립트)에만 사용됩니다.


일반적인 방법의 요약

방법 유스 케이스
DB::select() 원시 선택 쿼리
DB::update() 원시 업데이트 쿼리
DB::insert() 원시 삽입 쿼리
DB::delete() 원시 삭제 쿼리
DB::statement() 스키마 또는 DDL 쿼리
DB::unprepared() 안전하지 않음 - 동적 입력으로 피하십시오

웅변적인 모델 내에서 일하거나 유연성이 더 필요한 경우 전체 원시 쿼리 대신 원시 표현식 ( whereRaw , selectRaw 등)을 사용하는 것을 고려하십시오. 그들은 더 안전하고 Laravel의 생태계와 더 잘 통합됩니다.

기본적으로 RAW SQL은 지원되지만 항상 매개 변수 바인딩 우선 순위를 정하고 사용자 데이터로 unprepared 피하십시오.

위 내용은 Laravel Raw SQL 쿼리 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 튜토리얼
1594
276
현재 NVIDIA GPU에 첨부 된 디스플레이를 사용하고 있지 않습니다 [고정]. 현재 NVIDIA GPU에 첨부 된 디스플레이를 사용하고 있지 않습니다 [고정]. Aug 19, 2025 am 12:12 AM

ifyousee "YourEnotusingAdisplayAttachedToannvidiagpu,"YourMonitorIsConnectedTothenVidiagpupport, configuredisplaysettingsinnvidiacontrolpanel, updatedRiversUsingDduandcleanInstall, 및 setTheprestOdcreteinbios/uefi

예제와 함께 일반적인 Java 디자인 패턴을 탐색합니다 예제와 함께 일반적인 Java 디자인 패턴을 탐색합니다 Aug 17, 2025 am 11:54 AM

Java 디자인 패턴은 일반적인 소프트웨어 설계 문제에 대한 재사용 가능한 솔루션입니다. 1. 싱글 톤 모드는 클래스의 인스턴스가 하나 뿐이며 데이터베이스 연결 풀링 또는 구성 관리에 적합합니다. 2. 공장 모드는 객체 생성을 분해하고 지불 방법과 같은 객체는 공장 클래스를 통해 생성됩니다. 3. 관찰자 모드는 날씨 업데이트와 같은 이벤트 중심 시스템에 적합한 종속 객체를 자동으로 알립니다. 4. 정렬 전략과 같은 전략 모드의 동적 스위칭 알고리즘은 코드 유연성을 향상시킵니다. 이러한 패턴은 코드 유지 관리 및 확장 성을 향상 시키지만 과도한 사용을 피해야합니다.

자바의 교착 상태는 무엇이며 어떻게 막을 수 있습니까? 자바의 교착 상태는 무엇이며 어떻게 막을 수 있습니까? Aug 23, 2025 pm 12:55 PM

Adeadlockinjavaoccurswhentwoormorethreadsareblockedsforever,, 일반적으로, 일반적으로 duetocircularwaitcausedbyinconsentlockordering; thiscanbeptrededbectedbectedbectedbectedbectedbectefeartefournecessaryconditions —MutualExclusion, holdandwait, nopualwait, nopualclusion, nopualclusion

Java에서 선택 사항을 사용하는 방법은 무엇입니까? Java에서 선택 사항을 사용하는 방법은 무엇입니까? Aug 22, 2025 am 10:27 AM

useOptional.empty (), 옵션.의 (), andoptional.ofnullable () theCreateOptionalInstancesDependingOnsabsent, non-null, orpossiblynull.2.checkforvaluessafelyusingispresent () orpreferlyinglioid () toaviDIDHECK.3

PS 유일 페인트 필터 회색 수정 PS 유일 페인트 필터 회색 수정 Aug 18, 2025 am 01:25 AM

theoilpaintfilterinphotoshopisgreyedoutus는 compatibledocumentoRlayertype를 incizeofindphotoshopcs6orlaterinthefulldesktopversion을 보장하고, mode 및 mouctipixureapioreapeLay ray를 확인합니다

Micronaut로 구름 신용 Java 응용 프로그램 구축 Micronaut로 구름 신용 Java 응용 프로그램 구축 Aug 20, 2025 am 01:53 AM

micronautisidealforbuildingcloud-nativejavaapplicationsduetoitslowmemoryfootprint, faststartuptimes 및 compile-timedectional encection, mateituperiortotraditionalframslikespringbootformicroservices, andserverlessenvonderments.1.microna

고정 : Windows는 '필요한 권한은 클라이언트가 보유하지 않습니다'를 보여줍니다. 고정 : Windows는 '필요한 권한은 클라이언트가 보유하지 않습니다'를 보여줍니다. Aug 20, 2025 pm 12:02 PM

runeApplicationOrCommandAsAdMinistratorByright-Clicking andSelecting "RunasAdMinStrator"TONESUREELEVATEDPRIVILEGESERANTED.2.CHECKUSERACCOUNTCONTROL (UAC) SETCTINGSBYSERCHINGFORUACINTHARTMENUANDSTITTINGTHETEDEFAULLEVEL (SecondFrff

안전한 코딩을위한 JCA (Java Cryptography Architecture) 안전한 코딩을위한 JCA (Java Cryptography Architecture) Aug 23, 2025 pm 01:20 PM

제공자 메커니즘을 통해 알고리즘을 구현하는 MessageDigest, Cipher, Keygenerator, Securandom, Signature, Keystore 등과 같은 JCA 핵심 구성 요소를 이해합니다. 2. SHA-256/SHA-512, AES (256 비트 키, GCM 모드), RSA (2048 비트 이상) 및 Securerandom과 같은 강력한 알고리즘 및 매개 변수를 사용하십시오. 3. 하드 코딩 된 키를 피하고 KeyStore를 사용하여 키를 관리하고 PBKDF2와 같은 안전하게 파생 된 암호를 통해 키를 생성합니다. 4. ECB 모드 비활성화, GCM과 같은 인증 암호화 모드를 채택하고 각 암호화에 고유 한 IV를 사용하고 민감한 민감한 IV를 시간에 사용하십시오.

See all articles