SQL이란
관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어이다.
SQL의 특징
1. SQL은 대소문자를 가리지 않는다.
(단, 서버 환경이나 DBMS 종류에 따라 데이터베이스 또는 필드명에 대해 대소문자를 구분 하기도 한다.)
2.SQL 명령은 반드시 세미콜론(;)으로 끝나야한다.
3. 고유값은 따옴표('')로 감싸준다.
ex) select * from table where name = 'James';
4.SQL에서 객체를 나타낼 때는 백틱(``)으로 감싸준다.
ex) select `cost`, `type` from `invoice`;
5. 주석은 문장앞에 --를 붙여서 사용한다.
6. 여러 줄 주석은 /* */로 감싸준다.
SQL사용하기
1. 테이블 생성하기(CREATE)
CREATE TABLE IF NOT EXISTS courses (
id bigint NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
tutor varchar(255) NOT NULL,
PRIMARY KEY (id)
);
@코드 분석:
CREATE TABLE IF NOT EXISTS courses
CRATE TABLE: 테이블을 생성한다
IF NOT EXIST: 해당 테이블이 존재하지 않는다면,
courses: (태이블명)
id bigint NOT NULL AUTO_INCREMENT
id: (변수명)
bigint: java의 Long과 같다.
NOT NULLAUTO: NULL일 수 없다.
AUTO_INCREMENT: 테이블이 생성될 때 마다 자동으로 생성해준다.(1부터 순차적으로 생성)
title varchar(255) NOT NULL
title: (변수명)
varchar(255): java의 String과 같다.
PRIMARY KEY (id)
primaty key: 기본키
기본키는 해당 테이블에서 가장 기본적인 값을 가진다.
-기본키는 다른 항목과 절대 중복되어 나타날 수 없는 단일 값을 가진다.
-기본키는 절대 null값을 가질 수 없다.
즉, id 객체를 다른 항목과 정대로 중복되어 나타날 수 없는 단일 값을 가지게 한다.
2. 데이터 삽입하기(UPLOAD)
INSERT INTO courses (title, tutor) VALUES
('웹개발의 봄, Spring', '남병관'), ('웹개발 종합반', '이범규');
@코드 분석:
INSERT INTO courses (title, tutor) VALUES
INSERT INTO : ~에 대입한다
courses (title, tutor): courses테이블 안의 데이터인 title, tutor값 지정
Value: 값 지정
('웹개발의 봄, Spring', '남병관'), (): (,)기준으로 각 자리는 (title, tutor)와 같다.->해당 값에 해당 문자열이 대입된다.
3. 데이터 조회하기(READ)
SELECT * FROM courses;
코드 분석:
SELECT: 선택하다
(*): 모든 범위 지정
FROM courses: courses테이블안의 데이터
->courses테이블 내의 모든 데이터를 선택하여 불러온다.
'🍃웹개발 Spring' 카테고리의 다른 글
[Spring] JPA 기초(Domain, Repository) (1) | 2022.09.26 |
---|---|
[Spring] JPA란. (1) | 2022.09.26 |
[Spring] IntelliJ SpringBoot 프로젝트 생성하기 (0) | 2022.09.26 |
[Spring] H2 DB-Engine (2) | 2022.09.26 |
[Spring] RDBMS란. (1) | 2022.09.26 |