>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 사용자 정의, 로컬 및 시스템 변수의 차이점은 무엇입니까?

MySQL에서 사용자 정의, 로컬 및 시스템 변수의 차이점은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-22 03:11:10749검색

What's the Difference Between User-Defined, Local, and System Variables in MySQL?

MySQL 변수 선언 및 사용법

MySQL에서는 두 번째 쿼리에서 변수를 사용하려면 먼저 변수를 선언하고 초기화해야 합니다.

사용자 정의 변수(@로 시작)

  • 선언이 필요하지 않습니다.
  • 사전 선언이나 초기화 없이 직접 접근이 가능합니다.
  • 초기화되지 않은 경우 값은 NULL이며, 데이터 유형은 문자열입니다.
  • 초기화에는 SET 또는 SELECT 문을 사용하세요.
  • 특정 세션(다른 클라이언트가 보거나 사용할 수 없음).
  • 예:
    <code class="language-sql">SET @start = 1, @finish = 10;
    SELECT * FROM places WHERE place BETWEEN @start AND @finish;</code>

지역 변수(접두사 없음)

  • DECLARE 문이 필요합니다.
  • 은 저장 프로시저에서 입력 매개변수 또는 지역 변수로 사용됩니다.
  • 예:
    <code class="language-sql">DECLARE start INT unsigned DEFAULT 1;
    DECLARE finish INT unsigned DEFAULT 10;</code>
  • DEFAULT 절이 누락된 경우 초기값은 NULL입니다.
  • 범위는 선언된 BEGIN...END 블록으로 제한됩니다.

서버 시스템 변수(@@로 시작)

  • MySQL 서버에서 관리하는 시스템 변수입니다.
  • GLOBAL(글로벌), SESSION(세션) 또는 BOTH(둘 다)일 수 있습니다.
  • 서버 작업(GLOBAL) 또는 개별 클라이언트 연결(SESSION)에 영향을 미칩니다.
  • 보려면 SHOW VARIABLES 또는 SELECT @@var_name을 사용하세요.
  • 동적으로 수정하려면 SET GLOBAL 또는 SET SESSION을 사용하세요.
  • 예:
    <code class="language-sql">SET GLOBAL sort_buffer_size=1000000;</code>

위 내용은 MySQL에서 사용자 정의, 로컬 및 시스템 변수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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