백엔드

My SQL 명령문

dawon2 2024. 4. 26. 17:48

SQL(Structured Query Language)

 

많이 찾아보게 될거 같아서 머리에 넣을겸 정리를 했다.

column은 데이터의 타입

row는 데이터 자체

 

Create

 

 

 

데이터베이스 생성

 

CREATE DATABASE 데이터베이스 이름;

 

 

데이터베이스 사용

USE 사용할 데이터베이스 이름;

 

 

테이블 생성

CREATE TABLE 테이블 이름(
    column1 datatype(length) not null auto_increment,
    column2 datatype(length) null ,
    column3 datatype(length) not null ,
    PRIMARY KEY(column1)
);

    

 

datatype은 INT(11), VARCHAR(20), TEXT와 같은 자료형, 괄호 안은 길이

 

제약 조건

  • NOT NULL : 해당 column은 NULL값을 저장할 수 없음
  • UNIQUE : 해당 column은 서로 다른 값을 가져야 함
  • PRIMARY KEY : NOT NULL과 UNIQUE의 특징을 모두 가지게 됨
  • FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 함
  • DEFAULT : 해당 column의 기본값을 설정함 만약 데이터를 삽입할때 해당 column의 값을 입력하지 않으면 자동으로 설정된 기본값을 저장함
  • AUTO_INCREMENT : 해당 column의 값을 1부터 시작하여 새로운 레코드가 추가될 때마다 1씩 증가된 값을 저장함  AUTO_INCREMENT=숫자 를 이용해 시작값을 변경할 수 있음

 

 

데이터 생성

INSERT INTO 테이블이름(column2, column3, column4) VALUES('content2', 'content3', 'content4');

 

 

 

Read

 

 

데이터베이스 리스트 보기

SHOW DATABASES;

 

 

테이블 column들 보기

DESC 테이블이름;

 

 

테이블의 데이터 전체 보기

SELECT * FROM 테이블이름;

 

 

데이터 검색하기

SELECT * FROM 테이블이름 WHERE column2 = '@@@';
  -> column2가 @@@인 데이터를 찾아줘

SELECT * FROM 테이블이름 WHERE column3 >=103;
  -> column3가 103 보다 큰 데이터를 찾아줘

SELECT * FROM 테이블이름 WHERE column4 = 'A' OR column = 'B';
  -> column4가 A 또는 B인 데이터를 찾아줘

 

 

특정 column만 보기

SELECT column1, column2 FROM 테이블이름;
  -> WHERE을 사용해 특정 조건을 만족하는 레코드만을 선택 할 수 있음

 

 

중복되는 값 제거해서 보기

SELECT DISTINCT column2 FROM 테이블이름;
  -> 해당 테이블의 column2들을 보여주되 중복되는것 없이 보여줌

 

 

선택한 결과 정렬해서 보기

SELECT * FROM 테이블이름 ORDER BY 기준;
  -> 기준대로 정렬된 데이터들을 보여줌 만약 내림치순을 원한다면 제일 마지막에 DESC 추가

 

 

 

 

Update

 

 

테이블에서 column 추가하기

ALTER TABLE 테이블이름 ADD column이름 datatype(length);

 

 

데이터 내용 변경하기

UPDATE 테이블이름 column2 = '@@', column3 = 102 WHERE column4 = 'A';
  -> column4가 A인 모든 데이터의 column2를 @@, column3를 102로 바꿔줘

 

※ WHERE을 안쓰면 테이블의 모든 데이터에 변경사항이 저장됨

 

 

colum 타입 변경

ALTER TABLE 테이블이름 MODIFY COLUMN column이름 datatype(length);

 

 

column 이름도 같이 변경

ALTER TABLE 테이블이름 CHANGE COLUMN column이름 바꾸고 싶은 column이름 datatype(length);

 

 

 

Delete

 

 

데이터베이스 삭제

DROP DATABASE 삭제할 데이터베이스 이름;

 

 

테이블 삭제

DROP TABLE 테이블이름;

 

 

테이블의 column 삭제

ALTER TABLE 테이블이름 DROP column이름;

 

 

테이블의 데이터만 모두 삭제

TRUNCATE TABLE 테이블이름;

 

 

테이블의 데이터 삭제

DELETE FROM 테이블이름 WHERE column2 = '@@@';
  -> 이 테이블의 column2가 @@@인 데이터를 삭제해줘

 

주의!! : WHERE을 안쓰면 해당 테이블에 저장된 모든 데이터가 삭제됨

 

 

이외에도 많지만 기본적으로 다루는 것들만 정리했다.

 

참고자료 : https://www.tcpschool.com/mysql/intro#google_vignette

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com