데이터란?
- 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 등의 형태로 된 정보를 말한다고 합니다.
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에 대한 강의를 들은적이 있기 때문에 다시 들으니 재미있었고 확실히 쿼리를 외워서 치는게 아니기 때문에 버벅거림이 있었고 실습문제를 풀었을때 쿼리문 기억이 잘 안나서 고민을 조금 하게되었어요ㅠㅠ
보고 치면서 익숙해지도록 자주 연습할 필요성을 느끼고 있고 데이터베이스는 전부터 관심을 가지고 있었기 때문에 열심히 남은날도 공부해보도록 해야겠어요!
'SQL' 카테고리의 다른 글
MySQL 단축키 정리 (0) | 2024.06.07 |
---|---|
SQL 5일차 - 원하는 데이터 만들기 (0) | 2024.04.11 |
SQL 4일차 - 조건에 맞는 데이터 가져오기 (2) | 2024.03.29 |
SQL 3일차 - 데이터 가져오기 (0) | 2024.03.27 |
SQL 강의 1일차 - MySQL Workbench 설치하기 (0) | 2024.03.25 |