MySQL 특강 명령어

이정기·2022년 11월 30일
0

TIL

목록 보기
24/71
post-thumbnail

관계형 데이터베이스

엑셀의 테이블 형태
우리 부트캠프에서는 관계형 데이터베이스를 주로 쓴다.

관계형 종류

SQL : 틀이 있다 // 수정, 삭제, 업데이트에 특화
NoSQL : 틀이 유연하다 // 읽기기능 특화

MySQL Naming Convention
프로젝트를 하기전 파일, 함수, 테이블, 칼럼 등 이름을 서로 약속하는 것

특강 명령어

-- 데이터베이스 생성
CREATE DATABASE sparta_tex;

-- 학생테이블 생성
CREATE TABLE sparta_test.student(
	id int PRIMARY KEY AUTO_INCREMENT
	,
	name varchar(50) NOT NULL
	,
	email varchar(50) UNIQUE
)

-- 도시 테이블 생성
CREATE TABLE city(
	id int PRIMARY KEY AUTO_INCREMENT
	,
	name varchar(50) NOT NULL
)

-- 학생 데이터 입력
INSERT INTO	student (name)
VALUES	('오영환');

-- 도시 데이터 입력
INSERT INTO	city (name)
VALUES	('서울'), ('도쿄'), ('뉴욕'), ('상하이'), ('파리');

-- 학생 테이블 수정(city_id) 추가 및 외래키 등록
ALTER TABLE student ADD COLUMN city_id int
,
ADD CONSTRAINT `fk_city_table_id` FOREIGN KEY student(city_id) REFERENCES city(id);
-- 제약조건을 추가 (외래키 이름 지정) 외래키지정할 student테이블 city_id 칼럼을 만들고,  ctiy테이블의 id 참조하겠다.
-- fk : foreign key의 약자

-- 학생 이메일 업데이트
UPDATE student
SET email = 'hjd@naver.com'
WHERE id = 4

-- 학생 검색(이메일)
SELECT * FROM STUDENT S 
WHERE email LIKE '%@naver.com'

-- Null 검색
SELECT * FROM STUDENT S
WHERE email IS NULL 

-- 학생 데이터 삭제
DELETE FROM student 
WHERE id = 1; 

-- 학생 테이블과 도시 테이블 조
SELECT * FROM student LEFT JOIN 
city ON student.city_id = city.id;
profile
Node.js 로 꿈을 꾸었다..

0개의 댓글