MySQL 21

[MySQL] 테이블 Foreign Key 설정

Foreign Key 를 설정해서 테이블을 연결한다. 테이블 1  테이블 2테이블에서 연결시킬 customer_id컬럼에 UN을 체크 해야함 ( 테이블 1 과 동일한 범위를 가지는 INT여야 하기 때문 )테이블을 전부 만들고 Foreign Key 설정하는게 제일 좋음  테이블 2의 하단에 Foriegn Keys  Foreign Key Name : 유니크하고 명확한 이름으로 설정Referenced Table : 테이블 1Column : 테이블 2 와 연결할 테이블 1 의 컬럼Referecnced Column : 테이블 1 과 연결할 테이블 2의 컬럼 테이블 Foreign Key 탭에서 On Delete > CASCADE 설정시참조한 데이터를 삭제하면 연결된 테이블의 데이터도 함께 삭제

MySQL 2024.05.16

[MySQL] TIMESTAMP

디폴트 값으로 now() 지정:TIMESTAMP 컬럼을 생성할 때 디폴트 값을 now() 지정하면, 해당 컬럼에 새로운 레코드가 삽입될 때 자동으로 현재 시각이 저장Apply하면 CURRENT_TIMESTAMP으로 변환 디폴트 값으로 now() 지정 및 업데이트 시 NOW()로 갱신:TIMESTAMP 컬럼을 생성할 때 now() on update now() 지정하면, 해당 컬럼에 새로운 레코드가 삽입될 때와 해당 레코드가 수정될 때 모두 자동으로 현재 시각으로 갱신Apply하면 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP으로 변환  -- timestamp 설정 전insert into comment(content, createdAt)values('좋아요', now())..

MySQL 2024.05.16

[MySQL] 날짜, 시간 처리

-- 년월일에서 날짜만 가져올때select name, day(birthdate)from people;-- 월만 가져올때select name, month(birthdate)from people;-- 년도만 가져올때select name, year(birthdate)from people; -- 요일을 문자열로 가져올때select name, dayname(birthdate)from people;-- 요일을 숫자로 가져올때 1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, 7=Saturday)select name, dayofweek(birthdate)from people;-- 시간도 각각 처리하는 함수가 있다select name, hour(bir..

MySQL 2024.05.16

[MySQL] if() 함수

ifif(조건, 참일 경우 값, 거짓일 경우 값)조건이 2가지일때만 사용-- 기존 컬럼의 데이터를 가지고 2가지의 조건으로만 확인하는 경우는-- if() if 함수~!~! 를 사용해도 된다.-- 즉, 2가지로 파악할 때는 if함수가 훨씬 편하다.-- pages 컬럼의 값이 300 보다 크면 '긴책' 이라고 하고-- 그렇지 않으면 '짧은책' 이라고 하여-- 새로운 컬럼 book_type 을 만들자!select *, if(pages > 300, '긴책', '짧은책') as book_typefrom books;-- 출판년도가 2000년 이상인 책들은 '최신책' 이라고 하고-- 그렇지 않은 책들은 '예전책' 이라고 하며-- type 컬럼을 만들자.select *, if(released_year > 2000, '..

MySQL 2024.05.14

[MySQL] case

case와 end는 한쌍 select 아래 위치에 위치하며 when, then은 항상 같이 사용else는 모든 조건이 True가 아닌 경우 else의 결과값 반환end as '컬럼 이름' 으로 끝에 컬럼을 생성하고 값을 반환 -- 출판년도가 2000년 이상인 책들은 '최신책' 이라고 하고-- 그렇지 않은 책들은 '예전책' 이라고 하며-- type 컬럼을 만들자select *, case when released_year >= 2000 then '최신책' else '예전책' end as typefrom books; -- 재고가 0 이상이고 50 이하이면 , *-- 재고가 51 이상이고 100 이하이면 , **-- 이도 저도 아니면 , ***-- stock 이라는 컬럼을 만들자.select *, ca..

MySQL 2024.05.14