데이터베이스와 테이블 구축 2

16773 단어 sqlsql

📌 테이블에 row 추가 1

SELECT * FROM course_rating.student;

현재 course_rating의 student 테이블은 row가 하나도 없는 상태이다.

INSERT INTO 테이블 (컬럼1, 컬럼2, ..., 컬럼n) VALUES (값1, 값2, ..., 값n)

✅ 학생 1의 모든 컬럼의 row 추가

INSERT INTO student
	(id, name, student_number, major, email, phone, admission_date)
	VALUES (1, '성태후', 20142947, '컴퓨터공학과', '[email protected]', '010-0000-1234', '2014-03-12');

✅ 학생 2의 모든 컬럼의 row 추가

INSERT INTO student
	VALUES (2, '김소원', 20130912, '화학과', '[email protected]', '010-1234-0000', '2013-03-07');

모든 컬럼의 값이 있는 row를 추가할 때는 컬럼 이름 작성을 생략해도 된다.


📌 테이블에 row 추가 2

위에서는 모든 컬럼에 값이 있는 경우를 추가하였다.
이번에는 모든 컬럼이 아닌 특정 컬럼에만 값이 있는 경우를 추가해보자.

✅ email과 phone을 제외한 컬럼의 값을 추가

INSERT INTO student
	(id, name, student_number, major, admission_date)
	VALUES (3, '이현승', 20111025, '법학과', '2011-03-02');

값을 넣어주지 않은 컬럼은 NULl로 나타난다.

✅ id를 제외한 컬럼의 값을 추가

INSERT INTO student
	(name, student_number, major, admission_date)
	VALUES ('정유진', 201610843, '빅데이터학과', '2016-03-15');

id 컬럼에 값을 입력하지 않았음에도 불구하고 4라는 값이 자동으로 입력되어 있다. 왜일까 ❓

id 컬럼에 Auto increment 속성이 있기 때문이다. Auto increment 속성이 있는 컬럼은 자동으로 이전 row보다 큰 숫자값을 넣어주게 된다.

현재 id 컬럼은 student 테이블의 Primary Key이다. id 컬럼의 값이 각 row마다 고유해야 한다. 하지만 Auto increment 속성을 주면 자동으로 새로운 고유한 숫자값을 넣어주기 때문에 걱정할 필요가 없다.


✅ 과제 : 데이터베이스와 테이블생성 1

한 동물원에서 동물들을 관리하기 위해 animal_info라는 테이블을 만들려고 한다. CREATE TABLE 문을 사용해서 이 animal_info 테이블을 직접 만들어라.

  • id : Primary Key로 사용할 컬럼, 데이터 타입 : INT
  • type : 동물 종류(사자, 코끼리 등), 데이터 타입 : VARCHAR, 최대 길이 : 30자
  • name : 동물 이름(리오, 조이 등), 데이터 타입 : VARCHAR, 최대 길이 : 10자
  • age : 나이, 데이터 타입 : TINYINT
  • sex : 성별, 데이터 타입 : CHAR, 최대 길이 : 1자
  • weight : 몸무게, 데이터 타입 : DOUBLE
  • feature : 특징 묘사, 데이터 타입 : VARCHAR, 최대 길이 : 500자
  • entry_date : 동물원에 들어온 날짜, 데이터 타입 : DATE
  • id 컬럼에는 AUTO_INCREMENT 속성
  • feature 컬럼을 제외한 모든 컬럼에는 NOT NULL 속성
  • feature 컬럼에만 NULL이 존재해도 된다는 의미로 NULL 속성

💻 풀이

CREATE TABLE `animal_info` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `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);

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');

SELECT * FROM animal_info;

👉 결과


✅ 과제 : 데이터베이스와 테이블생성 2

한 분식집의 메뉴들의 정보를 저장하기 위해 food_menu 테이블을 준비했다. 아직 row들이 없어서 텅 비어있는 상태이다.

INSERT INTO 문을 사용해서 아래 메뉴 정보들을 테이블에 채워라.

  • (라볶이 / 5000 / 라면, 떡, 양파..)
  • (치즈김밥 / 3000 / 치즈, 김, 단무지..)
  • (돈까스 / 8000 / 국내산 돼지고기, 양배추..)
  • (오므라이스 / 7000 / 계란, 당근..)

id 컬럼에는 현재 AUTO_INCREMENT 속성이 적용되어 있기 때문에 굳이 값을 입력할 필요가 없다.

💻 풀이

INSERT INTO food_menu
    (menu, price, ingredient)
    VALUES ('라볶이', 5000, '라면, 떡, 양파..');
    
INSERT INTO food_menu
    (menu, price, ingredient)
    VALUES ('치즈김밥', 3000, '치즈, 김, 단무지..');

INSERT INTO food_menu
    (menu, price, ingredient)
    VALUES ('돈까스', 8000, '국내산 돼지고기, 양배추..');

INSERT INTO food_menu
    (menu, price, ingredient)
    VALUES ('오므라이스', 7000, '계란, 당근..');

SELECT * FROM food_menu;

👉 결과


... ing

좋은 웹페이지 즐겨찾기