Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발공부일지

Database - SQL, DDL, DML 본문

DataBase

Database - SQL, DDL, DML

보람- 2023. 9. 19. 16:58

 


목차

1. SQL 개요

2. DDL 데이터 정의어

3. DML 데이터 조작어

4. DCL 데이터 제어어


 

 

1. SQL 개요

 

  • DDL 데이터 정의어

  - Data Definition Language

  - create, show, drop, alter

  - 만들고 보여주는 기능

  - entity를 만드는것과 같다고 할수있다.(table 만들기)

 

 

  • DML 데이터 조작어

  - Data Manipulation Language

  - 가장많이 사용하는 기능!

  - CRUD (insert, select, update, delete)

 

 

  • DCL 데이터 제어어

  - Data Control Language

  - grant, revoke

 

 

 

 

2. DDL 데이터 정의어

- CREATE, SHOW, DROP, ALTER

CREATE DATABASE site;
# CREATE SCHEMA site;

SHOW DATABASES;

DROP DATABASE site;
CREATE DATABASE site;

USE site;
CREATE TABLE Boards(
	id INT AUTO_INCREMENT,
    title VARCHAR(200) NOT NULL,
    content TEXT,
    writer VARCHAR(20) NOT NULL,
    created_at DATETIME DEFAULT NOW()
    hit INT DEFAULT 0,
    PRIMARY KEY(id)
);

SHOW TABLES;
DESC Boards;

ALTER TABLE [테이블명] RENAME TO [바꿀테이블명];
show tables;

 

 

 

3. DML 데이터 조작어

 

INSERT INTO 테이블명(필드명, ...) values(값, ...);
INSERT INTO Boards(title, content, writer) values('제목1', '내용입니다', 'boram');

SELECT * FROM Boards WHERE 필드명=값;
SELECT * FROM 테이블명 WHERE id=1;

UPDATE 테이블명 SET 필드명1=값, 필드명2=값 WHERE 필드명=값;
UPDATE Boards SET title='수정', content='수정해보기' WHERE id=2;

DELETE FROM 테이블명 WHERE 필드명=값;
DELETE FROM Boards WHERE id=2;

 

 

 

4. 제약조건 

 

- AUTO_INCREMENT :  자동으로 1씩 증가

- PRIMARY KEY : 중복입력 불가 Null 허용X

- UNIQUE : 중복입력 불가 Null 허용

- NOT NULL : 빈값 입력 불가

- DEFAULT : 값 입력이 없을경우 기본값

 

 

5. 앞으로 만들어 볼것

 

- 검색기능 (제목, 내용, 제목+내용, 작성자 검색하기)
- 페이징네이션 (10개씩)
- 좋아요 기능
- 해쉬태그
- 카테고리
- 댓글
- 대댓글

 

 

 


※ 맨뒤에 ; (세미콜론)  입력하기!!!!

 

※ 지금까지 배운내용으로 만든 Web Server를 보자면

entity.js → table, field

repository.js → sql 문법

   (findOne, findAll, create, update, delete 만들었던것 전부)

 

 

※ 교수님 github 참고하기

 

 

 

 

'DataBase' 카테고리의 다른 글

Database - Database connection  (0) 2023.09.20
Database - sql 계정 생성, mysql2 설치, net-tools설치  (0) 2023.09.20
Database - MySQL , DBMS, RDBMS  (0) 2023.09.18