[SSAC X 코딩온] (2021.08.20) MySQL 입문

RyuSW·2021년 8월 30일
0
post-thumbnail

✔ 데이터 관리 시스템 :

1) 파일시스템 : 데이터 중복, 데이터 일관성 유지 안됨 
2) DBMS (Database Management System)
  • DBMS (Database Management System)에는 여러 종류가 있다!
    (Ex: Oracle, MySQL, MongoDB, MariaDB 등등)

▶ MySQL : 데이터 전송 속도가 빠르고 유지관리가 편하다.


📚 SQL (Structured Query Language)


※ MySQL 실행 명령문 :

  • 시작 명령어 : systemctl start mysql
  • 실행 명령어 : /usr/bin/mysql -u root -p
  • 비밀번호 입력 : 본인이 지정한 서버 비밀번호

1. 데이터베이스를 만드는 SQL문 (한글 폰트 적용도 같이)

CREATE DATABASE 데이터베이스이름 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

2. 데이터베이스 삭제 SQL문

DROP DATABASE 이름;

3. 데이터베이스 사용

USE 이름;
  1. 테이블 만들기 :

    • 필자는 ID, name, birthday라는 속성을 생성할 것이다.

      ▼ SQL에서 사용되는 데이터 타입

      • 문자형:
        - CHAR() : 고정형 문자길이타입
        - VARCHAR() : 가변형 문자길이타입

      • 숫자형:
        - int() : 정수형 타입
        - float() : 실수형 타입

      • NULL(공백이지만 Empty가 아님):
        - null : 값이 없어도 됨
        - not null : 값이 무조건 있어야 됨

		CREATE TABLE member (
			ID varchar(10) not null,
			name varchar(10) not null,
			birthday date not null
		);

5. 테이블 확인하기 (MySQL 기준)

	SHOW TABLES;
	▼ 결과 화면:
Tables_in_SSAC
member

6. 테이블 정보 상세 확인하기

	DESC 테이블명;
▼ 결과 화면:
FieldTypeNullDefaultExtra
IDvarchar(10)Null
namevarchar(10)Null
birthdaydateNull

7. CRUD (CREATE, READ, UPDATE, DELETE) 작성:

1) C - INSERT

INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES (1,2);
        
INSERT INTO member (ID, name, birthday) VALUES ('kim', '홍길동','2021-08-20');
INSERT INTO member (ID, name, birthday) VALUES ('lee', '성춘향','2021-08-20');
INSERT INTO member (ID, name, birthday) VALUES ('hong', '김철수','2021-08-20');
▼ 결과 화면:
IDnamebirthday
ID홍길동2021-08-20
name성춘향2021-08-20
birthday김철수2021-08-20

2) U - UPDATE

UPDATE 테이블명 SET 컬럼1 =1 (WHERE 컬럼2 =2) --> 컬럼2가 조건2인 데이터의 칼럼1을 값1로 변경한다.

UPDATE member SET name ='김미미' (WHERE ID = 'kim')
▼ 결과 화면:
IDnamebirthday
ID김미미2021-08-20
name성춘향2021-08-20
birthday김철수2021-08-20

3) D - DELETE

DELETE FROM 테이블명 WHERE 컬럼1 = 조건1;

DELETE FROM member WHERE ID = 'kim';
IDnamebirthday
name성춘향2021-08-20
birthday김철수2021-08-20

4) R - SELECT

SELECT 컬럼명 FROM 테이블명 WHERE 조건문(컬럼1 = 조건1);
SELECT * FROM 테이블명; <- 모든 컬럼의 값을 가져온다.

SELECT name FROM member WHERE bithday = '2021-08-20';
namebirthday
성춘향2021-08-20
김철수2021-08-20

5) WHERE문 연산자:

① = : 같다
② != : 같지 않다(<>)
③ <, <=, >, >= : 부등호
④ BETWEEN A AND B : A와 B사이의 값 찾기
⑤ IS NULL : NULL인 값 찾기

6) 검색조건:

① AND : 그리고
② OR : 또는
③ NOT : 아닌 것
④ IN, NOT IN : 조건 범위 지정

7) 패턴 (LIKE): %, _

	SELECT * FROM member WHERE name LIKE '정%'; #'정'으로 시작하는 단어 검색
	SELECT * FROM member WHERE name LIKE '%정%'; #'정'이 포함된 단어 검색
	SELECT * FROM member WHERE name LIKE '%정'; #'정'으로 끝나는 단어 검색
	SELECT * FROM member WHERE name LIKE '김_'; #'김'으로 시작하는 두글자 단어 검색
	SELECT * FROM member WHERE name LIKE '_김'; #'김'으로 끝나는 두글자 단어 검색

8. 테이블값 순서 정렬하기

	SELECT * FROM member ORDER BYASC; # 오름차순, ASC가 기본값임
	SELECT * FROM member ORDER BYDESC; # 내림차순

9. 특정 조회 개수 설정

	SELECT 컬럼명 FROM 테이블명 ORDER BY 타입 LIMIT 숫자;

10. MySQL 데이터베이스 실습 문제 풀이 :

08/20 데이터베이스 답안 제출

profile
배운 것은 항상 그 때 문서화하자!

0개의 댓글