Database | SQL CRUD 구문 정리

기본 개념


데이터베이스의 사용

  • 데이터베이스 생성
    CREATE DATABASE 데이터베이스명;

  • 데이터베이스 삭제
    DROP DATABASE 데이터베이스명;

  • 생성된 모든 데이터베이스 출력
    SHOW DATABASES;

  • 명령을 실행할 데이터베이스 설정
    USE 데이터베이스명;


테이블의 사용

  • SQL(Structured Query Language)는 데이터베이스 서버에 요청할 때 사용하는 언어

테이블 생성

CREATE TABEL 테이블명
    컬럼명 데이터형,
    컬럼명 데이터형,
    .
    .
    기본키
);
// 예시
CREATE TABLE topic(
    id INT(11) NOT NULL AUTO_INCREMENT,
    title VARCHAR(100) NOT NULL,
    description TEXT,
    created DATETIME NOT NULL,
    author VARCHAR(30),
    profile VARCHAR(100),
    PRIMARY KEY(id)
);

테이블 조회

  • SHOW TABLES;
  • DESC 테이블명;

테이블 삭제

  • DROP TABLE [IF EXISTS] 테이블명;

테이블 수정

  • 테이블에 새로운 컬럼 추가
    ALTER TABLE [테이블명] ADD COLUMN [추가할 컬럼명][추가할 컬럼 데이터형];

  • 테이블 컬럼 타입 변경
    ALTER TABLE [테이블명] MODIFY COLUMN [변경할 컬럼명][변경할 컬럼 타입];

  • 테이블 컬럼 이름 변경
    ALTER TABLE [테이블명] CHANGE COLUMN [기존 컬럼 명][변경할 컬럼 명][변경할 컬럼 타입];

  • 테이블 컬럼 삭제
    ALTER TABLE [테이블명] DROP COLUMN [삭제할 컬럼 명];


데이터 CRUD

  • Create(생성), Read(읽기), Update(수정), Delete(삭제)

Create 데이터 생성

  • 테이블 전체 컬럼에 대응하는 값을 모두 넣기
    INSERT INTO [테이블명] VALUES(값1, 값2, ...);

  • 테이블 특정 컬럼에 대응하는 값만 넣기 (지정되지 않은 컬럼은 디폴트값 또는 NULL값이 들어감)
    INSERT INTO [테이블명] (컬럼1, 컬럼2, ...) VALUES(값1, 값2, ...);

Read 데이터 읽기

데이터 가져오기

  • 테이블 전체 컬럼의 데이터 모두 읽기
    SELECT * FROM 테이블명;

  • 테이블 특정 컬럼의 데이터만 읽기
    SELECT 컬럼1, 컬럼2, ... FROM 테이블명;

  • 테이블 특정 컬럼의 데이터를 검색하되, 표시할 컬럼명도 다르게 하기
    SELECT 컬럼1 AS 바꿀컬럼이름, 컬럼2 AS 바꿀컬럼이름 FROM 테이블명;

조건에 맞는 데이터 검색하기

  • 비교 연산자 (=, >, >=, <, <=, <>, !=)
    SELECT * FROM 테이블명 WHERE 필드명 = '값';

  • 논리 연산자 (AND OR)
    SELECT * FROM 테이블명 WHERE (필드명='값') OR ( 필드명 ='값');

  • LIKE (와일드카드 %, _와 함께 사용)
    SELECT * FROM 테이블명 WHERE 필드명 LIKE '홍%' 홍으로 시작하는 모든 값
    SELECT * FROM 테이블명 WHERE 필드명 LIKE '%홍%' 홍이 들어간 모든 값
    SELECT * FROM 테이블명 WHERE 필드명 LIKE '홍__' 홍으로 시작되고 뒤에 2글자 붙은 모든 값
    SELECT * FROM 테이블명 WHERE 필드명 NOT LIKE '홍%' 홍으로 시작하지 않는 모든 값

  • IN, BETWEEN
    SELECT * FROM 테이블명 WHERE 필드명 IN (‘London’,‘Seoul’);
    SELECT * FROM 테이블명 WHERE 필드명 BETWEEN 3 AND 10;

  • IS NULL
    SELECT * FROM 테이블명 WHERE 필드명 IS NULL;' 비어있는 값 가져오기
    SELECT * FROM 테이블명 WHERE 필드명 IS NOT NULL;' 비어있지 않은 값 가져오기

데이터 순서 정렬하기

  • 데이터 정렬해서 읽기(DESC는 내림차순 ASC는 오름차순)
    SELECT * FROM 테이블명 ORDER BY 정렬할기준컬럼명 DESC;

  • 결과 중 일부 데이터만 가져오기
    SELECT * FROM 필드명 LIMIT 10; 처음 10개만 가져오기
    SELECT * FROM 필드명 LIMIT 100, 10; 100번째부터 10개만 가져오기

Update 데이터 수정

  • 특정한 조건에 맞는 데이터만 수정
    UPDATE 테이블명 SET 수정하고 싶은 컬럼명 = '수정하고 싶은 값' WHERE 특정 컬럼 = '값';

  • 다수의 컬럼 값 수정
    UPDATE 테이블명 SET 수정하고 싶은 컬럼명1 = '수정하고 싶은 값', 수정하고 싶은 컬럼명2 = '수정하고 싶은 값', 수정하고 싶은 컬럼명3 = '수정하고 싶은 값' WHERE 특정 컬럼 < '값';

Delete 데이터 삭제

  • 특정한 조건에 맞는 데이터만 삭제
    DELETE FROM 테이블명 WHERE 특정 컬럼 = '값';

  • 테이블에 저장된 모든 데이터 삭제
    DELETE FROM 테이블명

본 포스팅은 생활코딩 MySQL 강의인프런 잔재미코딩 MySQL 강의를 참고하여 작성하였습니다.

좋은 웹페이지 즐겨찾기