본문 바로가기
SQL

SQL 강의 2일차 - 데이터베이스 다루기

by 푸리세상 2024. 3. 26.
728x90

데이터란?

 - 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 등의 형태로 된 정보를 말한다고 합니다.

 


1. 데이터 종류(문자형, 숫자형, 날짜형)

 - 정수형 : 소수점이 없는 숫자 데이터

   (Tinyint, Smallint, mediumint, int, biging)

 

 - 실수형 : 소수점이 있는 숫자 데이터   -> 정수형+실수형 합쳐서 숫자형

   (Float,  double)

 

- 문자형 : 텍스트로 구성된 문자열 데이터/ 문자형 데이터를 사용시 " " 또는 ''를 함께 사

   (Char(n), Varchar(n), TinyText, Text, MediumText, LongText)

 

 - 날짜형 : 날짜나 시간을 나타낼때 사용되는 데이터

   (Date, DateTime, Time, Year)

 

-> MySQL에서는 데이터 저장하기 전에 저장 공간의 데이터 타입을 미리 정해야하고 정해둔 데이터 타입과 저장할 데이터 타입이 맞지 않으면 저장은 X

 

 

 


2. 테이블 만들고 변경

 1) 테이블이란?

     - 데이터베이스에서 데이터를 형태로 정해 모아 놓은 저장 공간(행/열로 이루어진 데이터 표)

 

 2) 컬럼(열)

     -  데이터를 저장하기 위한 틀(컬럼 이름은 동일한 테이블 내에서 중복X)

     

 3) 행

     - 컬럼에 속한 실제 데이터 값

 

 

※ 테이블 만드는 순서

 - 데이터베이스 생성 -> 데이터베이스 내에 테이블 생성

 

 

 4) 데이터베이스 만드는 쿼리

CREATE DATABASE [데이터베이스 이름];

 

 

 

 

 5) 데이터베이스 목록 보기

SHOW DATABASES;

 

 

 6) 데이터베이스 사용

USE [데이터베이스 이름];

 

 

 7) 테이블 만들기

CREATE TABLE [테이블 이름] (
	[컬럼이름] [데이터 타입],
    [컬럽이름] [데이터 타입], ...
);

 

 

 

 8) 데이터베이스, 테이블, 컬럼 이름 정하기 규칙

1. 문자, 숫자, _를 사용
2. 이름에 쓰이는 문자는 주로 영문 소문자 사용
3. 예약어는 사용X
4. 단어와 단어 사이는 _ 사용
5. 문자로 시작(숫자, _로 시작은 X)
6. 데이터베이스 이름은 중복 불가능

 

 

 9) 테이블 이름 변경

ALTER TABLE [테이블 이름] RENAME [새로운 테이블 이름];

 

 

 

 

 10) 새로운 컬럼 추가

ALTER TABLE [테이블 이름] ADD COLUMN [컬럼이름] [데이터타입];

 

 

 

 

 11) 기존 컬럼 타입 변경

ALTER TABLE [테이블 이름] MODIFY COLUMN [컬럼이름] [새로운 데이터 타입];

 

 

 12) 기존 컬럼 이름과 타입 변경

ALTER TABLE [테이블 이름]
CHANGE COLUMN [컬럼이름] [새로운 컬럼이름] [새로운 데이터 타입];

 

 

 13) 컬럼 지우기

ALTER TABLE [테이블 이름] DROP COLUMN [컬럼이름];

 

 

 

 


3. 테이블 지우기

 1) 데이터베이스 지우기

DROP DATABASE [데이터베이스 이름];

 

 

 2) 테이블 지우기

DROP TABLE [테이블 이름];

 

 

 3) 테이블 값만 지우기

TRUNCATE TABLE [테이블 이름];

 

 

 4) 데이터베이스/ 테이블 존재한다면 지우기

DROP DATABASE IF EXISTS [데이터베이스 이름];

DROP TABLE IF EXISTS [테이블 이름];

 

 

 

 


4. 데이터 삽입, 삭제, 수정하기

 1) 데이터 삽입

INSERT INTO [테이블 이름]([컬럼이름1],[컬럼이름2]) 
VALUES([컬럼1 값],[컬럽2 값]);

 

 

 2) 데이터 삭제

DELETE FROM [테이블 이름]
WHERE [조건 값];

 

 

3) 데이터 수정

UPDATE [데이터 이름]
SET [컬럼 이름]=[새 값]
WHERE [조건 값];

 

 

 


5. 테이블 만들기+데이터 넣기

 실습 1) pokemon 데이터베이스와 mypokemon 테이블을 만들고 캐터피, 피카츄, 이브이의 포켓몬 번호, 영문 이름, 타입 데이터를 넣기/ 데이터 타입 : number-> int, name-> varchar(20), type-> varchar(10)

CREATE DATABASE pokemon;

USE pokenmon;

CREATE TABLE pokemon.mypokemon(
	number int,
    name varchar(20),
    type varchar(10)
);

INSERT INTO pokemon.mypokemon(number, name, type)
VALUES (10, "caterpie", "bug"), (25, "pikachu", "electric"), (133, "eevee", "normal");

 

 

 

 

 

 실습 2) pokemon 데이터베이스에 mynewpokemon 테이블을 만들고 포니타, 메타몽, 뮤의 포켓몬 번호, 이름, 타입 데이터를 넣기/ 데이터 타입 : number-> int, name-> varchar(20), type-> varchar(10)

CREATE TABLE pokemon.mynewpokemon(number int, name varchar(20), type varchar(10));

INSERT INTO	pokemon.mynewpokemon(number, name, type)
VALUES(77, "포니타", "불꽃"), (132, "메타몽", "노말"), (151, "뮤", "에스퍼");

 

 

 

 

 

실습 3) pokemon 데이터베이스에 mypokemon 테이블 -> myoldpokemon으로 변경/ myoldpokemon, mynewpokemon 테이블안에 name을 각각 eng_name, kor_name으로 변경

--pokemon 데이터베이스 사용
USE pokemon;

ALTER TABLE mypokemon RENAME myoldpokemon;

ALTER TABLE myoldpokemon CHANGE COLUMN name eng_name varchar(20);

 

 

ALTER TABLE mynewpokemon CHANGE COLUMN name kor_name varchar(20);

 

 

 

실습 4) pokemon 데이터베이스에 myoldpokemon 테이블 값만 삭제/ mynewpokemon 테이블 삭제

TRUNCATE TABLE myoldpokemon;

 

DROP TABLE mynewpokemon;

 

 

 


2일차에 느낀점

 - 전에 오라클 SQL에 대한 강의를 들은적이 있기 때문에 다시 들으니 재미있었고 확실히 쿼리를 외워서 치는게 아니기 때문에 버벅거림이 있었고 실습문제를 풀었을때 쿼리문 기억이 잘 안나서 고민을 조금 하게되었어요ㅠㅠ

보고 치면서 익숙해지도록 자주 연습할 필요성을 느끼고 있고 데이터베이스는 전부터 관심을 가지고 있었기 때문에 열심히 남은날도 공부해보도록 해야겠어요!

728x90