MYSQL_ 테이블 만들고 데이터 입력하기

최지우·2022년 10월 5일
1

SQL

목록 보기
5/5

1. 테이블 생성/수정/삭제

>생성

CREATE TABLE people (
	person_id INT,
    person_name VARCHAR(10),
    age TINYINT,
    birthday date
);

>변경

-- 테이블명 변경
ALTER TABLE people rename TO friend,
-- 컬럼 자료형 변경
CHANGE column person_id person_id TINYINT,
-- 컬럼명 변경
CHANGE column person_name person_nickname VARCHAR(10),
-- 컬럼 삭제
DROP column birthday,
-- 컬럼 추가
ADD COLUMN is_married TINYINT AFTER age;

>삭제

DROP TABLE friend;

2. 데이터 입력하기

>INSERT INTO_ 데이터 삽입

INSERT INTO people
	(person_id, person_name, age, birthday)
    VALUES (1, '홍길동', 21, '2000-01-31');
-- 모든 컬럼에 값 넣을 때는 컬럼명들 생략 가능
INSERT INTO people
  VALUES (2, '전우치', 18, '2003-05-12');
-- 일부 컬럼에만 값 넣기 가능 (NOT NULL은 생략 불가)
INSERT INTO people
  (person_id, person_name, birthday)
  VALUES (3, '임꺽정', '1995-11-04');
-- 자료형에 맞지 않는 값은 오류 발생
INSERT INTO people
  (person_id, person_name, age, birthday)
  VALUES (1, '임꺽정', '스물여섯', '1995-11-04');
-- 여러 행을 한 번에 입력 가능
INSERT INTO people
  (person_id, person_name, age, birthday)
  VALUES 
    (4, '존 스미스', 30, '1991-03-01'),
    (5, '루피 D. 몽키', 15, '2006-12-07'),
    (6, '황비홍', 24, '1997-10-30');


GUI 이용해서 데이터 입력가능

3. 테이블 생성시 제약 넣기

제약: 데이터 생성시,특정 제한을 두거나 자동적으로 실행되는 특성 부여

CREATE TABLE people (
  person_id INT AUTO_INCREMENT PRIMARY KEY,
  person_name VARCHAR(10) NOT NULL,
  nickname VARCHAR(10) UNIQUE NOT NULL,
  age TINYINT UNSIGNED,
  is_married TINYINT DEFAULT 0
);

>제약 설명

제약설명
AUTO_INCREMENT새 행 생성 시마다 자동으로 1씩 증가
PRIMARY KEY중복 입력 불가, NULL(빈 값) 불가
UNIQUE중복 입력 불가
NOT NULLNULL(빈 값) 입력 불가
UNSIGNED(숫자인 경우) 양수만 가능
DEFAULT값 입력 없을 시 기본 값

>PRIMARY KEY

  • table마다 하나만 가능
  • 보통 AUTO_INCREMENT와 함께 사용 ( 값을 입력하지 않아도 자동적으로 값 지정)

>제약 넣어 테이블 생성하기


💡 지금까지 공부한 MYSQL은 생각보다 할 만했다. 컴퓨터 수학 전공 과목에서 배운 내용도 쓰여 훨씬 수월하게 작성할 수 있었다. 또 하나의 문법을 배우는 것 같았고, 문법만 외우면 사용할 수 있지 않을까라는 생각이 들었다. 하지만 DB가 필요한 상황에서 자유자재로 활용하려면 query문의 사용이 편해져야 한다.
많은 연습이 해결해주지 않을까...?

profile
안녕하세요.

0개의 댓글