MySQL을 배우고 있음
GROUP BY는 SQL 문에서 FROM절과 WHERE 절 뒤에 오며, 데이터들은 작은 그룹으로 분류하여 소그룹에 대한 항목별로 통계 정보를 얻을 때 사용된다.
HAVING은 WHERE절과 비슷하지만 그룹을 나타내는 결과 집합의 행에 조건이 적용되는 차이가 있다.
: 데이터베이스 생성
: 새로운 데이터를 삽입하는 것
INSERT INTO user (name, age)
VALUES ('홍길동', 25);
: 기존의 데이터를 수정하는 쿼리
UPDATE user
SET age = 30
WHERE id = 1;
: 특정 데이터를 삭제하는 쿼리
DELETE FROM user
WHERE id = 1;
: 데이터를 조회할 때 사용
SELECT * FROM user;
SELECT name FROM user;
: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는 테이블의 데이터만 삭제하는 명령어.
테이블의 구조는 그대로 남아있으며, 데이터를 모두 비움.
하지만 테이블의 구조를 유지하므로 다시 데이터를 삽입할 수 있다.
-- 테이블 생성
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는 조건에 맞는 데이터만 삭제하는 명령어
삭제된 데이터는 트랜잭션을 통해 롤백할 수 있으며, 데이터만 삭제하고 테이블의 구조는 그대로 유지
-- 테이블 생성
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페이지부터 복습해야댐~
2025.01.07 화요일 꺅! (0) | 2025.01.07 |
---|---|
2025.01.06 월 요 일........... (0) | 2025.01.07 |
25.01.02 목요일 3회차........................ (0) | 2025.01.03 |
2024.12.31 화요일 2일차악! (2) | 2024.12.31 |
2024.12.30 월요일 1일차..빅데이터 기초 (3) | 2024.12.30 |