: 누가 생성하는지에 따라 사용자 정의 변수, 시스템 변수로 구분함
적용범위에 따라 MYSQL 전체 글로벌 변수, 커넥션 범위에 따라 세션변수로 구분
동적으로 서버 중단없이 변수 변경여부에 따라 동적, 정적 변수로 구분함
(지역변수: DECLARE로 선언 후 사용하며, 프로시저의 매개변수로 사용)
하나의 명령문에 사용자 정의 변수에 값을 저장
다른 명령문에서 참조할수 있음
변수에 값 저장후 나중에 참조 가능
EX)
SET rownum=0;
SELECT rownump:=0;
주의사항: 표현식의 평가순서 정의되지 않음
(SELECT @a, @a:=@a+1예를 들어, 먼저 평가한 @a다음 할당을 수행한다는 보장은 없음)