My SQL 2일차

5w31892p·2023년 1월 10일
0

My SQL

목록 보기
2/4

:: 테이블 구조 보기

DESC 테이블명

:: CREATE

  • 테이블 생성
CREATE TABLE 테이블_이름 (
    열_이름 데이터_타입,
    열_이름 데이터_타입,
    열_이름 데이터_타입,
   ....
);


// ex
CREATE TABLE users (id INT, name CHAR(4), age INT);

:: INSERT

  • 데이터 삽입
  • 열 생략 가능
    • 열 생략 시 순서, 개수 맞게
  • 열 명시
    • 모든 열 넣지 않아도 됨
    • 넣지 않은 열은 null
    • 열 순서 맘대로 가능
INSERT INTO 테이블 [(1,2, ...)] VALUES (1,2, ...)


// ex
-- 열을 생략하여 순서 및 개수를 맞춤
INSERT INTO users VALUES (1, '벨라', 25);

-- 열을 명시하면 모든 열을 넣지 않아도 됩니다. 대신 누락된 열들은 NULL 값으로 채워집니다. 
INSERT INTO users (id, name) VALUES (2, '버즈');

-- 열을 명시하면 순서가 바뀌어도 됩니다.
INSERT INTO store1 (name, age, id) VALUES ('제시', 20, 3);

:: AUTO_INCREMENT

  • 자동으로 값 증가
  • PRIMARY KEY로 지정해야 함
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할 테이블의 열을 명시하지 않을 경우, 해당 값은 null로 적기
  • 열을 명시할 경우 null 필요 없음
INSERT INTO 테이블_이름 (열_이름1, 열_이름2, ...)
	SELECT;


// ex
insert into my_city select NULL, name, population from world.city;
insert into my_city (city_name, population)select name, population from world.city;

:: UPDATE

  • 입력되어 있는 값 수정
  • Safe mode 해제
    edit -> preferneces -> SQL Editor -> Safe update (체크 해제)
UPDATE 테이블_이름
	SET1 =1,2 =2, ...
	WHERE 조건;


// ex
update my_city set city_name = '서울' where city_name = 'Seoul';
// 서울 : 업데이트될 값
// seoul : 기존 값

:: 데이터 삭제

DELETE

  • 하나의 행 데이터 삭제
  • 속도 가장 느림
DELETE FROM 테이블_이름 WHERE 조건;


// my_city 테이블에서 ‘New’ 로 시작하는 도시를 삭제
DELETE FROM my_city WHERE name LIKE 'New%'; 

TRUNCATE

  • 모든 행 삭제
  • where문 사용 불가
TRUNCATE TABLE 테이블_이름;

DROP

  • 테이블 자체 삭제
  • 속도 가장 빠름
DROP TABLE 테이블_이름;

0개의 댓글