데이터의 집합으로, 다양한 자료를 다양한 형태로 담아 관리하는 매개이다. 다수의 사용자와 응용 프로그램 사이에서 공유하고 동시에 접근하고자 만들어졌다.
앞서 설명한 데이터베이스를 한데 모아 관리하는 소프트웨어이다. 종류로는 계층형, 망형, 관계형, 객체지향형, 객체관계형 DBMS가 있으며 현재로써는 관계형 DBMS가 주를 이룬다. 이 체계를 운영하기 위해 사용되는 언어가 구조화 질의어인 SQL이며, 현재 시장에는 MySQL, PostgreSQL, Oracle, MariaDB 등의 데이터베이스 관리 체계가 있다.
1. 무결성: 데이터가 생성, 조회, 갱신, 삭제되는 과정 중, 오염되거나 중복되지 않게 관리할 수 있다.
2. 독립성: 데이터베이스를 확장하거나 파일의 저장 경로를 변경하더라도 기존 데이터베이스를 기반으로 설계한 응용 프로그램이 영향을 받지 않는다.
3. 보안: 접근이 허가된 사람만 자료를 열람하고 가공할 수 있도록 한다.
4. 중복 최소화: 통합하고 공유하여 이용함으로써 데이터 이용자들이 자신만의 파생버전 데이터를 생성하여 혼동이 발생하거나, 같은 데이터가 비효율적으로 여러 곳에 저장되는 것을 방지한다.
5. 개발 및 유지보수: 응용 프로그램을 파일 각각의 형식에 맞춰 개발하지 않고 통일된 데이터베이스에 맞춰 제작하여, 개발이 용이하고 유지 및 보수 또한 수월해진다.
6. 안전성: 백업 기능과 복원 기능을 이용해 재해나 문제 발생 시 원상 복구에 유리하다.
관계형 DBMS는 데이터베이스 관리 체계의 일종으로 자료를 표 형태로 정리하여 보관한다. 시기적으로 앞서 나온 모델인 계층형 DBMS나 망형 DBMS의 구조적 복잡성과 경직성을 보완하기 위해 표 형태를 도입한 것이다.
[ DBMS 안에 데이터베이스가, 데이터베이스 안에 테이블이, 테이블 안에 행과 열이 있는 구조 ]
종류:
Oracle, MySQL(Oracle) / MS-SQL(Microsoft) / DB2, Infomix(IBM) / Maria DB(Sun Microsystems) / Derby(Apache) / SQLite(Opensource)
SQL은 Structured Query Language (구조적 질의 언어)의 줄임말로, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어입니다.
SQL 문법은 크게 3가지의 종류로 나누어지며, 종류마다 정의는 아래와 같습니다.
SELECT * FROM EMP WHERE NAME = 'James';
COST
, TYPE
FROM INVOICE
;접속 방법
: mysql -u root -p (dbname)
비밀번호 변경
: mysqladmin -u root password 새로운 비밀번호
테이블의 생성
: create table 테이블(col int);
구조 보기
: desc 테이블 / explain 테이블
이름 변경
: rename table A to B
삭제
: drop table 테이블
레코드 삽입
: Insert into table values(v1, v2) / Insert into table(col1, col2) values(v1, v2);
조회
: select * from table A
AS : 칼럼의 이름을 달리 명명해서 출력. (ex) Col1 as 'name'
Desc : 내림차순, Asc : 오름차순 (ORDER BY)
LIMIT 10 : 0~10 까지 레코드 수 제한. / LIMIT 100, 10 : 100~110까지 레코드 범위
수정
: Update 테이블 set col1 = 칼럼1 where 조건
삭제
: Delete from 테이블 where 조건
칼럼 추가
: Alter table 테이블명 add col3 varchar(255) not null.
칼럼 삭제
: Alter table 테이블명 drop col3
칼럼 수정
: Alter table 테이블명 modify col3 char(50) not null.
In : 원하는 필드값만을 선택 추출하는데 사용되는 그룹 조건문
출처: https://jins-dev.tistory.com/entry/MySql-기본-쿼리문들-정리 [Jins' Dev Inside]
글 잘 읽었습니다! 자주 사용하는 쿼리문 사용법에 대해 알고 갑니다👍