여니의 프로그래밍 study/MySQL

[SQL문 #02] SQL을 이용해 데이터 조작하는 방법에 대해 알아보자!

여니's 2020. 5. 25. 10:28

안녕하세요

공대생 블로거 여니입니다:)

오늘은 SQL을 이용해서 데이터를 조작하는 방법에 대한 포스팅을 올려보려고 합니다..!

저번 포스팅에서는 SQL을 이용해 데이터 정의하는 방법에 대해 설명드렸었죠!

https://eboong.tistory.com/100

 

[SQL문 #01] SQL을 이용해 데이터 정의하는 방법에 대해 알아보자

안녕하세요 공대생 블로거 여니입니다:) 오늘은 비가 주륵주륵 내리네요~!? 다들 우산 꼭 챙기셔야 할 것 같아요! 헤헤 오늘 포스팅에서는 SQL을 이용해 데이터 정의하는 방법에 대해 알아보는 시

eboong.tistory.com

혹시 포스팅을 보고 오지 않으신 분들을 위해 링크 걸어둘테니까!

이거 읽고 오시면 좋을 것 같아요!

 

자자, 다시 본론으로 돌아와서

데이터베이스를 사용하는 이유가 뭘까요!?

바로 원하는 데이터를 쉽게 검색하고 사용하기 위해서죠!

그리고 무엇보다도 동시공유가 가능하니까 데이터 관리하기도 쉽구요!!

 

근데 데이터베이스의 데이터들을 관리하려면 SQL문을 사용해야 하기에 SQL문을 익혀두면 훨씬 편하겠죠!?

저도 그래서 열심히 공부중입니다 하하

 

SQL의 데이터 조작 기능(DML : Data Manipulation Language)은 데이터 검색하고,수정,삭제,삽입 등 다양한 기능을 수행합니다.

 

(1) 데이터 검색 : SELECT

자, 테이블에 있는 데이터를 검색하기 위해서는 SELECT문을 사용해야 합니다!

SELECT 속성이름 FROM 테이블이름;

이게 바로 SELECT문의 기본적인 형식입니다. 나중에 더 조건들을 추가해서 검색을 할 수 있으나 일단은 이런식으로만 설명을 먼저 해둘게요!

예를 들어 실습을 하나 해볼까요?

먼저 컴퓨터에 있는 database들을 살펴볼게요!

show databases;

를 입력하게 되면 이런식으로 컴퓨터에 저장되어 있는 데이터베이스들을 볼 수 있어요:)

저는 yeony라는 데이터베이스를 하나 생성해보도록 할게요 ㅎ.ㅎ

create database yeony;

 

이런식으로 yeony라는 이름의 데이터베이스가 생성된 것을 확인할 수 있어요!

 

use yeony;

이제 yeony라는 데이터베이스를 사용할 수 있도록 설정을 해놨으니까!

이제 테이블을 하나 생성해보도록 할게요

create table 개인정보(

이름 varchar(15) not null,

나이 int,

직업 varchar(20),

주소  varchar(100));

 

테이블을 만들었으면 show tables; 를 쳐보세요!

그러면 저희가 방금 만든 개인정보라는 데이터테이블이 들어와있는 것을 확인할 수 있어요!!

이제 desc 개인정보;

입력해주시면, 저희가 방금 만든 테이블의 속성이름, 형식 다 볼 수 있는 표가 나옵니다!!

이제 제대로 만들어졌으니까, 속성을 검색하기 전에 테이블에 값을 하나 입력을 해주고 시작을 해볼게요

(그래야 검색 기능을 활용할 수 있겠죠~!?)

데이터 삽입을 일단 미리 공부한다 생각하고 일단 자세한 건 select 부분 끝나고 바로 다루니까요...헤ㅔㅎ

insert into 개인정보 values('여니',20,'학생','서울광역시');

이렇게 일단 입력을 해서 데이터를 하나 삽입을 해줍니다

 

이제 데이터가 잘 들어갔는지 확인을 해봐야겠죠?

select * from 개인정보;

이렇게 입력하시면 현재 개인정보라는 테이블에 들어있는 모든 데이터들을 확인 할 수 있어요.

 

만약에 개인정보 테이블에서 이름속성만 검색하고 싶다면?

select 이름 from 개인정보;

이런식으로 입력을 하면 되겠죠!

이렇게 데이터가 적게 들어가있는 경우에는 문제가 되지 않는데, 만약에 동일한 이름이 입력되어 있을경우를 한번 생각해볼까요??

 insert into 개인정보 values('여니','22','직장인','대전광역시');

이렇게 이름만 동일한 데이터를 하나 더 삽입해볼게요!

만약 중복된 이름을 하나만 출력하고 싶다면?

select distinct 이름 from 개인정보;

이렇게 입력을 해주시면 되겠죠!

즉 distinct라는 키워드가 중복되는 컬럼의 값은 제거하고 하나만 보여주는 역할을 한다는 것을 알 수 있어요

 

음음 좀 더 많은 검색 방법을 다뤄보기 위해서 데이터를 좀 더 삽입시켜보도록 할게요

insert into 개인정보 values('홍길동',24,'군인','인천광역시');

insert into 개인정보 values('김태희',26,'공무원','서울광역시');

insert into 개인정보 values('김우빈',29,'연예인','광주광역시');

insert into 개인정보 values('김미경',44,'주부','부산광역시');

 

이렇게 개인정보 테이블 안에는 6명의 개인정보가 저장되어 있는 것을 확인할 수 있습니다!!

이제 좀 더 다양하게 select문을 활용해보도록 할게요~

 

1. 나이가 24살 이상인 사람들의 정보를 검색하기

검색할 때 조건을 붙이려면 where 쿼리문을 사용하면 되는데요!

일단 where 쿼리문에 관련된 내용도 방대하기에.. 이것도 따로 포스팅을 올리도록 하겠습니다.

일단 여기서는 검색할 때 조건을 주기 위한 쿼리문이라고만 알고 계시면 좋을 것 같아요!!

select 이름,나이,직업,주소 from 개인정보 where 나이>=24;

이렇게 입력을 하게 되면 나이가 24살인 사람들의 정보만 검색해서 출력해줍니다!

 

음... 안될 것 같아요

검색하는 방식이 너무 방대해서

하나하나 따로따로

다시 .. 포스팅을 진행해야 겠습니다 ㅠㅠ

어휴.. select에서 다룰 부분이 너무 많아서..

오늘은 데이터삽입,수정,삭제 부분도 못다룰 것 같네요 ㅠㅠ

다음 포스팅에서 계속 다뤄볼게요..

 

(2) 데이터 삽입 : INSERT

(3) 데이터 수정  : UPDATE

(4) 데이터 삭제 : DELETE