본문 바로가기
IT 프로그래밍 관련/MySQL

MySQL data처리( select , update, delete )

by 지나는행인 2021. 3. 15.
728x90

먼저, MySQL 로 데이터 처리를 하는 것은 판다스 데이터프레임 보다 복잡한 구조를 띈다.

 

이유는 판다스 프레임에서는 자체적으로 index를 만들어 데이터를 불러올때 index로 불러오면 되지만,

 

MySQL의 테이블은 그렇지가 않다.  그래서 데이터프레임의 index와 비슷하게 테이블로 컬럼에 따로 유니크한 id 를 

 

부여할수 있는 컬럼을 만든다. 이것은 똑같은 데이터가 두개이상 들어올 수 없는 테이블이지만, 유니크 id를 

 

부여함으로써 각각 데이터가 다른 데이터라는것을 표현해 , 추가 할 수 있도록 한다.

 

(기본적으로 테이블은 중복 데이터를 받을 수 없다. 그렇기에 유니크한 id를 부여하는 컬럼을 추가한다.)

 

테이블을 생성한다.

 

위 화면에서 , 이전에와는 다른 컬럼을 볼 수 있다.  (cat_id)   

 

이것은 우리가 받을 데이터와는 별개로 데이터 처리를 쉽게 하기 위한 인덱스 개념의 컬럼으로 만든것이다.

 

이것은 int로 처리하고, 필수 항목으로 not null 처리한다. 그리고 첫번째데이터는 1부터 채워지고, 데이터가 채워질 때마다

 

우리가 2,3,4,5,6식으로 숫자를 입력하지 않아도 자동으로 숫자가 입력되게끔,  auto_increment를 하여 만든다.

 

데이터를 채워보면,

 

위와 같은식으로 cat_id가 번호순서대로 나열되며 데이터가 추가되는 것을 볼 수 있다.

 

이제 내가 원하는 데이터를 가져와보겠다.

 

유니크한 cat_id가 있기 때문에 이것을 이용한다.

 

기본적인 select 문법이다.

 

위는 select * from cat5 where age =4 ;  를 입력 한 후의 화면이다.  나이가 4살인 고양이만 가져온것이다.

 

먼저 컬럼명으로 불러올때는 대문자 소문자 상관없이 아무거나 써도 불러올 수 있다.

 

순서를 바꿔서도 가능하다.

 

where은 if의 조건문과 같다.    만약에 나이가 4살이고 종은 'Persian'인 고양이 데이터를 가져오고 싶다면

 

select * from cat 
where age=4 and breed = 'Persian';           이렇게 쓴다.   조건에서는 and 와 or을 쓴다.

 

데이터를 바꿔보겠다.  위의 화면의 첫번째인 'Ringo'의 이름을 가진 고양이 데이터를 바꿔보겠다.

 

 

 

update cat5 set breed = 'British' where name = 'Ringo' ;  를 해석하면,

==>cat5 테이블에서 name 이 'Ringo' 인 데이터의 breed 를 'British'로 바꿔라 이다.

 

앞에서는 'Ringo'의 breed는 'Taddy'였다.  그러나 바로 위에서 'British'로 바뀐걸 볼 수 있다.

 

위의 문법을 토대로 조금씩 변형 해가며 기존의 데이터를 원하는대로 바꾸는 것이 가능하다.

 

다시 한번 테이블을 보겠다.

 

이제 테이블 정보를 지워보겠다.

 

먼저 고양이 이름이 Egg인 데이터를 삭제하겠다.

 

delete from cat5 where name = 'Egg';

=> cat5테이블에서 이름이 'Egg'인 데이터를 삭제하겠다.

 

위의 화면은 명령어를 실행시키고 난 뒤의 화면이다.

 

name 컬럼에서 Egg란 데이터의 행이 삭제되었다.

 

개별적 데이터 말고 , 전체 데이터 삭제가 가능하다.

 

delete from cat5   

 

하지만 전체데이터가  다 삭제되기때문에 항상 조심해야한다.

 

 

댓글