SQL 15

SQL - 테이블과 뷰

테이블과 뷰 Workbench에서 테이블 생성 테이블을 생성할 때 제약 조건(Constraint) 을 잘 적용하여 만들어보자! For 무결성 -- 1. DB가 존재하면 삭제하기 DROP DATABASE IF EXISTS ShopDB; DROP DATABASE IF EXISTS ModelDB; DROP DATABASE IF EXISTS sqldb; DROP DATABASE IF EXISTS tabledb; -- 2. DB 만들기 CREATE DATABASE tabledb; -- 3. tabledb에 buytbl 만들기 CREATE TABLE `tabledb`.`buytbl` ( `num` INT NOT NULL AUTO_INCREMENT, `userid` CHAR(8) NOT NULL, `prodName`..

SQL 2023.11.01

SQL - primary key, foreign key

MySQL에서의 Primary Key와 Foreign Key Primary Key (기본 키) 정의: 테이블 내의 각 행을 고유하게 식별하는 데 사용되는 하나 또는 여러 개의 컬럼(열)의 집합입니다. 특징: 테이블당 하나만 존재할 수 있습니다. 중복된 값을 가질 수 없으며 NULL 값을 허용하지 않습니다. 보통 ID나 번호로 사용되며, 자동으로 증가하는 값을 설정할 수 있습니다 (AUTO_INCREMENT). Foreign Key (외래 키) 정의: 다른 테이블의 기본 키를 참조하는 컬럼(또는 컬럼 집합)입니다. 목적: 두 테이블 간의 관계를 설정하고 데이터 무결성을 유지하는 데 사용됩니다. 특징: 참조하는 테이블의 기본 키에 존재하지 않는 값을 가질 수 없습니다. NULL 값이 허용될 수 있으며, 하나..

SQL 2023.10.31

SQL - 고급문법

변수의 사용 변수는 메모리에 저장되기 때문에 Workbanch를 닫으면 다 날라감 기본 방법 SET @변수이름 = 변수의 값; SELECT @변수이름; SET @myVar1 = 3; PREPARE myQuery FROM 'SELECT name, height FROM usertbl ORDER BY height LIMIT ?'; EXECUTE myQuery USING @myVar1; 데이터형 변환, 내장 함수 데이터 형식 변환 함수 기본 형식 CAST(expression AS 데이터형식 [(길이)]) CONVERT(expression, 데이터형식 [(길이)]) 형 변환하기 USE sqldb; SELECT AVG(amount) AS '평균 구매 갯수' FROM buytbl; -- 정수로 바꾸기 -- CAST(..

SQL 2023.10.28

SQL - 문법 기본

Chapter 06 SQL기본 06-01 SELECT FROM 문 SELECT 자주쓰는 기본 구조 SELECT select_expr -- 선택하고 싶은 것들(ex. 이름, 날짜 등등) FROM table_references -- 참고할 테이블 이름 WHERE where_condition -- GROUP BY col_name | expr | position HAVING where_condition ORDER BY col_name | expr | position USE 이 DB를 사용하겠습니다. USE db_name; SHOW, DESCRIBE 목록 보여주기 SHOW DATABASES; -- DATABASES 목록 보여주세요 SHOW TABLE STATUS; -- table 상세보기로 보여주세요 DESCRI..

SQL 2023.10.28

SQL - 데이터베이스 구축

03-01 데이터베이스 필수 용어 각 SQL 관련 용어에 대해 간단한 설명을 제공하겠습니다: 데이터 (Data): 데이터는 정보의 단위로, 숫자, 텍스트, 이미지, 비디오 또는 기타 형식으로 저장될 수 있는 정보의 집합입니다. 테이블 (Table): 테이블은 데이터베이스 내에서 구조화된 형태로 데이터를 저장하는 방법입니다. 테이블은 행과 열의 그리드로 구성되며, 각 행은 레코드를 나타내고, 각 열은 필드 또는 속성을 나타냅니다. 데이터베이스 (Database): 데이터베이스는 관련된 데이터의 모음을 구성하며, 이러한 데이터는 테이블, 뷰, 저장 프로시저 및 다른 객체를 포함하는 시스템입니다. 데이터베이스는 데이터를 구조화하고 효과적으로 관리하는 데 사용됩니다. DBMS (Database Managemen..

SQL 2023.10.28

SQL - DDL 실습

MySQL에서 데이터 정의 언어(DDL : Data Definition Lanaguage)를 실습해보았습니다. 1. 생성 1.1 데이터베이스 생성 # 데이터베이스 목록 확인 SHOW DATABASES; SHOW DATABASES를 활용하면 현재 데이터베이스의 목록에는 어떠한 것들이 있는지 확인해볼 수 있습니다. 우리는 실습을 위해 새로운 데이터베이스를 만들고자 합니다. # 데이터베이스 생성 CREATE DATABASE databasename; # 데이터베이스 생성 및 기본 자료형 설정 CREATE DATABASE databasename DEFAULT CHARACTER SET utf8mb4; CREATE DATABASE로 데이터베이스를 생성할 수 있는데 뒤에 조건을 입력하여 기본 자료형을 설정할 수 있습니..

SQL 2023.10.28

SQL - 데이터 적재 및 사용 (소상공인 데이터셋)

공공데이터포털의 상가(상권)정보를 다운로드해 SQL에서 분석한다. 1. 파일 다운로드와 압축 풀기 ZIP 파일 다운로드 공공데이터포털의 상가(상권)정보 페이지에서 ZIP 파일을 다운로드한다. https://www.data.go.kr/data/15083033/fileData.do 소상공인시장진흥공단_상가(상권)정보_20230930 영업 중인 전국 상가업소 데이터를 제공합니다. (상호명, 업종코드, 업종명, 지번주소, 도로명주소, 경도, 위도 등) [데이터 변경 안내] 1. 상권업종분류 : 표준산업분류 기반 업 www.data.go.kr MySQL Workbench MySQL Workbench를 실행시키고 왼쪽 Navigator 패널에 마우스 오른쪽 버튼을 눌러 새로운 Schema를 생성한다. 사용할 Sch..

SQL 2023.10.28

SQL - 문장의 종류

데이터 조작어 Data Manipulation Language (DML) 데이터의 입력/수정/삭제 /조회를 담당합니다. 데이터 조작어에 해당하는 명령어는 위 순서대로 INSERT/UPDATE/DELETE/SELECT로 구성됩니다. 데이터 정의어 Data Definition Language (DDL) 데이터베이스 생성 및 테이블 생성 / 구조 변경/삭제 /이름 변경을 담당합니다. 일단 DML이랑 비교했을 때, 삭제가 겹치죠? 주의해야합니다. 빈출이거든요. 데이터 정의어는 DB를 구현할 때, 가장 먼저 사용하는 언어들입니다. 생성은 CREATE 구조 변경은 ALTER 여기서 삭제는 DROP 이름 변경은 RENAME 입니다. 지금 적고있는 명령어들은 코드를 한번씩 보여드리면서 이해시켜드릴겁니다. 데이터 제어어..

SQL 2023.10.28

SQL - 정규화

정규화 2장에서 가장 어려운 정규화와 반정규화입니다. 이번 글에선 정규화부터 하겠습니다. 정규화는 논리적 데이터모델링에 속하며, Key/속성/관계에 대한 정의를 다루고 재사용성이 높다는 특징을 가진다고 했었습니다. (1과목 10. 데이터 모델링의 특징에서 설명한 부분입니다.) 정규화를 통해 데이터의 입력/수정 등등을 할 때, 데이터들이 꼬이는 것을 막기 위해 분류작업을 하는게 목표입니다. 정규화는 1차부터 5차까지있지만 문제로 자주 나오는건 1~2차까지입니다. (가끔 3차도 나옵니다) 이번 글에서 사용한 사진들은 'SQL전문가 정미나선생님의 유튜브 채널' / 'SQL 자격검정 실전문제' 1차 정규화? 1차 정규화는 모든 속성은 반드시 하나의 값만 가져야한다는 특징을 갖고 있습니다. 쉽게 말해서 '중복되는..

SQL 2023.10.28