작업환경 : MariaDB 10.6.11
들어가기 전
Maira DB의 문법은 MySQL과 대부분 유사합니다.
SQL 문법에 관한 부분만 짧고 굵게 작성해서 정리합니다.
1. DB 생성, 사용 - CREATE, use
CREATE DATABASE [생성할DB이름];
--DB 생성
use [DB이름];
--해당 DB 사용
CREATE를 통해 DB를 생성
use를 통해 생성된 DB를 사용할 수 있습니다.
2. 테이블 생성&변수 생성 - CREATE
CREATE TABLE test1 ( [name] [var] PRIMARY KEY);
-- [var] 자료형을 가진 [name] 저장소 생성, 테이블의 이름은 test1
-- PRIMARY KEY는 테이블을 식별할 수 있는 중요값을 뜻함
-- -예시-
CREATE TABLE wooseong_test ( id INT PRIMARY KEY, name VARCHAR(30), age INT);
-- wooseong_test 테이블을 생성하고
-- int형 id(key) varchar형 name, int형 age 세개의 저장소를 생성
테이블을 생성함과 동시에 담을 변수를 함께 생성할 수 있습니다.
PRIMARY KEY란 기본키로 DB의 테이블 식별자로 사용됩니다.
모든 테이블에는 이 기본키가 존재해야 하며 유일하게 구분되는 값이므로 중복이 허용되지 않습니다.
3. DB, 테이블 조회 // show
show databases;
-- 현재 존재하는 DB 출력
show tables;
-- 현재 사용중인 DB에 존재하는 테이블 출력
tables는 DB내에 존재하므로 DB를 선택한 후 조회할 수 있습니다.
이렇게 show를 통해 현재 생성되어있는 DB와 테이블을 조회해볼 수 있습니다.
4. 테이블에 값 삽입 - INSERT
INSERT INTO [테이블] VALUES ('값1','값2'...);
-- 테이블에 값1, 값2를 삽입
-- -예시-
INSERT INTO inf VALUES ('sudong',2,'GwangJu');
-- inf 테이블에 'sudong',2,'GwangJu' 세 개의 값을 삽입
테이블을 생성했고 테이블에 각 자료형을 생성해 주었다면
해당 자료형에 맞는 값을 INSERT를 통해 넣어줄 수 있습니다.
'sudong'은 VARCHAR형 에 해당하는 Name 필드에 삽입되었고
2는 int형인 List_num 필드에 삽입되었습니다.
4. 테이블 조회 - SELECT
SELECT 문은 테이블의 값을 조회하는 기능으로 가장 많이 사용하게 될 구문입니다.
SELECT * from [테이블];
-- 테이블의 모든 값을 조회합니다.
-- -예시-
SELECT * from inf;
-- int 테이블의 모든 값을 조회합니다.
가장 기초적인 조회 구문으로는 * 을 통해 전체를 조회하거나
특정값에 대한 조회만을 해올 수도 있습니다.
SELECT [값1,값2] from [테이블];
-- 테이블에서 값1과 값2에 대한 조회를 수행
-- -예시-
SELECT List_num,Address from inf;
-- inf 테이블에서 List_num과 Address 값에 대한 조회를 수행
그 외에도 다양한 구문을 짜볼 수 있습니다.
그중 다른 질의문을 사용하지 않는 간단한 구문만 짜보겠습니다.
4-1. 테이블 조회 제한 설정 - SELECT, LIMIT
SELECT * FROM [테이블] LIMIT 5;
-- 테이블의 모든 값중 상위 5개만 조회
SELECT * FROM [테이블] LIMIT 2,4;
-- 테이블의 모든 값중 2-4 사이의 값만 조회
4-2. 테이블 조회 수치 설정 - SELECT, MAX, MIN
SELECT MAX,MIN(값) from [테이블];
-- MAX(값) 혹은 MIN(값)에 해당하는 테이블 조회
-- -예시-
SELECT MAX(List_num) from inf;
-- inf 테이블에서 List_num 값이 가장 큰 결과값을 조회
-- List_num은 int형 값으로 결과는 숫자가 가장 큰 필드가 반환됨
SELECT MIN(List_num) from inf;
-- inf 테이블에서 List_num 값이 가장 작은 결괏값을 조회
-- List_num은 int형 값으로 결과는 숫자가 가장 작은 필드가 반환됨
SELECT MAX(Name) from inf;
-- inf 테이블에서 Name 값이 가장 큰 결괏값을 조회
-- Name은 VARCHAR형 즉 문자형 자료형으로 알파벳 순으로 가장 늦는것을 반환
SELECT MIN(Name) from inf;
-- inf 테이블에서 Name 값이 가장 작은 결괏값을 조회
-- Name은 VARCHAR형 즉 문자형 자료형으로 알파벳 순으로 가장 빠른것을 반환
4-3. 테이블 조회 집계 - SELECT, COUNT
SELECT COUNT(*) FROM [테이블];
-- 테이블의 모든 데이터 집계
-- -예시-
SELECT COUNT(*) from inf;
-- inf 테이블의 모든 열 집계 -> 개수로 반환됨
SELECT COUNT(Name) fron inf;
-- 만약 inf 테이블에 Name 필드가 Null인 데이터값이 있으면 제외되고 집계됨
여기까지 CREATE,INSERT,SELECT문
그리고 SELECT의 부가적인 기능 몇가지를 적었습니다.
다음에는 조금 더 심화 구문으로 공부해보겠습니다.
다른글
'정보보안 > DB,SQL' 카테고리의 다른 글
SQL Injection 용 Maria DB 설치와 기초 설정법 - admin 계정 생성, 기초 설정 (0) | 2022.12.20 |
---|---|
Mongo DB - [unable to connect: connect ECONNREFUSED 127.0.0.1:27017] 에러 이슈 (1) | 2022.10.25 |
Visual Studio Code에서 Flask 웹서버에 MongoDB 연동하고 쿼리 저장하기(windows) (1) | 2022.10.12 |
MongoDB 3.7 버전 이상 db.collection.count() 메서드 사용불가 이슈 (0) | 2022.09.01 |
SQL문법 3종류 짧고 굵게 정리- DDL, DML, DCL (0) | 2022.08.15 |
댓글