일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- C언어 #핵심정리
- Hacking #Baic
- C++ 언어 #핵심정리
- PHP #핵심정리
- C언어 # 부록
- C++ 언어 # 핵심 정리
- HTML #핵심정리
- Bandit
- C언어 #부록
- C++ 언어 # 핵심정리
- C언어 # 핵심 정리
- MySQL #핵심정리
- shell_script
- Today
- Total
cCcode
My-SQL [핵심정리] - 1 본문
1. MySQL 소개
MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리시스템으로 오픈소스이며, C언어, C++, JAVA, PHP등 여러 프로그래밍 언어를 위한 다양한 API를 제공합니다.
SQL은 세가지로 분류됩니다.
1) DML(Data Manipulation Language)
○ 데이터 조작 언어
○ 데이터를 조작(선택, 삽입, 수정, 삭제)하는 데 사용되는 언어
○ DML 구문이 사용되는 대상은 테이블의 행
○ DML을 사용하기 위해선 꼭 그 이전에 테이블이 정의되어 있어야합니다.
○ SQL문 중에서 SELECT, INSERT, UPDATE, DELETE가 이 구문에 해당됩니다.
○ Transaction이 발생하는 SQL도 이 DML에 속합니다. → 1) 테이블의 데이터를 변경(입력/수정/삭제)할 때 실제 테이블에 완전히 적용하지 않고, 임시로 적용시키는 것 2) 취소가능
2) DDL(Data Definition Language)
● 데이터 정의 언어
● 데이터베이스, 테이블, 뷰, 인덱스 등의 데이터 베이스 객체를 생성/삭제/변경하는 역할
● CREATE, DROP, ALTER구문
● DDL은 Transaction 발생시키지 않음.
● ROLLBACK 이나 COMMIT 사용불가
● DDL문은 실행 즉시 MySQL에 적용
3) DCL(Data Control Language)
○ 데이터 제어 언어
○ 사용자에게 어떤 권한을 부여하거나 빼앗을 때 주로 사용하는 구문
○ GRANT/REVOKE
※ MYSQL의 구조는 다음과 같습니다.
표들을 서로 (연관된 데이터들을)그룹핑할 때 사용하는 일종의 폴더를 스키마라고 합니다. 이처럼 스키마가 많아지면 스키마를 저장할 장소를 데이터 베이스 서버라고 합니다. 즉, 데이터베이스를 다른말로 스키마라고 합니다.
저는 Bitnami를 이용해 cmd 환경에서 MySQL을 작성할겁니다.
우선 cd 명령어로 해당 경로에서 bin폴더로 접근합니다.
* -u는 user의 약자입니다. ex) uroot - "root라는 사용자로 접속한다"
여기서 root는 일반적으로 관리자이기 때문에 모든 권한이 열려있습니다. 그래서 실제로 root의 권한으로 데이터베이스를 다루는 건 위험하기 때문에 중요한 시스템이라면 별도의 사용자를 만들어서 작업하는 것이 좋습니다.
* -p는 password의 약자입니다.
2. CREATE DATABASE
[형식 - mysql> CREATE DATABASE 데이터 베이스명;]
반드시 세미콜론을 사용하는 것 잊지마세요.
만약 이미 해당 데이터 베이스가 생성되어 있을 경우
해당 오류가 발생합니다. 이럴 경우 [형식 - mysql> DROP DATABASE 데이터 베이스명;]으로 데이터 베이스를 삭제합니다.
3. SHOW DATABASES
현재 서버에 있는 DB를 확인할 수 있습니다.
3. USE
사용할 데이터 베이스 지정합니다. 지정한 후 다시 USE문을 사용하거나 다른 DB를 사용하겠다고 명시하지 않는 이상 모든 SQL문은 해당 DB에서 수행합니다
[형식 - mysql> USE 데이터 베이스명;]
이제부터 내리는 명령들은 Examples 라는 스키마에 있는 표를 대상으로 명령어를 실행하게 됩니다.