[취업반 스터디 1달 2주차]

Minseok Jo·2023년 11월 1일
post-thumbnail

[1달 2주차 주제 : 데이터베이스]


1. 데이터베이스

관계형 데이터베이스란?
데이터를 2차원 테이블에 저장하여, 데이터 검색 · 수정 · 삭제 등의 처리를 한다. 기본 구성요소로서 DB테이블 · 필드 · 레코드를 가진다.


2. 데이터베이스 구조

데이터베이스의 구조는 엑셀과 유사하다. 따라서 엑셀에 빗대서 정리를 해보았다.

1) 데이터 베이스
데이터베이스는 데이터를 관리하는 가장 큰 단위로, 엑셀 그 자체와도 같다.

phpMyAdmin 데이터베이스 화면액셀 기본 화면


2) 테이블
하나의 데이터베이스에는 여러개의 테이블이 존재할 수 있다.
이는 액셀에서의 시트와도 같다

데이터베이스의 테이블 member와 score액셀에서의 두개의 시트 member와 score


3) Column
데이터베이스에서 컬럼은 액셀을 작성할때의 세로열과도 같다

데이터베이스에서의 컬럼 구성엑셀을 작성할때 세로열 구성


4) Row
데이터베이스에서 Row는 액셀을 작성할때의 가로열과도 같다

데이터베이스에서의 row 구성엑셀을 작성할때 가로열 구성

이렇게 데이터베이스, 테이블, Column, Row로 전체 DB가 구성되게 된다.


3. 데이터베이스 생성

앞서 데이터베이스의 구조를 먼저 살펴보았는데, 이를 위해 결국 데이터베이스가 생성되어야 한다.
따라서 이번에는 phpMyAdmin에서 데이터베이스를 생성하는 방법을 순서대로 정리하였다.

12
phpMyAdmin 메인화면데이터베이스 → 이름에 sample입력 → 만들기
3
데이터베이스 목록에 sample 데이터베이스 생성 완료

4. 사용자 계정 생성

앞서 생성한 데이터베이스를 이용하기 위해서는 사용자 계정을 추가해주어야 한다.
따라서 이번에는 MySQL의 사용자 계정을 생성하는 방법을 순서대로 정리하였다.

12
좌측 홈 아이콘 → 사용자 계정 → 사용자 추가순서대로 사용자명(user), 호스트명(localhost), 암호&암호 재입력 완료후 하단의 실행 클릭
34
"새 사용자를 추가했습니다" 메시지가 나타나면 생성 완료새로운 사용자 계정이 만들어지면 데이터베이스 작업을 할수 있는 권한이 부여되어야한다.
: 좌측 홈 아이콘 → 사용자 계정 → 권한 수정
56
전체적 권한 항목에 '모두 체크' 선택 → 하단의 실행 버튼 클릭권한 업데이트 완료 화면이 나타나면 권한 부여 완료

5. 사용자 계정으로 접속

기존 root 계정 대신에 앞서 생성한 사용자 계정 user로 접속하려면, C:\xampp\phpMyAdmin 폴더에 있는 config.inc.php 파일을 수정해주어야 한다. (XAMPP 기준)

12
기존 config.inc.php 파일 내용auth_type과 user 부분을 다음과 같이 변경 후 저장
34
주소창에 localhost 입력 후 phpMyAdmin에 접속하면 로그인 화면이 나타난다로그인 후에 다음과 같은 화면이 나타나면 실습 준비 완료

6. SQL

SQL이란?
Structured Query Language (구조적 질의 언어)의 줄임말로, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어이다.

이번에는 데이터베이스에 저장되어 있는 정보들을 관리하는 기본 SQL 질의문들에 대하여 정리하고자 한다.


1) insert 명령
데이터베이스에서 데이터를 다루려면 먼저, 데이터가 존재하여야 할것이다.
DB테이블에 데이터를 삽입하는 명령은 insert로, 사용 형식은 다음과 같다.

insert into 테이블명 (필드1, 필드2, ...) values (1,2, ...);
insert into (num, id, pass, name, email) values (1, 'admin', 'admin1234', '어드민', '~@gmail.com');
실행결과, 입력한 정보가 데이터베이스에 추가되었다.
insert 명령을 3번 사용하여, 3개의 레코드를 추가해주었다.


2) select 문
데이터베이스에 저장된 데이터를 다루기 위해서는 그 데이터를 가져와야 한다.
데이터를 가져오는 명령은 select로, 사용 형식은 다음과 같다.

select 컬럼1, 컬럼2, ... from 테이블명
select id from memeberselect num, name from member
실행결과, id 컬럼만이 표시되었다.실행결과, num컬럼과 name 컬럼이 표시되었다.


3) where 문
앞서 select문을 사용하면, 모든 데이터가 검색되었다. 하지만 특정 조건의 데이터만을 가져오려면 어떻게 할까?
특정 조건을 만족시키는 레코드를 검색하는 명령은 where로, 사용형식은 다음과 같다.

select 컬럼1, 컬럼2, ... from 테이블명 where 조건식;
select * from memeber where id='user'
member 테이블의 레코드 중, id가 user인 데이터만이 검색되었다.

조건식을 여러개 지정하고 싶은 경우에는 or 와 and 연산자를 사용할 수도 있다.

or 연산자 : 여러 조건중 최소한 하나만 만족해도 True 이다.
and 연산자 : 나열된 조건이 모두 만족해야만 True 이다.

select * from member where id='admin' or num=2select * from member where num>1 and name='유저'
id가 admin 이거나, num이 2인 레코드가 검색되었다.num이 1보다 크고, name이 '유저' 인 레코드가 검색되었다.

0개의 댓글