상세 컨텐츠

본문 제목

2025.01.03 금요일!!!!4일차

Data School

by 넨! 2025. 1. 3. 17:40

본문

MySQL을 배우고 있음

 

GROUP BY는 SQL 문에서 FROM절과 WHERE 절 뒤에 오며, 데이터들은 작은 그룹으로 분류하여 소그룹에 대한 항목별로 통계 정보를 얻을 때 사용된다.

HAVING은 WHERE절과 비슷하지만 그룹을 나타내는 결과 집합의 행에 조건이 적용되는 차이가 있다.


Create 문

: 데이터베이스 생성

  •  Primary key: SQL 데이터베이스에서 특정 레코드를 유일하게 식별하기 위해 사용되는 필드 또는 필드의 집합
  • Auto_increment: 데이터베이스 시스템에서 자동으로 순차적인 번호를 생성해주는 기능
  • Desc: 테이블 구조를 살표볼 수 있는 명령어

 

데이터 삽입(INSERT)

: 새로운 데이터를 삽입하는 것

INSERT INTO user (name, age)
VALUES ('홍길동', 25);
  • Name이 '홍길동'이고 AGE가 25인 새로운 레코드를 삽입
  • id는 auto_increment로 자동 증가하므로, 명시할 필요 없다.

 

데이터 수정(UPDATE)

: 기존의 데이터를 수정하는 쿼리

UPDATE user
SET age = 30
WHERE id = 1;
  • id가 1인 사용자의 나이를 30으로 변경함

 

데이터 삭제(DELETE)

: 특정 데이터를 삭제하는 쿼리

DELETE FROM user
WHERE id = 1;
  • id가 1인 사용자를 user테이블에서 삭제함

 

데이터 조회(SELECT)

: 데이터를 조회할 때 사용

SELECT * FROM user;
SELECT name FROM user;
  • *(asterisk): 선택된 tuples의 모든 값들을 가져오려 할 때 사용

 

테이블 자체 삭제(DROP)

:DROP은 테이블을 전체 삭제하는 명령어. 테이블 구조와 데이터를 모두 삭제하며, 테이블을 완전히 없애버림

테이블 자체가 삭제되고 복구가 불가능하다.

-- 테이블 생성
CREATE TABLE user (
	id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(1) NOT NULL,
    age INT NOT NULL
);

-- 데이터 삽입
INSERT INTO user (name, age) VALUES ('홍길동', 25);

-- 테이블 삭제
DROP TABLE user;

-- 테이블 삭제 후 확인
-- 이 후에는 테이블이 삭제되어 사용할 수 없습니다.
-- SELECT * FROM user;
-- ERROR; Table 'user' doesn't exist

 

 

테이블 데이터 삭제 (TRUNCATE)

: TRUNCATE는 테이블의 데이터만 삭제하는 명령어.

테이블의 구조는 그대로 남아있으며, 데이터를 모두 비움.

하지만 테이블의 구조를 유지하므로 다시 데이터를 삽입할 수 있다.

-- 테이블 생성
CREATE TABLE user (
	id INT NOT NULL PIRMARY KEY AUTO_INCREMENT,
    name VARCHAR (10) NOT NULL,
    age INT NOT NULL
);

-- 데이터 삽입
INSERT INTO user (name, age) VALUES ('홍길동', 25), ('김철수', 30);

-- 테이블 데이터 삭제 (TRUNCATE)
TRUNCATE TABLE user;

-- 데이터가 삭제된 후 확인
SELECT * FROM user;
-- 결과: 빈 테이블 (0 rows)

 

 

조건에 맞는 데이터 삭제 (DELETE)

DELETE는 조건에 맞는 데이터만 삭제하는 명령어

삭제된 데이터는 트랜잭션을 통해 롤백할 수 있으며, 데이터만 삭제하고 테이블의 구조는 그대로 유지

-- 테이블 생성
CREATE TABLE user (
	id INT NOT NULL PIRMARY KEY AUTO_INCREMENT,
    name VARCHAR (10) NOT NULL,
    age INT NOT NULL
);

-- 데이터 삽입
INSERT INTO user (name, age) VALUES ('홍길동', 25), ('김철수', 30);

-- 데이터 일부 삭제 (DELETE)
DELETE FROM user WHERE name = '홍길동';

-- 데이터가 삭제된 후 확인
SELECT * FROM user;
-- 결과: 김철수 30

 

80페이지부터 복습해야댐~

관련글 더보기