< Table 생성 예시 >
animal_info 라는 테이블 생성하기
id : Primary Key로 사용할 컬럼, 데이터 타입 : INT
AUTO_INCREMENT 속성 주기
type : 동물 종류(사자, 코끼리 등), 데이터 타입 : VARCHAR, 최대 길이 : 30자
name : 동물 이름(리오, 조이 등), 데이터 타입 : VARCHAR, 최대 길이 : 10자
age : 나이, 데이터 타입 : TINYINT
sex : 성별, 데이터 타입 : CHAR, 최대 길이 : 1자
weight : 몸무게, 데이터 타입 : DOUBLE
feature : 특징 묘사, 데이터 타입 : VARCHAR, 최대 길이 : 500자
entry_date : 동물원에 들어온 날짜, 데이터 타입 : DATE
feature 컬럼을 제외한 모든 컬럼에는 NOT NULL 속성을 주고,
feature 컬럼에만 NULL이 존재해도 된다는 의미로 NULL 속성 주기
라는 테이블 ㄹ
CREATE TABLE `animal_info` (
`id` INT NOT NULL AUTO_INCREMENT,
`type` VARCHAR(30) NOT NULL,
`name` VARCHAR(10) NOT NULL,
`age` TINYINT NOT NULL,
`sex` CHAR(1) NOT NULL,
`weight` DOUBLE NOT NULL,
`feature` VARCHAR(500) NULL,
`entry_date` DATE NOT NULL,
PRIMARY KEY (`id`)
);
테이블 이름(animal_info), 컬럼 이름(id, type) 등에 모두 ` 기호가 앞뒤로 붙어있는 것을 볼 수 있다.
` 기호의 정식 명칭은 백틱(backtick)이다.
DBMS에서는 데이터베이스, 테이블, 컬럼 등과 같은 구성요소를 보통 object(객체)라고 한다.
그리고 이런 object에 붙여준 이름을 identifier(식별자)라고 하는데,
MySQL에서 백틱은 해당 단어가 identifier임을 나타내는 기호다.
키보드상에서 물결 (~) 기호 있는 자판에 백틱 기호 (`) 가 있다.
이 백틱(`)은 작은따옴표(‘), 큰따옴표(“)랑은 다르다.
작은따옴표와 큰따옴표의 용도는 문자열 값을 나타낼 때 작은따옴표 또는 큰따옴표로 감싸주는 것.
예를 들어, CHAR 또는 VARCHAR 타입의 컬럼에 들어갈 값은 항상 작은따옴표 또는 큰따옴표로 감싸준다.
생성한 테이블 칼럼들에 값 넣기
INSERT INTO animal_info (type, name, age, sex, weight, feature, entry_date)
VALUES ('사자', '리오', 8, 'm', 170.5, '상당히 날렵하고 성격이 유순한 편임', '2015-03-21');
INSERT INTO animal_info (type, name, age, sex, weight, feature, entry_date)
VALUES ('코끼리', '조이', 15, 'f', 3000, '새끼 때 무리에서 떨어져 길을 잃고 방황하다가 동물원에 들어와서 적응을 잘 마침', '2007-07-16');
INSERT INTO animal_info (type, name, age, sex, weight, feature, entry_date)
VALUES ('치타', '매튜', 20, 'm', 62, '나이가 노령이라 최근 활동량이 현저히 줄어든 모습이 보임', '2003-11-20');
결과 화면>
테이블 생성 예시 2 _
shoes 테이블 생성하기
CREATE TABLE shoes (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(10) NOT NULL,
size INT NOT NULL,
brand VARCHAR(20) NULL,
PRIMARY KEY(id)
);
INSERT INTO shoes (name, size, brand) VALUES ('MK-120', 260, 'Nice');
INSERT INTO shoes (name, size, brand) VALUES ('AOS-347', 270, 'Akidas');
INSERT INTO shoes (name, size, brand) VALUES ('ZMQ-83', 260, 'Heebok');
테이블 수정 (갱신) 하기
UPDATE 테이블이름 SET 바꿔줄 컬럼이름 = 바꿔줄 값 WHERE 컬럼 위치
UPDATE student SET major = '컴퓨터과학과' WHERE id = 2;
SELECT * FROM student;
위 쿼리문은 id = 2 인 row 의 major 컬럼 값을 컴퓨터과학과 로 바꾸라는 의미
결과 화면>
만일 위 쿼리문에서 WHERE 절을 안 쓰면 모든 row 의 major 컬럼이 '컴퓨터과학과' 로 바뀜.
여러 컬럼을 동시에 바꿔주고 싶다면
컴마로 이어서 써주면 된다.
UPDATE student
SET major = '컴퓨터과학과', name = '김미미'
WHERE id = 2;
SELECT * FROM student;
결과 화면>
기존 값을 기준으로 한 컬럼 전체를 UPDATE 하고 싶을 때?
예를들어, 기말 고사 점수 컬럼에 전부 3점씩 추가해주고 싶다면 아래와 같이 작성하면 된다.
UPDATE final_exam_result SET score = score + 3 ;
테이블의 row 삭제하기
아래와 같은 테이블에서 4번째 row를 삭제해보자
DELETE FROM 테이블이름 WHERE 삭제할 위치
DELETE FROM student WHERE id = 4;
SELECT * FROM student;
결과 화면>
id = 4 인 row 가 삭제 됐다.
만일 이 쿼리문에서 WHERE 절을 써주지 않으면 테이블의 모든 로우들이 삭제된다.
테이블의 일정 컬럼 전체를 삭제하고 싶을 땐
ALTER TABLE 테이블이름 DROP COLUMN
참고 : https://devfairy.tistory.com/104
'IT > SQL' 카테고리의 다른 글
[MySQL] ALTER TABLE (ADD, DROP, RENAME,MODIFY) (0) | 2022.02.03 |
---|---|
[MySQL] 테이블 컬럼 정보 보기 DESCRIBE (DESC) (0) | 2022.02.03 |
[MySQL] 데이터베이스 컬럼의 데이터타입 (0) | 2022.02.02 |
[MySQL] 데이터베이스 생성하기 (0) | 2022.02.02 |
[MySQL] Join (LEFT, RIGHT, INNER) / UNION (0) | 2022.02.01 |
댓글