분류 전체보기 100

[MySQL] Foreign Key의 delete cascade 설정방법과 동작방법

CASCADE: 참조 테이블(부모)의 행을 삭제/수정할 때, 해당 행을 참조하고 있는 테이블(자식)의 관련 행도 자동으로 삭제/수정된다.이를 통해 데이터의 일관성을 유지할 수 있다. Delete cascade 설정방법과 동작방법▷ cascade 설정하는 이유students 테이블 : 참조 테이블(부모)papers 테이블 : 참조하고 있는 테이블(자식)   두 테이블이 foreign key로 묶여있을 때,stdents 테이블의 id를 삭제하면 'Cannot delete .....' 삭제할 수 없다는 오류가 발생한다. (papers 테이블에서는 row 삭제 가능, papers 테이블(자식)에서 먼저 삭제 후 stdents 테이블(부모)에서 데이터 삭제하는 것은 가능)   이럴 경우에 cascade 설정을 해..

카테고리 없음 2024.05.16

[Python] 파이썬 데이터 시각화 - Matplotlib 라이브러리(subplot)

Figure: 전체 plot을 담는 컨테이너Axes: 실제 데이터가 그려지는 영역Subplot: 하나의 Figure에 여러 Axes를 배치하여 여러개의 plot 그리는 것을 가능하게 해준다.  df =   plt.subplot(행, 열, 위치)  figure를 이용하여 차트 크기 조절할 수 있다. figsize=(12, 5) : figure의 크기를 가로 12인치, 세로 5인치로 설정   title, xlabel, ylabel 설정

[MySQL] 테이블 합치기, 테이블 연결, 결합하는 join과 left join 방법과 예시

join  :  두 개 이상의 테이블을 결합하여 하나로 집합하는 연산from  A테이블  left join  B테이블 : 왼쪽에 있는  A테이블의 모든 데이터를 보여주고, 일치하는 B테이블의 데이터를 결합한다.from  A테이블  right join  B테이블  : 오른쪽에 있는  B테이블의 모든 데이터를 보여주고, 일치하는 A테이블의 데이터를 결합한다.  MySQL 테이블 결합하기  join과 left join - from 테이블1 join 테이블2 on 테이블1.외래키 = 테이블2.참조컬럼; 두 테이블을 결합하기 위해서는 foreigh key(외래키)가 필요하다. foreign kye 설정방법 바로가기 테이블 명이 긴 경우에는 'as 약자'로 줄여서 사용해도 된다.as 는 사용해도 되고, as 생략해..

Database/MySQL 2024.05.16

[MySQL] 여러 테이블 생성시, 연결하는 Foreign Key 설정하는 방법

Foreign Key : 테이블을 연결하는 컬럼 MySQL 테이블 연결하는 Foreign Key 설정 아래와 같은 테이블에서, 주문데이터가 추가될 때마다 유저의 정보가 중복 저장되어 비효율적이다. 그래서 테이블을 2개로 분리해 데이터 중복을 최소화 하는 것이 '정규화' 이다.  고객정보와 주문내역을 분리해서 두 개의 테이블을 만들었다. A테이블 = CUSTOMERS(참조테이블) , B테이블 = ORDERS B테이블 customer_id 값이 A테이블의 id를 가르키도록(참조) 해서 두 테이블을 연결한다.이때, customer_id 가 바로 foreign key 가 된다.  설정 방법1. 'orders' 테이블 툴 하단의 Foreign Keys 로 들어가기- 왼쪽은 Table 설정, 오른쪽은 Column ..

Database/MySQL 2024.05.16

[MySQL] 테이블 툴 Datetype TIMESTAMP 디폴트 이용하기

TIMESTAMP- 날짜와 시간 정보를 저장하는 데이터 타입- UTC(협정 세계시) 기준으로 DB에 저장되고, 저장된 값은 사용자의 로컬 시간으로 표시됨  MySQL 테이블 툴 Datetype TIMESTAMP 이용하기데이터 저장할 때 now( ) 함수를 사용하면 현재 시간이 자동으로 보여진다.    그런데 데이터를 저장할 때마다 now() 함수를 입력하는 것이 번거로우니, 한 번에 처리하자. 바로, 테이블 툴에서 해당 컬럼의 데이터타입은 timestamp로 하고, 디폴트에 now() 함수를 입력해주면 된다.- 위에서 now()함수가 적용된 'createdAt' 컬럼을 수정하였다.    Apply 화면에서 변경된 내용이 표시된다.   디폴트 값이 CURRENT_TIMESTAMP라고 변환되었다.   이젠,..

Database/MySQL 2024.05.16

[MySQL] 날짜와 시간관련 중요한 함수들

MySQL 날짜와 시간관련 함수들 아래 데이터를 이용하여 시간관련 함수 사용법을 알아보자.   - day( ): 날짜만 가져오기   - month( ) / year( ): 월 / 년도 가져오기   - dayname() / dayofweek(): 요일 이름 / 요일 번호(1=Sunday, 2=Monday, ..., 7=Saturday)dayofweek()를 사용하면 전 세계 어느 곳이든, 모든 핸드폰 사양에 적용될 수 있다.    - hour() / minute() / second(): 시 / 분 / 초   DB에 저장되는 시간데이터 디폴트는 ISO 표준형식 이다.그래서 사람이 보기 편한 문자열로 바꾸는 방법이 있다.  - date_format(): 날짜와 시간 데이터를 원하는 형식으로 출력   date_..

Database/MySQL 2024.05.16

[MySQL] 데이터 범위 선택 >, <, >=, <=, between 연산자

특정 범위 내의 값을 선택할 때는 부등호( >, =,  MySQL 데이터 범위 선택, 부등호 / between 연산자 between A and B- A 부터 b까지- 시작값 A와 끝값 B를 포함- 부등호  >= A  and  - 숫자, 문자, 날짜 데이터에 모두 사용할 수 있다.   재고가 0 이상이고 50 이하이면, *재고가 51 이상이고 100 이하이면, **이도저도 아니면, *** 로 하여stock 이라는 컬럼을 만들자. ① 부등호 사용 ② between 연산자 사용 결과

Database/MySQL 2024.05.14

[MySQL] 조건문, CASE / if() 함수로 데이터 변환하기

CASE : 컬럼에 있는 값을 가공하는 조건문if( ) : 조건부 함수  MySQL CASE 문 / if() 함수로 데이터 변환하기CASE 문 문법- when 절에는 참과 거짓을 반환하는 조건을 넣어줘야 한다.- 조건이 참이면 then 뒤에 결과가 반영된다.- 어떤 조건도 만족하지 못하면 else 절의 결과가 반영된다.- else는 생략 가능하며, 생략하면 null 값으로 간주된다.    CASE 문 사용 방법① case 문을 작성할 기본 틀 세우기  ② 조건식과 결과값 넣어주기조건 : released_year 값이 2000 이상인 책들은 '최신책' 이라고 하고,결과 :  그렇지 않은 책들은 '예전책'이라 하자. ③ type 이라고 컬럼명 지어주기  ④ 추가된 type 컬럼에 결과값이 들어갔다.   기존..

Database/MySQL 2024.05.14

[MySQL] 데이터가 null 인지 아닌지 확인하는 방법 is null / is not null, ifnull() 함수로 null값 채우기

is null : null 데이터 확인is not null : null이 아닌 데이터 확인ifnull() : null 값을 채우는 전용함수 MySQL null 데이터 확인하는 방법, ifnull() 함수 사용법where 컬럼명 is null ;: 컬럼에 값이 없는 데이터를 가져온다. - null은 영문이기 때문에 = 이 아닌, is로 이어주기 - where 뒤에 ' 컬럼명 = null ; '  라고 입력해도 동작은 되지만, 원하는 결과가 안나옴 => 버그     where 컬럼명 is not null ;: 컬럼에 값이 null이 아닌 데이터 가져오는 방법.    ifunll( 컬럼명, null 자리에 채울 값 ) stock_quantity 에 null이 있다.   null 을 0으로 셋팅하자.

Database/MySQL 2024.05.14