MySQL

    [MySQL] DB 공부

    package db; import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; //--------------------------------------------------------------------------- // Scott Schema에 있는 Emp테이블의 정보를 가져오는 클래스 //--------------------------------------------------------------------------- public class ScottSelectEmp { //---------------..

    [MySQL] 타입 변환 BINARY, CAST(), CONVERT()

    타입 변환(type casting) MySQL은 비교나 검색을 수행할 때 데이터의 타입이 서로 다를 경우, 내부적으로 타입이 같아지도록 자동 변환하여 처리한다. 하지만 사용자가 명시적으로 타입을 변환할 수 있도록 다양한 연산자와 함수도 같이 제공하고 있다. BINARY CAST() CONVERT() BINARY BINARY 연산자는 뒤에 오는 문자열을 바이너리 문자열로 변환한다. BINARY 연산자를 이용하면 문자가 아닌 바이트를 기준으로 하여 비교나 검색 작업을 수행할 수 있다. 다음 예제는 BINARY 연산자를 이용하여 문자 'a'와 'A'를 비교하는 예제다. SELECT BINARY 'a' = 'A'; 'a' = 'A'; 실행 결과 0 1 위의 예제처럼 BINARY 연산자를 이용하면, 비교하려는 문..

    [MySQL] 패턴 매칭 LIKE, REGEXP

    패턴 매칭(pattern matching) MySQL은 데이터의 특정 패턴을 검색하기 위한 다음과 같은 패턴 매칭 연산자를 제공한다. LIKE REGEXP 또한, 임의의 문자나 문자열을 대체하기 위해서 와일드카드(wildcard) 문자를 사용할 수도 있다. LIKE LIKE 연산자는 특정 패턴을 포함하는 데이터만을 검색하기 위해 사용한다. 다음 예제는 Reservation 테이블에서 '장'으로 시작하는 이름(Name)으로 예약한 레코드를 선택하는 예제다. SELECT * FROM Reservation WHERE Name LIKE '장%'; '%'는 0개 이상의 문자라는 의미의 와일드카드(wildcard) 문자이다. 만약 특정 패턴을 포함하지 않는 데이터를 검색하고 싶을 때는 NOT LIKE 연산자를 사용..

    [MySQL] 흐름 제어 CASE, IF(), IFNULL(), NULLIF()

    흐름 제어 MySQL은 프로그램이 순차적인 흐름을 제어해야 할 때 사용할 수 있는 다양한 연산자와 함수를 제공한다. CASE CASE 연산자는 값을 서로 비교하거나, 표현식의 논리값에 따라 다른 값을 반환한다. -- 문법 -- 1. CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result]... [ELSE result] END -- 2. CASE WHEN [condition] THEN result [WHEN [condition] THEN result]... [ELSE result] END 첫 번째 CASE 문법에서는 value와 compare_value 값이 같으면, THEN 절의 result 값을 반환한다. 만약 서로 값..

    [MySQL] 비트 연산자 (bitwise operator)

    비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행한다. 또한, 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때도 사용한다. 비트 연산자 설명 & 대응되는 비트가 모두 1이면 1을 반환함. (AND 연산) | 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (OR 연산) ^ 대응되는 비트가 서로 다르면 1을 반환함. (XOR 연산) ~ 비트를 1이면 0으로, 0이면 1로 반전시킴. (NOT 연산) 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산) SELECT b'1000' & b'1111', -- 첫 번째 비트만이 둘 다 1이므로, 연산 결과는 b'1000'이 됨. b'10..

    [MySQL] 논리 연산자 (logical operator)

    논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)이면 1을 반환하고 거짓(false)이면 0을 반환한다. 논리 연산자 설명 AND 논리식이 모두 참이면 참을 반환함. && 논리식이 모두 참이면 참을 반환함. OR 논리식 중에서 하나라도 참이면 참을 반환함. || 논리식 중에서 하나라도 참이면 참을 반환함. XOR 논리식이 서로 다르면 참을 반환함. NOT 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. ! 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함.