SELECT - 데이터 조회하기
SELECT(DISTINCT) {column_name}(ALIAS) FROM {table_name} [WHERE {attribute} = {value}];
SELECT CONCAT({column_name}, '-', {column_name}) FROM {table_name};
- DISTINCT : 중복행을 제거한다.
- ALIAS : 컬럼의 별칭을 지정한다.
- CONCAT : 문자열을 결합한다.
SELECT * FORM employee WHERE deptno IN (10, 30);
SELECT deptno (as) 부서번호, name (as) 부서명 FROM department;
- Like
- 와일드 카드를 사용하여 특정 문자를 포함한 값에 대한 조건을 처리한다.
- % : 0에서부터 여러 개의 문자를 나타냄
- _ : 단 하나의 문자를 나타내는 와일드 카드
SELECT name, job FROM employee WHERE name LIKE '_A%';
- 여러 가지 함수
SELECT UPPER('SEoul'), UCASE('seOUL'); // SEOUL, SEOUL
- UCASE, UPPER : 대문자로 반환한다.
SELECT LOWER('SEoul'), LCASE('seOUL'); // seoul, seoul
SELECT LOWER(name) FROM employee;
- LCASE, LOWER : 소문자로 반환한다.
SELECT substring('Happyy Day', 3, 2); //pp
- substring : 문자열을 slice할 수 있다.
SELECT LPAD('hi', 5, '?'); //???hi
SELECT RPAD('joe', 7, '*'); //joe****
- LPAD, RPAD : 왼쪽/오른쪽에 지정한 문자로 채워준다.
SELECT LTRIM(' hello'); //hello
SELECT TRIM(BOTH 'x' FROM 'xxxhixxx'); //hi
- TRIM, LTRIM, RTRIM : 공백을 없애준다.
CAST({expression} AS {type})
CONVERT({expression}, {type})
CONVERT({expression} USING {transcoding_name})
select cast(now() as date);
select cast(1-2 as unsigned);
- CAST, CONVERT : type을 변경(지정)하는 데 유용하다.
- MySQL type : BINARY, CHAR, DATE, DATETIME, TIME, SIGNED, UNSIGNED
- 그룹 함수
SELECT AVG(salary), SUM(salary) FROM employee WHERE deptno=30;
SELECT deptno, AVG(salary), SUM(salary) FROM employee GROUP BY deptno;
INSERT - 데이터 삽입(추가)하기
- 필드명 생략 => 모든 필드 값을 반드시 입력해야 한다.
- 필드명 지정 => 디폴트 값이 세팅되는 필드는 생략 가능하다. 필드가 추가/변경/수정 되는 변경에 유연하게 대처 가능하다.
INSERT INTO {table_name} VALUES {all_values_list};
INSERT INTO {table_name} {attributes_list} VALUES {values_list};
INSERT INTO {table_name} VALUES ({attribute}, {value}), ({attribute}, {value}), ... ;
INSERT INTO role(role_id, description) values(200, 'CEO');
UPDATE - 데이터 수정하기
- WHERE 절을 생략하면 전체 데이터가 수정된다. 주의!
UPDATE {table_name} SET {attribute} = {value} [update_detail];
UPDATE {table_name} SET {attribute} = {value} WHERE {attribute} = {value};
UPDATE {table_name} SET {attribute} = {value} WHERE {table_name}.{attribute} = {value};
UPDATE employee SET salary = salary * 2;
UPDATE role SET description='CTO' WHERE role_id = 200;
DELETE - 데이터 삭제하기
DELETE FROM {table_name} WHERE {attribute} = {value};
DELETE FROM {table_name};
DELETE FROM role WHERE role_id=200;
'공부 기록 > Database' 카테고리의 다른 글
Three-Valued Logic (0) | 2023.05.04 |
---|---|
쿼리 안의 쿼리(서브쿼리) (0) | 2023.05.02 |
DDL - Table 생성하기, 목록 및 구조 확인 (0) | 2023.01.19 |
Database 생성, 접속하기 (0) | 2023.01.19 |
Database 사용자 생성과 권한 부여 (0) | 2023.01.18 |