ultra_dev
SQL -2 본문
SQL
- AUTO_INCREMENT로 id 알아서 증가시키면 null넣어줘도 증가함
- CREATE
- 테이블을 생성
- CREATE 문의 기본 문법
- CREATE TABLE 테이블_이름 ( 열_이름 데이터_타입, 열_이름 데이터_타입, 열_이름 데이터_타입, .... );
- CREATE TABLE users (id INT, name CHAR(4), age INT);
- CREATE TABLE users (id INT, name CHAR(4), age INT);
- INSERT:테이블에 데이터를 삽입
- INSERT 문의 기본 형식 : INSERT INTO 테이블 [(열1, 열2, ...)] VALUES (값1, 값2, ...)
- 열은 생략이 가능하지만 이 경우에는 테이블 정의할 때의 열 순서 및 개수와 동일해야 함
1. 열을 생략하여 순서 및 개수를 맞추는 경우
INSERT INTO users VALUES (1, '벨라', 25);
=> 열을 명시하면 모든 열을 넣지 않아도 됨.
=> 대신 누락된 열들은 NULL 값으로 채워짐
2. 열을 명시하는 경우
INSERT INTO users (id, name) VALUES (2, '버즈');
=> 열을 명시하면 순서가 바뀌어도 됨 INSERT INTO store1 (name, age, id) VALUES ('제시', 20, 3);- AUTO_INCREMENT
- 자동으로 증가하는 값
- 반드시 PRIMARY KEY 로 지정해야 함
- SQL
- CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name CHAR(4), age INT); INSERT INTO users VALUES (null, '보핍', 25); INSERT INTO users VALUES (null, '슬링키', 22);
- INSERT INTO ~ SELECT
- 다른 테이블의 데이터를 한번에 입력
- SELECT 문의 열의 개수는 INSERT 할 테이블의 열 개수와 같아야 함
- INSERT INTO 테이블_이름 (열_이름1, 열_이름2, ...) SELECT 문 ;
-- world.city 테이블의 전체 행 갯수 출력 SELECT COUNT(*) FROM world.city; -- 테이블 구조 보기 DESC world.city; -- wolrd.city 테이블의 열 이름과 데이터 형식에 맞춤 CREATE TABLE my_city ( name CHAR(35), population INT ); -- world.city 에서 name, population 데이터를 my_city에 추가 INSERT INTO my_city SELECT name, population FROM world.city;
- UPDATE
- 기존에 입력되어 있는 값을 수정
- UPDATE 문의 기본 형식
- UPDATE 테이블_이름 SET 열1 = 값1, 열2 = 값2, ... WHERE 조건;
💡 여기서 잠깐! 워크벤치에서는 기본적으로 UPDATE 및 DELETE를 허용하지 않기 때문에 설정을 변경해야 함 !!
워크벤치의 메뉴에서 Preferences 메뉴를 찾아서 SQL Editor → Safe Updates (블라블라…) 를 언체크 하기.
그런 다음 워크벤치를 재시작 하기
- 앞에서 생성한 my_city 테이블의 도시 이름 중에서 ‘Seoul’ 을 ‘서울’ 로 변경 하려면?
UPDATE my_city SET name = '서울' WHERE name = 'Seoul';
- 데이터 삭제
- DELETE
- 테이블의 행 데이터를 삭제
- DELETE 문의 형식
- DELETE FROM 테이블_이름 WHERE 조건;
- my_city 테이블에서 ‘New’ 로 시작하는 도시를 삭제 하려면? (힌트: LIKE)
- DELETE FROM my_city WHERE name LIKE 'New%';
- TRUNCATE
- DELETE와 비슷하나 WHERE 문을 사용할 수 없음. 따라서 모든 행을 삭제
- DELETE 보다 속도가 빠름
- TRUNCATE TABLE 테이블_이름;
- DROP
- 테이블 자체를 삭제. 속도가 매우 빠름
- DELETE
'DB' 카테고리의 다른 글
DB 이것 저것 정리! (feat.SQL 실행순서..) (0) | 2024.01.19 |
---|---|
DB Connection Pool !! (0) | 2024.01.04 |
Docker 내부 PostgresSQL Dump (0) | 2023.12.08 |
SQL -3 (0) | 2023.01.13 |
SQL -1 (0) | 2023.01.13 |
Comments