본문 바로가기

학교 수업/데이터베이스

데이터베이스(2) 기초

실행 환경 세팅

apache2, mysql, php, phpmyadmin을 설치해본다!

패키지가 존재하는지 확인

-- apt-cache search 패키지명
apt-cache search apache2
apt-cache search mysql
apt-cache search php
apt-cache search phpmyadmin

설치

-- apt-get install [패키지명]

-- apache2 설치
apt-get install apache2

-- mysql 설치
apt-get install mysql

-- php 설치, php와 apache2 연동 모듈 설치, php와 mysql 연동 모듈 설치, 나머지 php확장 모듈 설치
apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-json php-mcrypt php-zip

-- phpmyadmin 설치
apt-get install phpmyadmin

페이지

-apache2 설치하면 /var/www/html 안에 index.html페이지 자동 추가

-/var/www/html 안에 phpinfo.php페이지 추가
echo "<? php phpinfo(); ?>" | tee /var/www/html/phpinfo.php

url 재작성 기능 모듈 활성화(phpmyadmin으로 들어가기 위해)

a2enmod rewrite

데이터베이스 접속 전

서버의 실행 상태 확인 방법

mysqladmin version

mysqladmin variables

 

데이터베이스 상태 확인

mysqladmin -uroot -p version

스키마 조회

mysqlshow -uroot -p

 

스키마 안의 테이블 조회

mysqlshow [테이블 명] -uroot -p


데이터베이스 접속 후

데이터베이스 접속

mysql -uroot -p

 

스키마 조회

show databases;

 

테이블 조회

show tables;

 

테이블 구조 보기

describe 테이블 이름;

스키마 접속

use 데이터베이스이름;


기본상식

파일 시스템 데이터베이스 관계형 데이터베이스
file(파일) Entity(엔터티) table(테이블)
record(레코드) Tuple(튜플) row(행)
field(필드) attribute(어트리뷰트-속성) column(열)

PHPMYADMIN에 접속 후

information_schema

DB메타 정보(개념 스키마)

읽기 전용, 테이블 이름, 컬럼, 타입, 권한, 등

 

mysql

시스템 메인 DB

외부스키마 및 계정 관련

이벤트, 기능, 플러그인, 등

db, tables_priv, user, 등 주요 계정 권한과 패스워드 등

 

performance_schema

다중작업 모니터링

내부 실행 검사 - 쿼리 분석 및 해석 체크, 락/싱크로, 등

주요 모니터링 - 이벤트, 함수, 정렬, 등

 

sys

실행 중 스키마 내부 로그 요약 및 리포팅


SQL 쿼리문의 개념

DDL(Data Definition Language)

데이터 정의어

CREATE 테이블 생성
ALTER 테이블의 속성의 내용 수정
DROP 테이블 삭제
RENAME 테이블 이름 변경
TRUNCATE 테이블의 내용 삭제
COMMENT 테이블과 컬럼에 설명 달기

 

DML(Data Manipulation Language)

데이터 조작어

SELECT 테이블 조회 SELECT 필드명 FROM 테이블명;
INSERT 테이블에 내용 삽입 INSERT INTO 테이블명(필드명1, 필드명2, 필드명3, ...)
VALUES(값1, 값2, 값3, ...);
UPDATE 테이블에 내용 수정 UPDATE 테이블명 SET 필드명1 = 수정할 값1 WHERE 조건;
DELETE 테이블에 내용 삭제 DELETE FROM 테이블명 WHERE 조건;
MERGE 여러 테이블의 데이터 병합 MERGE INTO TABLE_A USING TABLE_B
ON(병합 조건)
WHEN MATCHED THEN
UPDATE SET 업데이트 내용
(또는 DELETE WHERE 조건)
WHEN NOT MATCHED THEN
INSERT VALUES(컬럼 명)

DCL(Data Control Language)

데이터 제어어

GRANT 권한 부여
REVOKE 권한 회수

TCL(Transaction Control Language)

트랜잭션 제어 언어

COMMIT 변경된 내용을 모두 영구 저장
ROLLBACK COMMIT된 부분까지 복구
SAVEPOINT 트렌젝션을 분할하는 명령어
원하는 분할된 부분으로 복구 가능

 

 

 

'학교 수업 > 데이터베이스' 카테고리의 다른 글

데이터베이스 12주차  (0) 2022.06.12
데이터베이스 11주차  (0) 2022.06.04
데이터베이스 10주차  (0) 2022.06.03
데이터베이스 9주차  (0) 2022.05.30
데이터베이스(2) - DCL  (0) 2022.04.16