본문 바로가기
MySQL

MySQL(데이터베이스)

by 글로리. 2020. 6. 17.

1. 데이터베이스 접근하기

1) 서버와 클라이언트

이름 설명
 서버 다른 프로그램이 요청에 적절한 결과를 만들어 응답을 보내는 소프트웨어
 클라이언트 서버에 접속해 요청을 보내는 소프트웨어, 서버의 통신규격을 따라야 함.
  • 예) 웹 크롤링 할때,
    파이썬(클라이언트) 에서 OpenAPI(서버)에게 URL형태로 요청을 하면 OpenAPI는 json형태로 응답을 한다.

2) 데이터베이스 서버

  • MySQL, Oracle, MSSQL과 같은 DBMS는 다른 프로그램의 요청에 따라 데이터를 조회, 입력, 수정, 삭제하고 그에 따라 결과를 돌려주는 역할을 하므로 "데이터베이스 서버" 라 한다.
  • 웹 브라우저의 종류가 다양하듯 MySQL에 접속하기 위한 클라이언트도 다양함.

3) Excel과의 비교

  Excel DBMS
속성 *.xlsx 형식의 파일들을 관리하는 MS-Office 프로그램 데이터베이스들을 관리하는 소프트웨어
실행방법 Excel 파일 더블클릭 use 데이터베이스 이름;
관리방법 Excel파일안에 있는 시트에서 여러개의 표로 관리 데이터베이스안에서 여러개의 Table로 관리
용어 파일 DATABASE(데이터 베이스)
Table(테이블)
Record(레코드)
Column(컬럼), Field(필드)

2. 데이터베이스 실행

1) 현재 시스템안의 데이터베이스 목록 보기

show databases;

 

컴퓨터 안에 있는 데이터베이스 목록

2) 사용할 데이터베이스 열기

DBMS가 관리하는 데이터베이스 중 하나 열기.

use <데이터베이스 이름>;

 

myschool 데이터베이스 열기

3) Table의 이해

Excel에서 '표' 형태를 DBMS에서는 'Table' 이라 한다.

show tables;

 

myschool 데이터베이스 안에 있는 Table목록

4) Table의 구성요소

특정 테이블에 저장되어 있는 모든 데이터 조회

select * from <테이블이름>;

 

5) Table의 구조 확인

Table안에 있는 컬럼을 설명.

desc <테이블이름>;

 

3. 데이터 기본조회 구문

1) 전체데이터 조회하기

방법 1.

select * from <테이블이름>;

 

방법 2.

select 컬럼1, 컬럼2, 컬럼3, ~~~~~, 컬럼n from <테이블이름>;

 

  • 방법2가 손이 많이가고 귀찮지만 조회속도가 더 빨라 실무에서는 방법2를 주로 사용함.

2) 원하는데이터만 조회

원하는 컬럼만 명시하면 됨.
입력하는 순서에 따라 출력 순서를 바꿀수 있다.

3) 중복 행 제거

값의 종류를 확인할 때 사용.
입력키워드가 완벽하게 일치할 때 적용됨.

select distinct * 컬럼1, 컬럼2, ~~ 컬럼n from <테이블이름>;

 

4) 컬럼이름 뒤에 공백으로 구분하는 경우

자바에서 멤버변수로 변환할 때 적용

select 컬럼1 '별칭1', 컬럼2 '별칭2', ~~~~~~, 컬럼n '별칭n' from <테이블이름>;


학과테이블(department)에서 dname --> 학과이름, deptno --> 학과번호 로 부여

5) 컬럼이름 뒤에 AS키워드를 사용하는 경우

select 컬럼1 as '별칭1', 컬럼2 as '별칭2', ~~~~, 컬럼n as '별칭n' from <테이블이름>;


학과테이블(department)에서 dname --> Department_Name, deptno --> Department_Number 로 부여

4. 산술 연산자의 사용

SELECT 절에서의 산술 연산자 사용

컬럼이름에 산술 연산을 적용하면 조회결과에 적용되어 출력.
원본데이터는 변하지 않음, 값을 가공하여 출력가능.
< 원본데이터가 변하는 경우는 입력, 수정, 삭제 했을때 임. >

예제

교수테이블(professor)에서 교수이름(name), 급여(sal), 보너스를 포함한 연봉을 출력하라.

5. 검색조건 지정

1) WHERE절을 사용한 검색조건 지정

select [distinct] {*|컬럼이름 [as `별칭`] ~~} from <테이블이름> [where 검색조건];


명령어에서 "[ ]" 은 생략가능함. 검색조건에는 비교 연산자와 논리 연산자 사용가능.

비교연산자의 종류

연산자 설명 연산자 설명
= 같다 != 다르다
> 초과 >= 이상
< 미만 <= 이하

논리연산자의 종류

연산자 설명
AND 모든 조건이 참일 때 참을 반환
OR 모든 조건이 거짓일 때 거짓을 반환
NOT 조건과 반대되는 결과를 반환

예제 1) 비교연산자

학생 테이블에서 1학년 학생만 검색하여 학번, 이름, 학과번호 출력

예제 2) 비교연산자

학생 테이블에서 몸무게가 70kg 이하인 학생만 검색하여 학번, 이름, 학년, 학과번호, 몸무게를 출력

예제 3) 논리연산자

학생 테이블에서 1학년이면서 몸무게가 70kg이상인 학생만 검색하여 이름, 학번, 학년, 몸무게, 학과번호 출력.

'MySQL' 카테고리의 다른 글

MySQL(데이터베이스 생성 및 관리)  (0) 2020.06.19
MySQL(서브쿼리, 데이터 입력·수정·삭제, 함수)  (0) 2020.06.18
MySQL(그룹조회, 조인)  (0) 2020.06.18
MySQL(함수)  (0) 2020.06.18
MySQL(연산자, 정렬)  (0) 2020.06.17

댓글