1. LENGTH() 함수 LENGTH() 함수는 문자열의 길이가 몇 글자 인지 보여준다. 2. UPPER(), LOWER() 함수 UPPER()는 문자열을 모두 대문자로 LOWER()는 문자열을 모두 소문자로 3. LPAD(), RPAD() 함수 이 두 함수는 문자열의 왼쪽, 오른쪽을 채워서 n 자리로 만들어 준다. LPAD는 LEFT(왼쪽) + PADDING(채우기)의 줄임말, RPAD는 RIGHT(오른쪽) + PADDING(채우기)의 줄임말 예를 들어 LPAD(age, 10, ’0’)는 age 컬럼의 값을, 왼쪽에 문자 0을 붙여서 총 10자리로 만드는 함수. 보통 어떤 숫자의 자릿수를 맞출 때 자주 사용하는 함수이다. RPAD() 함수는 아래 그림처럼 LPAD() 함수와 반대로 문자열의 오른쪽을 ..
어떤 컬럼의 값들을 대상으로 원하는 특징값을 구해주는 함수를 Aggregate Function, 우리말로는 집계 함수라고 한다. 1. SUM() 함수 - 합계 2. STD() 함수 - 표준편차 그런데 SQL에는 집계 함수 말고도, 단순한 산술 연산을 해주는 Mathematical Function들도 있다. 우리 말로 '산술 함수'라고 할 수 있는데. ABS() 함수 - 절대값을 구하는 함수 SQRT() 함수 - 제곱근을 구하는 함수 CEIL() 함수 - 올림 함수 이런 함수들이 있다. 3. FLOOR() 함수 - 내림 함수 4. ROUND() 함수 - 반올림 함수 이것 말고도 또 다양한 산술 함수들이 있는데, 더 많은 산술 함수는 SQL 매뉴얼을 참고하면된다. 집계 함수와 산술 함수의 차이점은 집계 함수..
대소문자 구분 문제 예를들어 소문자 g가 포함된 값들을 찾는다고 할 때, 조건식에 소문자 g를 썼는데 대문자 G가 포함되어 있는 row도 함께 조회가 되어버린다. 이것은 mySQL의 기본 설정 때문이다. 테이블에 적용된 기본 설정을 보는 방법은. 위 그림의 i 표시를 클릭하면된다. 여러 항목들 중에서 Table collation 항목을 보면된다. 이 항목은 문자열이 서로 동일한지를 비교할 때 적용되는 설정이다. 그 뒤에 utf8mb4_0900_ai_ci 라는 값이 써있습니다. 여기서 ci는 case-insensitive의 약자로 문자열이 동일한지 확인할 때, 대소문자를 구별하지 않겠다는 뜻이다. 바로 이 설정 때문에 아까 대소문자가 달라도 알파벳만 같으면 같다고 판단하는 것이다. 만약 이 설정을 다른 걸..
Workbench UI 1) 쿼리 창 생성 아이콘 1번 아이콘을 클릭하면 3번과 같이 SQL 문을 쓸 수 있는 SQL 에디터탭을 새로 열 수 있다. 그때마다 2번 영역에서 탭의 개수가 늘어난다. 2) 쿼리 창 탭 쿼리 창 생성 아이콘을 누를 때마다 이 영역에 존재하는 탭의 개수가 늘어난다. 3) 쿼리 창 SQL 문을 입력할 수 있는 공간. 4) SQL 문 실행 아이콘 쿼리창에 입력한 SQL 문을 실행한다. 단축키는 '시프트 + 커맨드(윈도우는 컨트롤) + 엔터' 5) 새로고침 아이콘 데이터베이스를 새로 생성하거나, 데이터베이스에 테이블을 새로 추가했을 때 새로고침으로 확인 6) 테이블 조회 아이콘 6번 영역의 2개의 아이콘 왼쪽의 스패너 모양 - 해당 테이블의 컬럼과 각 컬럼의 데이터 타입 등을 볼 수 ..
데이터 정렬은 order by ~를 통해 asc(오름차순), desc(내림차순)으로 정렬한다. 데이터를 정렬할 때 숫자형(INT 등)인 경우와, 문자열형(TEXT 등)인지에 따라 정렬 결과가 달라진다. 아래 그림을 보면 ordering_test라는 테이블에서 data 컬럼을 기준으로 오름차순 정렬을 하고있다. 크기가 큰 순서대로 정렬되어 있다(오름차순) data의 데이터 타입을 INT-> TEXT로 바꾼 뒤, Apply 버튼을 눌러서 적용, 다시 정렬을 실행시켜보면, 이전과 다른 결과가 나온다. 그건 INT 타입과 TEXT 타입의 정렬 방식이 다르기 때문이다. INT 타입의 값은 숫자의 대소(크고 작음)를 기준으로 정렬이 수행되지만, TEXT 타입의 값은 숫자의 대소가 아니라 한 문자, 한 문자씩 그 문..
Primary Key (기본키) 테이블에서 특정 row 하나를 식별하는 컬럼 pk를 지정하면 pk에 같은 값이 있는 열에 추가되는 것을 막아주기 때문에 중복 데이터가 생길 위험이 사라진다. pk는 고유값으로나타낼 수 있는 컬럼으로 설정해야한다. 이런 기본키에도 종류가 있다. 1. Natural Key 원래 가지고 있던 속성을 나타내는 컬럼이 pk가 되었을 때 Natural Key라고 한다. 예를들어 주민등록번호로 시민들을 식별 할 수 있다. 도서관의 책들은 청구번호로 식별할 수 있다. 이런 속성을 나타내는 컬럼이 pk가 되었을 때 Natural Key 라고 한다. 2. Surrogate Key 보통 맨 앞에 붙여주는 id값이라는 컬럼이 pk가 되는 경우 Surrogate key라고 한다. 구분값을 임의로..