본문 바로가기
MYSQL

SQL 7 - 기본 키와 외래 키, 소수점과 문자열 가공

by 코드닭 2024. 4. 3.

기본 키
관계형 DB 관리 시스템의 테이블에 있는 모든 행을 고유하게 식별하는 열 또는 열 그룹
중복될 수 없다. 즉, 동일한 값이 테이블에 두 번 이상 표시되어서는 X

외래 키
두 테이블 간의 관계를 생성하는 열

데이터 무결성을 유지하고 엔터티의 서로 다른 두 인스턴스 간 탐색을 허용하기 위해 사용된다
다른 테이블의 기본 키를 참조하므로 두 테이블 간의 상호 참조 역할
데이터베이스의 모든 관계는 외래 키로 지원되어야 한다

 


 

소수점 가공에 사용되는 함수들

 

 

ROUND(값,  자릿수)

자릿수를 넣으면 자릿수 위치까지 반올림 시키며

자릿수를 넣지 않으면 소수를 모두 반올림 시킨다

SELECT ROUND(3.14159, 2); -- 결과: 3.14

SELECT ROUND(9.8); -- 결과: 10

 

 

TRUNCATE(값, 자릿수)

자릿수 위치까지 버린다

SELECT TRUNCATE(5.7, 0); -- 결과: 5

SELECT TRUNCATE(3.14159, 2); -- 결과: 3.14

 

 

CEIL(값)

소수점을 모두 올림 한다

SELECT CEIL(9.1); -- 결과: 10

 

 

FLOOR(값)

소수점을 모두 버린다

SELECT FLOOR(5.7); -- 결과: 5

동작 방식이 같거나 작은 정수를 구하는 것이기 때문에 음수 소수점을 버릴 때에는 잘못된 값이 나올 수 있다

ex) select floor(-10.25); -- 결과 : -11

 

 


CONVERT(변환할 데이터, 데이터 형식)​

지정한 값을 다른 데이터 타입으로 변환한다

SELECT CONVERT('123', SIGNED INTEGER); -- 문자열 '123'을 부호 있는 정수로 변환

SELECT CONVERT('2024-04-02', DATE); -- 문자열 '2024-04-02'를 날짜로 변환

SELECT CONVERT(123.45, CHAR); -- 실수 123.45를 문자열로 변환

 

 

 

INSERT(대상 문자열, 시작위치, 삽입 부분의 길이, 삽입할 문자)

문자열 popcorn 의 3번째 위치에 '-'를 삽입하려면

select insert(popcorn, 3, 0, '-'); -- 결과 : pop-corn

 

 

INSTR('문자열','특정철자')

문자열에서 특정 철자의 위치를 출력해준다

select instr('popcorn','r'); -- 결과 : 6

특정 테이블에서 특정 철자가 포함된 경우를 필터링 할때도 사용할 수 있다

select name
from guest
where instr(name,'a') > 0

name 컬럼에서 이름에 a가 들어간 모든 사람의 이름을 찾을 수 있다

a가 들어간 경우 결과같이 1 이상이 나오기 때문에 where 절로 0 보다 크다는 조건을 줘 필터링 할 수 있는 것이다