[MySQL]LIMIT, OFFSET
·
DBMS/MySQL
LIMITLIMIT은 가져올 레코드 수를 제한하는 키워드다. 예를 들어, LIMIT 5라고 하면 결과에서 앞에서부터 5개의 레코드만 가져온다.SELECT * FROM CustomersLIMIT 5;위 쿼리는 Customers 테이블에서 가장 앞의 5개 레코드만 반환한다.OFFSETOFFSET은 처음부터 건너뛸 레코드 수를 지정할 때 사용된다. 예를 들어, OFFSET 3이라고 하면 앞의 3개 레코드는 건너뛰고 그 다음부터 결과를 반환한다.SELECT * FROM CustomersOFFSET 3;※ 단독 사용은 일부 DB에서 오류가 날 수 있으므로 일반적으로는 LIMIT과 함께 사용한다. 그 이유는 OFFSET만 사용하면 몇 개의 결과를 반환할지에 대한 정보가 없기 때문이다.LIMIT과 OFFSET 함께 ..
[MySQL]테이블 구조 변경(ALTER, ADD, RENAME, MODIFY)
·
DBMS/MySQL
1. ALTER TABLEMySQL에서 테이블의 구조를 변경할 때 중요한 명령어는 ALTER TABLE이다. 이 명령어를 통해 테이블을 수정할 수 있다. 이 글에서는 ALTER TABLE과 그 하위 명령어들인 ADD, DROP, RENAME, MODIFY에 대해 설명하려고 한다.1-1. ALTER TABLE 테이블명 ADD 컬럼명 데이터타입테이블에 새로운 컬럼을 추가하는 데 사용된다. 이 명령어는 새로운 컬럼을 정의하면서, 데이터 타입과 제약조건을 설정할 수 있다.-- 컬럼 추가ALTER TABLE users ADD email VARCHAR(255);-- 여러 컬럼 추가ALTER TABLE users ADD address VARCHAR(255), ADD phone_number VARCHAR(15);1-2..
[MySQL]피벗(Pivot)
·
DBMS/MySQL
1. 피벗(Pivot)이란 행(row) 데이터를 열(column) 형태로 변환하는 과정을 의미한다. 즉, 기존에는 한 열에 나열된 값을 개별 열로 바꿔 데이터를 더욱 직관적으로 정리하는 방법이다.2. 예제 데이터아래 데이터는 각 사용자(uName)가 특정 계절(season)에 사용한 금액(amount)을 기록한 것이다. 하지만 이렇게 되어 있으면 각 사용자의 계절별 사용 금액을 한눈에 보기 어렵다.uNameseasonamountSpongeBob 봄100SpongeBob 여름150 Patrick 겨울200SpongeBob 겨울300Patrick 여름120SpongeBob 가을80 Patrick 봄230위 데이터를 피벗을 적용하여 각 계절을 열(column)로 변환하면 다음과 같은 결과가 나온다.uNam..
[MySQL]문자와 문자 연결
·
DBMS/MySQL
CONCAT()주어진 여러 문자열을 이어 붙여 하나의 문자열로 반환, 인자 중 하나라도 NULL이면 결과는 NULLCONCAT(string1, string2, ..., stringN) -- 기본 사용법SELECT CONCAT('Hello', ' ', 'World'); -- Hello WorldSELECT CONCAT(100, '200'); -- 100200CONCAT_WS()WS는 "With Separator"의 약자로 이 함수는 문자열을 연결할 때 각 문자열 사이에 구분자를 삽입CONCAT_WS(separator, string1, string2, ..., stringN) -- 기본 사용법SELECT CONCAT_WS('-', '1988', '08', '18'); -- 1988-08-18
[MySQL]형 변환
·
DBMS/MySQL
1. 명시적인 형 변환명시적 형 변환은 사용자가 직접 값을 원하는 데이터 타입으로 변환하는 방식이다. MySQL에서는 CAST() 또는 CONVERT() 함수를 사용하여 값을 정확히 어떤 타입으로 변환할지 명시적으로 지정할 수 있다.변환 가능한 데이터 형식SIGNED INTEGER, UNSIGNED INTEGER, BINERY, CHAR, DATE, TIME, DATETIME, DECIMAL, JSON1-1. CAST(SQL 표준)CAST(expression AS 데이터 형식) -- 기본 형식SELECT CAST('1988-08-18' AS DATE); -- 문자 '1988-08-18'을 날짜로 변환1-2. CONVERT(MySQL 고유의 함수) CONVERT(expression, 데이터 형식) -- 기..
[MySQL]중복 키(ON DUPLICATE KEY UPDATE, IGNORE)
·
DBMS/MySQL
ON DUPLICATE KEY UPDATE(중복 키가 있을 경우 업데이트)중복된 키가 있으면 해당 행을 업데이트-- 기본 키인 id가 중복되는 경우 데이터를 수정INSERT INTO usertbl (id, name, age) VALUES (1, '신짱구', 5) ON DUPLICATE KEY UPDATE name='신짱아', age=1;IGNORE(중복 시 무시)중복된 키가 있으면 에러를 발생시키지 않고 해당 삽입을 무시-- 기본 키인 id가 중복되는 경우 무시하고 디음 문장으로 넘어감INSERT IGNORE INTO usertbl (id, name, age) VALUES (1, '신짱구', 5); --무시INSERT IGNORE INTO usertbl (id, name, age) VALUES (2, '..