MySQL이 조건에 따라 SQL 코드 블록을 반복적으로 실행할 수 있도록 하는 루프 문을 제공한다는 것을 알고 있습니다. 동안 루프 문은 이러한 종류의 루프 문 중 하나입니다. 구문은 다음과 같습니다 - WHILE expression DO statements END WHILE 실제로 WHILE 루프는 모든 반복이 시작될 때 표현식을 확인합니다. 표현식이 true로 평가되면 MySQL은 표현식이 false로 평가될 때까지 WHILE과 END WHILE 사이의 명령문을 실행합니다. WHILE 루프는 문이 실행되기 전에 표현식을 확인하
MySQL이 조건에 따라 SQL 코드 블록을 반복적으로 실행할 수 있도록 하는 루프 문을 제공한다는 것을 알고 있습니다. 반복 루프 문은 이러한 종류의 루프 문 중 하나입니다. 구문은 다음과 같습니다 - REPEAT statements; UNTIL expression END REPEAT 먼저 MySQL은 명령문을 실행한 다음 표현식을 평가합니다. 표현식이 FALSE로 평가되면 MySQL은 표현식이 TRUE로 평가될 때까지 명령문을 반복적으로 실행합니다. 반복 루프는 명령문이 실행된 후 표현식을 확인하므로
MySQL은 255보다 큰 CHAR() 함수의 인수를 여러 결과 바이트로 변환합니다. 예를 들어, CHAR(260)은 CHAR(0,1,0,4)와 동일합니다. 다음 진술의 도움으로 더 명확해질 수 있습니다 - mysql> Select HEX(CHAR(256)),HEX(CHAR(1,0)); +----------------+----------------+ | HEX(CHAR(256)) | HEX(CHAR(1,0)) | +----------------+----------------+ | 0100
CHARSET() 함수를 사용하여 MySQL CHAR() 함수에서 반환된 문자열을 확인할 수 있습니다. 다음 결과 세트가 그것을 보여줍니다 - mysql> Select CHARSET(CHAR(85)); +-------------------+ | CHARSET(CHAR(85)) | +-------------------+ | binary | +-------------------+ 1 row in set (0.00 sec)
USING 키워드를 사용하여 주어진 문자 집합에서 기본 바이너리 문자열이 아닌 문자열을 생성할 수 있습니다. 다음 결과 세트가 그것을 보여줍니다 - mysql> Select CHARSET(CHAR(85 USING utf8)); +------------------------------+ | CHARSET(CHAR(85 USING utf8)) | +------------------------------+ | utf8 &
비트 필드 표기법은 비트 필드 값을 작성할 수 있는 표기법입니다. 비트 필드 표기법의 구문은 다음과 같습니다 - 구문 b’value’ OR 0bvalue 여기서 값은 0과 1을 사용하여 작성한 바이너리 값입니다. 주로 Bit-filed 표기법은 MySQL 테이블의 BIT 열에 할당할 값을 지정하는 데 편리합니다. 다음 예는 그것을 보여줄 것입니다 - mysql> Create table bit_testing (bittest BIT(8)); Query OK, 0 rows affected (1.0
실제로 비트 값은 이진 값으로 반환되지만 다음을 사용하여 인쇄 가능한 형식으로 표시할 수도 있습니다. - 0 추가 비트 값에 0을 추가하여 인쇄 가능한 형식으로 표시할 수 있습니다. bit_testing 테이블의 예를 따르면 이해하는 데 사용할 수 있습니다. - mysql> Select bittest+0 from bit_testing; +-----------+ | bittest+0 | +-----------+ | 170 | | 5 | | &
기본적으로 사용자 변수에 할당된 비트 값은 이진 문자열입니다. 비트 값을 사용자 변수에 할당하고 다음과 같이 검색하여 설명할 수 있습니다. - mysql> SET @abc = 0b1000011; Query OK, 0 rows affected (0.00 sec) mysql> Select @abc; +------+ | @abc | +------+ | C | +------+ 1 row in set (0.00 sec) 위의 결과 집합은 사용자 변수에 할당된 비트 값의 기본 유형이 바이너리 문자열임을 보
사용자 변수에 할당되는 비트 값의 기본 유형이 이진 문자열이라는 것을 알고 있지만 다음 두 가지 방법을 사용하여 숫자에 비트 값을 할당할 수도 있습니다. - CAST() 함수 사용 CAST(… AS UNSIGNED)의 도움으로 비트 값에 숫자를 할당할 수 있습니다. 다음 예는 그것을 설명할 것입니다 - mysql> SET @abc = CAST(0b1000011 AS UNSIGNED); Query OK, 0 rows affected (0.00 sec) mysql> Select @abc; +------+ | @abc | +
MySQL 저장 프로시저에서 사용자 변수는 사용자 변수 이름 앞에 접두어인 @와 같은 앰퍼샌드로 참조됩니다. 예를 들어 @A, @B 등은 사용자 변수입니다. 그것을 보여주기 위해 우리는 다음과 같은 절차를 만들고 있습니다 - mysql> DELIMITER // ; mysql> CREATE PROCEDURE Proc_Uservariables() -> BEGIN -> SET @A = 100; -> SET @B = 500; &nb
MySQL SUBSTRING_INDEX() 함수는 count 인수의 값이 구분 기호의 총 발생 횟수보다 큰 경우 출력과 동일한 문자열을 반환합니다. 다음 예를 통해 증명할 수 있습니다. - mysql> Select SUBSTRING_INDEX('My Name is Ram','a',3); +-----------------------------------------+ | SUBSTRING_INDEX('My Name is Ram','a',3) | +---------------
사실, 파서는 내장 함수의 이름인 단어를 만나면 그 이름이 함수 호출을 나타내는지 아니면 대신에 테이블 또는 열 이름과 같은 식별자입니다. 다음 쿼리를 고려하십시오 - 1. Select sum(salary) from employee; 2. Create table sum (i int); 첫 번째 쿼리에서 SUM은 함수 호출에 대한 참조이고 두 번째 쿼리에서는 테이블 이름을 참조합니다. 파서는 이름이 함수 호출로 사용되는지 아니면 비참조 컨텍스트에서 식별자로 사용되는지 구별하기 위해 다음 규칙을 따릅니다. − 규칙 1 − 이름을 표
MySQL IF 문은 저장 프로시저 내에서 기본 조건부 구성을 구현합니다. 구문은 다음과 같습니다 - IF expression THEN Statements; END IF; 세미콜론으로 끝나야 합니다. MySQL 저장 프로시저 내에서 IF 문 사용을 보여주기 위해 아래와 같이 student_info -라는 테이블의 값을 기반으로 하는 다음 저장 프로시저를 생성합니다. mysql> Select * from student_info; +------+---------+------------+------------+ | id
내장 함수의 이름을 구문 분석하기 위해 파서가 사용하는 기본 규칙은 IGNORE_SPACE SQL 모드를 활성화하여 변경할 수 있습니다. 이 모드를 활성화하면 파서는 함수 이름과 다음 괄호 사이에 공백이 없어야 한다는 요구 사항을 완화합니다. 예를 들어, IGNORE_SPACE SQL 모드를 활성화한 후 다음 함수 호출은 모두 유효합니다. − Select SUM(Salary) from employee; Select SUM (Salary) from employee; 그러나 이 경우 파서는 함수 이름을 예약어로 취급합니다. 이름 뒤에
IGNORE_SPACE SQL 모드는 구문 분석기가 공백을 구분하는 함수 이름을 처리하는 방법을 수정하는 데 사용할 수 있습니다. 다음은 IGNORE_SPACE SQL 모드를 사용할 수 있는 경우입니다 - Case-1 - IGNORE_SPACE SQL 모드가 비활성화된 경우 IGNORE_SPACE SQL 모드를 비활성화한 후 파서는 이름과 다음 괄호 사이에 공백이 없을 때 이름을 함수 호출로 해석합니다. 이는 함수 이름이 표현식이 아닌 컨텍스트에서 사용되는 경우에도 발생합니다. 다음 쿼리에서 이해할 수 있습니다 - mysql>
이해하기 위해 다음 값을 갖는 student_info라는 테이블을 사용하고 있습니다 - mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | H
다음 예는 INOUT 이 있는 MySQL 저장 프로시저를 보여줍니다. 매개변수 - mysql> DELIMITER // ; mysql> Create PROCEDURE counter(INOUT count INT, IN increment INT) -> BEGIN -> SET count = count + increment; -> END // Query OK, 0 rows affected (0.03 sec) 여기서 count는 값을 저장하고
어떤 조건에 따라 MySQL 테이블에서 레코드를 선택하기 위해 IN 및 OUT 연산자를 사용하여 저장 프로시저를 만들 수 있습니다. 이해를 돕기 위해 다음 데이터가 있는 student_info라는 테이블의 예를 들어보겠습니다. - 선택 * from student_info;+------+---------+------------+--------- ---+| 아이디 | 이름 | 주소 | 제목 |+--------+---------+------------+------------+| 101 | 야쉬팔 | 암리차르 | 역사 || 105 | 가
IN 연산자를 사용하여 저장 프로시저를 생성하여 MySQL 테이블에 값을 삽입할 수 있습니다. 이해를 돕기 위해 다음 데이터가 있는 student_info라는 테이블의 예를 들어보겠습니다. - mysql> Select * from student_info; +------+---------+-----------+------------+ | id | Name | Address | Subject | +------+---------+-----------+------
숫자 컨텍스트에서 16진수 값은 정수처럼 작동하고 문자열 컨텍스트에서는 이진 문자열처럼 작동한다는 것을 알고 있습니다. 다음 예를 통해 이해할 수 있습니다. mysql> Select X'5455544F5249414C53504F494E54'; +---------------------------------+ | X'5455544F5249414C53504F494E54' | +---------------------------------+ | TUTORIALSPOINT