1. 테이블 생성
SQL 쿼리로 DB에 테이블을 생성할 수 있습니다.
테이블은 동일한 특성을 가지는 행의 모임입니다.
예를 들면 홍길동, 26, 3.1 모두 홍길동이라는 한 사람을 가리키고,
성춘향, 23, 2.29 모두 성춘향이라는 한 사람을 가리키기 때문에 테이블은 이러한 행들의 모임인 것입니다.
이름 | 나이 | 생일 |
홍길동 | 26 | 3.1 |
성춘향 | 23 | 2.29 |
여기서 열은 이름, 나이, 생일 정도가 될 수 있겠네요.
그러면 아이디, 이름, 나이 이렇게 3가지 필드로 구성되어 있는 테이블을 생성해보겠습니다.
이렇게 테이블을 임의로 생성해보겠습니다.
테이블을 생성할 때에는,
CREATE TABLE '테이블명' ( '필드명' 필드형식 , ... ); 이런 형식으로 작성해주시면 됩니다.
CREATE TABLE `person` (
`person_id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(256) NOT NULL ,
`age` INT NOT NULL ,
PRIMARY KEY (`person_id`)
) ENGINE = InnoDB;
여기서 테이블의 이름은 'person' 이고 괄호 안에 들어있는 'person_id' 'name' 'age' 는 열의 이름인 걸 알 수 있습니다.
INT 는 정수형이라는 뜻이고, VARCHAR(256) 은 최대 256글자까지만 입력 가능하다는 뜻입니다.
NOT NULL 은 비어 있으면 안된다는 의미입니다.
AUTO_INCREMENT 는 입력하지 않아도 해당 열의 값이 자동으로 증가하도록 하는 설정입니다.
PRIMARY KEY 는 인덱스의 종류 중 하나로, 각 행들을 구분하는 유일한 식별자입니다.
이 테이블은 person_id로 행을 구분한다는 것을 알 수 있겠네요.
ENGINE 은 MySQL의 DB 엔진을 설정하는 곳인데, MyISAM과 InnoDB 중 InnoDB가 현대 바이너리 기반 엔진이여서 주로 사용한다고 합니다.
그래서 구조 탭으로 들어가면 생성한 person 테이블을 볼 수 있습니다.
2. 테이블의 값 입력
다시 SQL 탭으로 가서 테이블에 값을 삽입하는 질의를 입력해보겠습니다.
삽입문은 아래와 같은 형식으로 작성하시면 됩니다.
INSERT INTO 테이블명 (필드명1, 필드명2) values ('필드값1', '필드값2');
유의할 점은 SQL 질의에서는 쌍따옴표가 아닌 홑따옴표만 인식이 가능하다는 점입니다!
INSERT INTO person (name, age) values ('alice', 23);
23살 alice 라는 사람의 정보가 정상적으로 입력되어있는 것을 확인할 수 있습니다.
아까 아이디는 auto increment 설정을 해두었기 때문에 자동으로 1이 입력된 것을 볼 수 있습니다.
3. 테이블의 값 조회
SELECT * FROM `person` WHERE person_id = 1;
테이블 조회는
SELECT '조회하고싶은 필드명' FROM '테이블명' WHERE (조건);
이런 형식으로 작성하시면 됩니다. 만약 SELECT 뒤에 * 를 입력한다면, 모든 열을 조회하겠다는 뜻이 됩니다.
그러면 위의 질의를 입력했을 때, 아래 처럼 id가 1인 사람의 정보가 찾아지는 것을 확인할 수 있습니다.
4. 테이블의 값 수정
테이블 수정은
UPDATE 테이블명 set 필드명='변경값' where (조건);
이런식으로 작성해주시면 됩니다. 여기서 수정하고 싶은 필드명은 여러개가 되어도 상관 없습니다.
UPDATE `person` SET age=24 WHERE name='alice';
저는 이름이 alice라면 나이를 24로 수정하도록 입력했습니다.
5. 테이블의 값 삭제
테이블을 삭제하고 싶다면
DELETE FROM '테이블명' WHERE (조건);
이렇게 입력하면 됩니다. 저는 아래와 같이 아이디가 1인 사람의 행을 지우는 질의를 입력했습니다.
DELETE FROM `person` WHERE person_id=1;