03. SQL CRUD - Table 관련

다뉴기·2024년 4월 3일

백엔드 공부 - DB

목록 보기
3/11

기본 지식

테이블 만들기

기본 형태:

CREATE TABLE "테이블명" (
    "속성1"  속성데이터타입 제약조건,
    "속성2"  속성데이터타입 제약조건,
);

값 넣기

기본 형태:

INSERT INTO 테이블명(속성1, 속성2...) VALUES(속성1에 들어갈 값, 속성2에 들어갈 값...);

값 읽어오기

기본 형태:

SELECT 속성명 FROM 테이블명;

값 수정하기

기본 형태:

UPDATE 테이블명 SET 속성=바꿀내용 WHERE 조건;

값 삭제하기

기본 형태:

DELETE 테이블명 WHERE 조건;
  • DELETE * 테이블명 하지 않도록 조심하자.

Create - 테이블 만들기

CREATE TABLE "Test" (
	"Index"	INTEGER NOT NULL,
	"test1"	TEXT NOT NULL,
	"test2"	TEXT,
	PRIMARY KEY("Index" AUTOINCREMENT)
);

Row(행)의 생성과 테이블 조회

INSERT into - 값 생성하기

  • 테이블에 행(=값)을 생성하는 명령어는 다음과 같다.
INSERT into Test(test1, test2) VALUES('가나다', '라마바사');
  • 앞의 컬럼명(속성명)은 값을 속성 순서대로 넣으면 생략이 가능하지만 가급적 생략하지 말자.
  • sql에서는 문자열은 ''(작은 따옴표)로 표시한다.
  • sql 명령문에서 대문자와 소문자는 상관 없으나 가급적 대문자로 적자.
    • 정처기 풀다보니 죄다 대문자더라
  • 여러 값을 한번에 넣으려면 다음과 같이 하면 된다.
INSERT into Test(test1, test2) VALUES('가나다', '라마바사'), ('abc', 'defg');

결과

  • index를 넣지 않았음에도 index값이 알아서 나온 이유는 AI(AUTOINCREAMENT)를 체크해두었기 때문이다.

SELECT - 조회하기

  • 가장 기본적인 테이블의 전체 내용을 불러오는 SQL문은 다음과 같다.
SELECT * FROM Test;
  • 만약 test1 값만 불러오고 싶다면 다음과 같이 입력하면 된다.
SELECT test1 FROM Test;

결과

  • abc를 미리 넣어두어 abc 값도 같이 나온 것을 확인할 수 있다.
  • test1만 출력된 것을 확인할 수 있다.

UPDATE - 수정하기

  • 업데이트, 즉 수정하고 싶다면 아래와 같은 SQL문을 사용한다.
UPDATE Test SET test2 = '라마' WHERE test1='가나다';
  • 여기서 WHERE문은 조건문과 같은데, WHERE 이후의 부분이 없다면 TEST 테이블 안의 모든 값의 test2가 '라마'가 되고 만다.

결과


삭제하기

DELETE

DELETE FROM Test;
  • Test 테이블 자체를 삭제하는 SQL문

SELECT - ORDER BY

ORDER BY 절로 정렬할 수 있다.

  • ASC : 오름차순 정렬
    • default 값. 생략하면 기본적으로 ASC(오름차순)이다.
  • DESC : 내림차순 정렬
    • DESC가 한 글자 더 많으니 무거워서 내림차순이라고 외우자


WHERE

WHERE는 어디를로 이해해두자. FROM은 어디에서로, FROM은 어디서 가져올지를, WHERE은 조건으로 생각하자.
WHERE는 SELECT, UPDATE, DELETE 문에서도 사용할 수 있다.

UPDATE Test SET test2 = '라마' WHERE test1='가나다';

LIKE - 패턴

WHERE 절에서 = 대신에 LIKE를 사용하여 패턴과 일치하는 문자열을 찾을 수 있다.

  • a% : a로 시작하는 문자열을 찾는다.
  • %a : a로 끝나는 문자열을 찾는다.
  • %a% : a가 들어가는 문자열을 찾는다.


알아두면 좋은 내용

SQL문을 실행시키자마자 바로 확정되는 DBMS가 있고 확정된 것처럼 보이는 DBMS가 있다.

  • 바로 확정: 백업본이 있어야 되돌리기가 가능하다.
    • e.g. MSSQL, MYSQL, PostgreSQL
  • 확정된 것처럼 보이는: commit 하기 전까지 DBMS는 변경사항 되돌리기가 가능하다.
    • e.g. Oracle, SQLite

  • SQL과 R은 index를 0이 아닌 1부터 센다.
    • 주로 데이터를 다루는 프로그램들.

0개의 댓글