[Database] 데이터베이스(DB)

jsieon97·2023년 2월 24일

[Spring] BackEnd

목록 보기
4/11

데이터베이스란?

데이터베이스 정의 데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음으로서 일반적으로 컴퓨터 시스템에 전자적으로 저장됩니다 데이터베이스는 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어됩니다.

SQL

구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어

관계형 데이터베이스
관계형 데이터베이스는 데이터가 하나 이상의 열과 행의 테이블(또는 '관계')에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악하고 이해할 수 있도록 사전 정의된 관계로 데이터를 구성하는 정보 모음

주로 사용하는 SQL명령어

데이터 정의어(Data Definition Language)

DB 생성

CREATE DATABASE DB이름

DB 사용

USE DB이름

DB 삭제

DROP DATABASE DB이름

TABLE 생성

CREATE TABLE 테이블이름(
    id INT(11) NOT NULL AUTO_INCREMENT,
    title VARCHAR(100) NOT NULL,
    description TEXT NULL,
    PRIMARY KEY(id)
);

//NOT NULL : 공백 허용 하지 않겠다는 옵션

//AUTO_INCREMENT : 자료형이 INT(정수형)일때 적용 가능,
//                 데이터가 많이질때마다 1씩 자동 증가

//PRIMARY KEY(컬럼명) : 중복 값 허용 안하는 컬럼 1개 선택 
//                    (테이블 내 고유값 필요한 경우)

TABLE 이름 변경

RENAME TABLE 기존테이블이름 TO 새로운테이블이름

TABLE 삭제

DROP TABLE 테이블이름;

데이터 조작어(Data Manipulation Language)

TABLE 데이터 추가

INSERT INTO 테이블이름 (컬럼1,컬럼2,컬럼3 ...) VALUES (값1,값2,값3 ...)

TABLE 데이터 조회

SELECT * FROM 테이블이름;

TABLE 데이터 조회(열(col) 컬럼 필터)

SELECT 컬럼1, 컬럼2 FROM 테이블이름 // 컬럼1, 컬럼2만 조회

TABLE 데이터 조회(행(row) 컬럼 필터)

SELECT * FROM 테이블이름 WHERE 컬럼명=찾는데이터

TABLE 로우 데이터 정렬 (행(row) 데이터 정렬)

ASC : 오름차순 , DESC : 내림차순

SELECT * FROM 테이블이름 ORDER BY 컬럼명 DESC (오름차순 정렬)

SELECT * FROM 테이블이름 ORDER BY 컬럼명 ASC (내림차순 정렬)

TABLE 데이터 수정

[테이블 명 : Person]
+----+---------+-----------------+--------+-----------+
| id | title   | description     | author | profile   |
+----+---------+-----------------+--------+-----------+
|  1 | TITLE   | TITLE is ...    |  lee   | student   |
|  2 | TITLE2  | TITLE2 is ...   |  kim   | teacher   |
|  5 | TITLE3  | TITLE3 is ...   |  lee   | developer |
+----+---------+-----------------+--------+-----------+


UPDATE Person SET description='TITLE1 is ...' WHERE id=1;
// description열의 id=1인 데이터 수정

SELECT * FROM Person WHERE id=1;

+----+---------+-----------------+--------+-----------+
| id | title   | description     | author | profile   |
+----+---------+-----------------+--------+-----------+
|  1 | TITLE   | TITLE1 is ...   |  lee   | student   |
+----+---------+-----------------+--------+-----------+

TABLE 데이터 삭제

[테이블 명 : Person]
+----+---------+-----------------+--------+-----------+
| id | title   | description     | author | profile   |
+----+---------+-----------------+--------+-----------+
|  1 | TITLE   | TITLE is ...    |  lee   | student   |
|  2 | TITLE2  | TITLE2 is ...   |  kim   | teacher   |
|  5 | TITLE3  | TITLE3 is ...   |  lee   | developer |
+----+---------+-----------------+--------+-----------+


DELETE FROM Person WHERE id=1;
// person열의 id=1인 데이터 삭제

SELECT * FROM Person;

+----+---------+-----------------+--------+-----------+
| id | title   | description     | author | profile   |
+----+---------+-----------------+--------+-----------+
|  2 | TITLE2  | TITLE2 is ...   |  kim   | teacher   |
|  5 | TITLE3  | TITLE3 is ...   |  lee   | developer |
+----+---------+-----------------+--------+-----------+

TABLE 컬럼 확인

DESC 테이블이름;
profile
개발자로써 성장하는 방법

0개의 댓글