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
'백엔드' 카테고리의 다른 글
API 문서화 swagger (feat. 아는 만큼 보이는 백엔드 개발) (0) | 2024.08.01 |
---|---|
백엔드 기초 공부_1 네트워크 기초 지식 (feat. 아는 만큼 보이는 백엔드 개발) (0) | 2024.07.02 |
쿠키와 세션 (0) | 2024.06.06 |