MySQL

MySQL 기본문법 활용

커피마시기 2023. 10. 26. 00:50

 

■ MySQL 활용

MySQL을 활용하여 맘대로 DB, Table 생성후 쿼리문 적용해보기

 

 

● soccer 데이터베이스 생성

 

 

● table을 생성하고 필드에 auto_increment, primary key를 id에 주어 들어가는 순서대로 자동생성하게 해주었고 이름,유니폼번호,포지션,나이,국적,입단 년도  생성

 

 

 

 

●  table이 생성됬는지 show tables; 로 확인한 후 Insert into 테이블명 values(); 를 써서 적은 순서대로 입력 

 

 

 

● 입력 후 잘 들어갔는지 확인을 위해 select * from 테이블명; 을 통해 확인해주었고 잘들어갔다

 

 


 

● 이것저것 select문 활용

 

 

1) name과 position만 출력하되 name을 내림차순으로 정렬

select 컬럼명, 컬럼명 from 테이블명 order by 컬럼명 desc;

결과

 

 

 

2) where을 이용하여  입단년도가 2019  ~ 2022 인 컬럼의 수 출력

// 이름이 total로 출력
select count(*) as total from 테이블명 where 컬럼명 >= 2019 and 컬럼명 <= 2022;

// 이름이 목록으로 출력
select count(*) as '목록' from 테이블명 where 컬럼명 >= 2019 and 컬럼명 <= 2022;

결과

 

 

 

3) between을 이용하여 2020 ~ 2023 입단년도의 name과 nation을 출력하되 name을 내림차순으로 정렬

select 컬럼명, 컬럼명 from 테이블명 where 컬럼명 between 조건1 and 조건2 order by 컬럼명 desc;

결과

 

 

 

4) like를 이용하여 해당 테이블에서 name에 '검색어'가 포함된 player만 출력 

select * from 테이블명 where 컬럼명 like '%검색어%';

 

 

 

 

5) like를 이용하여 해당 테이블에서 name에 '검색어'가 포함된 player만 출력하되 Age가 28이상인 player만 출력

select * from 테이블명 where 컬럼명 조건 and 컬럼명 like '%검색어%';

4)와 동일하지만 age가 26인 player는 빠진 부분

 

 

 

6) name,position,start를 출력하되 입단년도를 내림차순으로 정렬하여 정렬한 2번부터 5개만 출력

select 컬럼명1,컬럼명2,컬럼명3 from 테이블명 where order by 컬럼명 desc limit [출력할 인덱스번호],[개수];

limit 사용 x
limit 사용 o

 

 

 

7) group by를 사용하여 각 position의 개수를 출력하되 개수가 5개 이상인 position만 출력

select 컬럼명, count(*) AS total from 테이블명 group by 컬럼명 having total 조건;
select 컬럼명, count(*) AS '총 합' 테이블명 group by 컬럼명 having count(*) 조건;

group by를 사용해 각 position 개수 전부 출력
group by ~ having 사용하여 total이 >= 5 position만 출력

 

 

 

 


 

 

Today short review

이것저것 select를 사용하여 출력해보았는데 이후에 추가적으로 soccer 데이터베이스에 다른 팀 테이블을 생성하여 join도 연습해볼 예정이다

'MySQL' 카테고리의 다른 글

MySQL 조인(JOIN)  (1) 2023.10.28
기본 SQL문법 정리  (1) 2023.10.22