실행 환경 세팅
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 |