MySQL - create,insert,delete
잡코리아를 보다가 데이터를 다루는 일을 할 때 공통적으로 언급되는 툴이 sql 이었습니다.
그래서 sql을 시작해보려고 마음을 먹었습니다.
실행해본 부분에대해서만 작성하기로 했고 개인적으로 설치 튜토리얼도 중요하다고 생각하기 때문에
sql 설치글은 따로 작성하겠습니다. 초심자의 눈높이로 잘 정리되어 있는 포탈을 찾아서 한번 따라가 보려고 합니다.
순서는 완전히 따르진않고 참고하고 재분배해서 글을 썼습니다.
링크
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
처음 해봣는데 느낀 점부터 말해보면 워크 밴치가 에디팅에 편의제공을 많이 합니다. 그리고 에러코드가 명시적이고 select 구문 show 구문 등 글 쓰듯이 의미가 전달이 되어 이해하기 매우 쉬웠습니다.
실행 Tip : ctrl + enter
데이터 베이스 생성
create 구문을 이용하여 데이터베이스를 생성할 수 있습니다.
show 구문을 이용하여 use 할 db를 확인할 수 있습니다.
그리고 use 구문을 이용하여 db 에 접근할 수 있게 됩니다.
set sql_safe_updates=0; 줄은 후에 update 구문 이용 시 이슈가 생깁니다. 일단은 나중에 update를 이용할 때 한번 경험
해보신 후 적어도 무방합니다. db safe mode인데 구조를 잘 모르고 핸들링할 경우를 방지하기 위함인 듯합니다.
테이블 생성
create table을 이용하여 테이블을 만들 수 있습니다. 칼럼 제목과 데이터 타입을 설정할 수 있습니다. 데이터 타입은 커리큘럼에서 좀 뒤에 배치되어있는데 좀 뒤에서 다루어 보도록 하겠습니다. 일단 모르더라도 컴퓨터 언어를 해보신 분은 이해하기 수월해 보입니다. int는 숫자형, char는 문자형 30개로 제한, date는 날짜 형식입니다.
show tables; 로 테이블이 추가된 것을 확인할 수 있고 describe test; 로 필드 이름과 데이터 타입 그리고 null 정보 입력 가능 여부를 보여줍니다.
제공된 테이블도 같이 이용해 보겠습니다. 그리고 바로 insert 구문을 확인해 보겠습니다.
CREATE TABLE Reservation(ID INT, Name VARCHAR(30), ReserveDate DATE, RoomNum INT);
CREATE TABLE Customer (ID INT, Name VARCHAR(30), Age INT, Address VARCHAR(20));
INSERT INTO Reservation(ID, Name, ReserveDate, RoomNum) VALUES(1, '홍길동', '2016-01-05', 2014);
INSERT INTO Reservation(ID, Name, ReserveDate, RoomNum) VALUES(2, '임꺽정', '2016-02-12', 918);
INSERT INTO Reservation(ID, Name, ReserveDate, RoomNum) VALUES(3, '장길산', '2016-01-16', 1208);
INSERT INTO Reservation(ID, Name, ReserveDate, RoomNum) VALUES(4, '홍길동', '2016-03-17', 504);
INSERT INTO Customer (ID, Name, Age, Address) VALUES (1, '홍길동', 17, '서울');
INSERT INTO Customer (ID, Name, Age, Address) VALUES (2, '임꺽정', 11, '인천');
INSERT INTO Customer (ID, Name, Age, Address) VALUES (3, '장길산', 13, '서울');
INSERT INTO Customer (ID, Name, Age, Address) VALUES (4, '전우치', 17, '수원');
insert into는 create table에서 정의한 필드 이름에 대해 값을 추가합니다.
select * from customer; 으로 레코드를 확인할 수 있습니다 (*는 필드를 특정하지 않고 모든 값을 가져옵니다). 다음과 같이 id 가 누락된 레코드가 추가될 수 있습니다.
INSERT INTO Customer (Name, Age, Address) VALUES ('전우치', 17, '수원');
다음의 결과표를 확인할 수 있습니다.
delete from customer where id is null; 을 이용하면 id 가 null 인경우 제거하게 됩니다.
null 의경우는 is 를 이용합니다. 그렇지 않은경우 id=1 처럼 특정할 수 있습니다.
select * from customer; 으로 해당레코드가 사라진 것을 확인할 수 있고 테이블 차원에서 이용되는 것이 delete와 insert임을 알 수 있습니다.
또한 update customer set id=5 where name='전우치'; 를 이용하여 레코드를 update 시킬 수 있습니다. select * from customer; 로 확인할 수 있습니다.
글을 두 개로 나누어 쓰도록 하겠습니다. 쓰다 보니 시간이.. 한 번에 다 쓰기엔 조금 많네요 ㅠㅠ.
다음 글에서는 alter, drop 그리고 select 구문의 옵션을 적용시켜 보겠습니다.