MySQL/Learn MySQL 5

5. MYSQL 데이터 형태 (정수형, 문자형, 실수형, 날짜형, 변수, 데이터 형 변환)

/* 정수형 데이터 형식 바이트수 숫자범위 TINYINT 1 -128 ~ 127 SMALLINT 2 -32,768~32,767 INT 4 약 -21억 ~ 21억 BIGINT 8 약 -900경 ~ +900경 => UNSIGNED 사용 시 TINYINT 는 0~255 */ CREATE TABLE hongong4 ( tinyint_col TINYINT, smallint_col SMALLINT, int_col INT, bigint_col BIGINT); INSERT INTO hongong4 VALUES(127,32767,214748364,900000000000000); -- Error Code : 1264 => tinyint_col의 지정 범위가 넘어가 에러가 뜸 INSERT INTO hongong4 VALUE..

MySQL/Learn MySQL 2023.08.28

4. 테이블 생성 및 데이터 추가, 수정, 삭제 (CREATE, INSERT,UPDATE, DELETE)

# 테이블 생성 CREATE TABLE hongong1(toy_id INT, toy_name CHAR(4), age INT); # 데이터 추가 - INSERT INTO 테이블 [(열1,열2, ...)] VALUES (값1, 값2,...) INSERT INTO hongong1 VALUES (1,'우디',25); INSERT INTO hongong1(toy_id, toy_name) VALUES (2,'버즈'); INSERT INTO hongong1(toy_name, age, toy_id) VALUES ('제시',20,3); # AUTO_INCREMENT - AUTO_INCREMENT 사용 시에는 PRIMARY KEY로 지정해야 한다 ! - INSERT 될 때 마다 자동으로 1씩 증가 시킨다. -- AUTO ..

MySQL/Learn MySQL 2023.08.28

3. 기본 SELECT문(GROUP BY HAVING, COUNT)

# buy 테이블 목록 # GROUP BY SELECT mem_id "회원 아이디" , SUM(amount) "총 구매 개수" FROM buy GROUP BY mem_id; => buy 테이블의 mem_id 별로 묶인 mem_id 열과 amount열의 합을 보여준다. -- GROUP BY , 총 구매 금액 표현 SELECT mem_id "회원 아이디", SUM(amount*price) "총 구매 금액" FROM buy GROUP BY mem_id; SELECT mem_id "회원아이디", AVG(amount) "평균 구매 개수" FROM buy GROUP BY mem_id; # GROUP BY HAVING "GROUP BY WHERE" => Error !! -- ERROR 발생 Error Code: 11..

MySQL/Learn MySQL 2023.08.28

2. 기본 SELECT 문 및 WHERE절 (BETWEEN AND, IN,LIKE, ORDER BY, LIMIT, DISTINCT)

# 해당 테이블은 위에 market_db.sql 에서 OPEN 하면 됨. # 사용된 member 테이블 ( SELECT * FROM member; ) # 기본 WHERE 절 USE market_db; -- market db 스키마를 사용하겠다. SELECT * FROM member WHERE mem_name = '블랙핑크'; -- member의 모든 내용(*)에서 mem_name이 블랙핑크인 것을 보여줘 SELECT * FROM market_db.member WHERE mem_name = '블랙핑크'; -- market_db.member => 스키마 지정 후 불러 오기 # Column(열) 이름 별명 부여 SELECT addr, height, debut_date FROM member; SELECT add..

MySQL/Learn MySQL 2023.08.17

1. MYSQL 프로시져(PROCEDURE), 인덱스(INDEX), 뷰(VIEW)

# PROCEDURE 프로시져 - myProc() 라는 프로시져 만들기 => 자주 사용해야할 쿼리문들을 함수(def)처럼 저장하고 불러오며 사용 - 함수와 다른점은 함수는 값을 불러오기 위해 사용하는 목적이 있고 프로시져는 여러쿼리를 한 번에 실행하기 위한 목적이 있다. - 불러올 때는 CALL myProc()로 불러서 사용 # 뷰(VIEW) - 보안상의 문제로 직접적으로 DB 테이블을 건드리는 것이 아니라 만들어진 뷰(VIEW)를 통해 정보를 받는다. # 인덱스(INDEX) - 수 만개의 데이터에서 원하는 데이터를 찾을 때 Full Table Scan하여 찾으면 10~15분이 소요된다. - 인덱스를 사용하면 몇 초 안으로 시간을 단축시킬 수 있다. (빠른찾기)

MySQL/Learn MySQL 2023.08.17