2023. 11. 2. 01:16ㆍnormaltic 취업반 5기/내용 정리
데이터베이스 (DataBase)
데이터베이스는 데이터를 저장하는 프로그램으로 주로 WAS와 같이 사용된다. WAS가 동적 페이지 처리를 위한 데이터를 요청하면 데이터베이스는 조건에 맞는 데이터를 WAS에게 제공한다.
데이터베이스 구조는 엑셀에 비유하여 간단히 설명가능하다.
- 데이터베이스(Database) = 엑셀 파일
- 테이블(Table) = 엑셀 시트
- 컬럼(Column) = 열, 세로 데이터, 속성
- 로우(Row) = 행, 가로 데이터, 튜플
웹 서버와 DB
웹 서버와 연결된 DB를 관리하는 방법은 2가지가 존재한다. 하나는 운영체제에서 관리를 하거나 또 하나는 웹에 존재하는 관리 페이지에 접속하여 편리하게 관리하는 방법이 존재한다. 웹 브라우저를 통해 DB 관리 페이지에 접속을 해보자.
웹 관리 페이지는 해당 웹 서버 기본 경로에서 /phpmyadmin을 입력해 주면 접근할 수 있다. 관리자 계정을 입력하여 로그인을 하면 DB 관리 페이지로 접근할 수 있다.
새로운 데이터베이스를 만들기 위해 왼쪽 탭에 '새로운'(new의 번역체)을 클릭한다. 이후 데이터베이스명 기입란에 데이터베이스명을 입력해 주고 오른쪽 콤보박스는 'utf8_general_ci'를 선택해 주고 '만들기'를 클릭해 준다.
데이터베이스를 생성했으면 데이터베이스에 테이블을 생성해야 한다. 테이블은 이름을 입력하고 실행 버튼을 눌러준다. 실행을 눌러주게 되면 테이블의 구조를 입력하는 기입란이 나타나는데 해당 페이지에서 테이블에 필요한 컬럼을 추가 또는 삭제할 수 있다. 컬럼은 '컬럼명', '데이터 형식'. '데이터 길이' 등 여러 조건을 부여할 수 있으며 기본키 제약 조건도 설정할 수 있다. 현재 'student' 테이블에 'idx', 'name', 'score', 'pass' 컬럼을 기입하고 저장을 해주면 추가할 수 있다.
저장 버튼을 클릭하게 되면 'student'테이블이 test_DB 하위노드로 생성되는 것을 볼 수 있다. 또한 student 테이블의 구조도 볼 수 있다.
SQL (Structured Query Language)
SQL은 데이터베이스에서 데이터를 처리하는데 쓰이는 언어를 뜻한다. SQL을 통해 DB에서 데이터를 요청하기도 하고 DB에 데이터를 추가 또는 삭제도 가능하다.
- SELECT [컬럼명] FROM [테이블명] : 데이터 조회 기능, 컬럼 여러 개를 한 번에 조회할 수 있으며 컬럼명에 '*'을 입력하면 모든 데이터를 조회한다는 뜻이다.
- INSERT INTO [테이블명]([컬럼명 1], [컬럼명 2], [컬럼명 3],...) VALUE([값 1], [값 2], [값 3],...) : 데이터 추가 기능
- DELETE FROM [테이블명] WHERE [조건] : 데이터 삭제 기능, 조건이 적혀 있지 않다면 모든 데이터 삭제
- WHERE : 조건을 입력할 때 쓰이며 여러 조건을 입력할 수 있다. 조건 사이에 AND 또는 OR 등을 입력하여 여러 조건이 가능하다.
WAS와 DB 연결
WAS와 DB를 연결시키기 위해 PHP 언어를 사용한다. DB 연결을 위해서는 DB 서버 주소와 DB 계정 정보, 그리고 연결할 DB 이름에 대한 정보가 필요하다. 이 정보들은 바뀌면 안 되는 값들이기에 define() 함수를 사용하여 상수화 시켜준다.
- mysqli_connect(db_server, db_username, db_password, db_name) : 파라미터에 적합한 값을 기입하면 알맞은 DB에 연결을 시켜주는 함수이다. DB와의 연결을 성공적으로 수행해야 DB에서 데이터를 제공받을 수 있다.
- mysqli_query( [DB 연결], [쿼리문] ) : 작성한 쿼리문을 특정 DB에 적용하여 처리되어 나온 결과값을 return 해주는 함수이다.
- mysqli_fetch_array([mysqli_query에 의한 값]) : 쿼리문에 의한 값을 배열로 저장한다. 만약 출력된 결과값이 여러 개라면 해당 함수를 호출할 때마다 위에서부터 아래 순으로 출력한다. (ex. 출력된 결과 값이 3개이면 $row=mysqli_fetch_array($result)를 호출 할 때마다 $row에 저장되는 값이 다르다, 첫 번째 호출하면 첫번째 결과 값을 배열에 담고, 두 번째 호출하면 두번째 결과값을 배열에 담고, 세번째 호출하면 세번째 결과값을 배열에 담고 네 번째 호출 시에는 NULL값을 담는다.)
- mysqli_close([DB 연결]) : 현재 연결된 DB와의 연결을 종료시키는 함수다.
'normaltic 취업반 5기 > 내용 정리' 카테고리의 다른 글
[normaltic 취업반 5기] 2023-11-29 6주차 내용 정리 (0) | 2023.11.29 |
---|---|
[normaltic 취업반 5기] 2023-11-22 5주차 내용 정리 (0) | 2023.11.22 |
[normaltic 취업반 5기] 2023-11-15 4주차 내용 정리 (0) | 2023.11.15 |
[normaltic 취업반 5기] 2023-11-08 3주차 내용 정리 (0) | 2023.11.08 |
[normaltic 취업반 5기] 2023-10-25 1주차 내용 정리 (0) | 2023.10.25 |