728x90

인공지능, 데이터분석/[SQL] 혼자 공부하는 SQL 11

[혼공SQL] 8장. SQL과 파이썬 연결

Chapter 8. SQL과 파이썬 연결 8.1 파이썬과 MySQL의 연동 - PyMySQL은 파이썬과 MySQL을 연결시켜주는 외부 라이브러리이다. - IDLE은 파이썬을 개발하는 통합 개발 환경이다. - 입력한 내용이 바로 결과로 나오는 대화형 모드와 여러 줄을 입력한 후 한꺼번에 실행하는 스크립트 모드가 있다. 💡 컴파일 언어(compiled lanuage) : 소스 코드를 실행 가능한 기계어로 일괄 번역한 후에 번역이 완료된 파일(*.exe, *.class)이 실행되는 언어. 대표적으로 C, C++, JAVA등이 있다. 💡 인터프리트언어(스크립트언어) : 소스 코드를 한 줄씩 읽어 바로 실행되는 언어. 따라서 별도의 실행 파일이 생성되지 않는다. 대표적으로 파이썬, 자바스크립트, 펄 등이 있다. ..

[혼공SQL] 7장. 스토어드 프로시저

Chapter 7. 스토어드 프로시저 7.1 스토어드 프로시저 사용 방법 스토어드 프로시저는 MySQL에서 제공되는 프로그래밍 기능이다 BEGIN ~ END 사이에 코드를 구현한다. 스토어드 프로시저를 작성한 후, CALL문을 통해서 스토어드 프로시저를 호출한다. 입력 매개변수는 스토어드 프로시저에 값을 전달한다.(형식 : IN) 출력 매게변수는 스토어드 프로시저에서 계산된 결과를 돌려받는다.(형식 : OUT) 동적SQL은 다이나믹하게 SQL을 생성한 후 실행한다. PREPARE문과 EXECUTE문을 사용한다. 스토어드 프로시저를 만드는 시점에는 아직 존재하지 않은 테이블을 사용해도되나, CALL로 실행하는시점에는 사용한 테이블이 있어야 함 프로시저 밖에 변수를 만들 땐 @를 사용 프로시저 안에 변수를 ..

[혼공SQL] 6장. 인덱스

Chapter 6. 인덱스 6.1 인덱스 개념을 파악하자 클러스터형 인덱스 보조 인덱스 영문 Clustered Index Secondary Index 관련 제약조건 기본 키(Primary Key) 고유 키(Unique) 테이블당 개수 1개 여러 개 정렬 지정한 열로 정렬됨 정렬되지 않음 비유 영어사전 일반 책의 찾아보기 6.2 인덱스의 내부 작동 인덱스는 내부적으로 균형 트리, 즉 나무를 거꾸로 표현한 자료 구조로 구성 노드는 트리 구조에서 데이터가 저장되는 공간, MySQL에서는 노드를 페이지라 부름 전체 테이블 검색(Full Table Scan)은 데이터를 처음부터 끝까지 검색하는 것 페이지 분할은 데이터를 입력할 때, 입력할 페이지에 공간이 없어서 2개 페이지로 데이터가 나눠지는 것 -> SELEC..

[혼공SQL] 5장. 테이블(제약조건 : 기본키, 외래키, 고유키)과 뷰

Chapter 5. 테이블과 뷰 5.1 테이블 만들기 CREATE TABLE : 테이블을 생성하는 SQL로 테이블 이름, 열 이름, 데이터 형식 등으 지정 열에 입력될 값이 1부터 자동 증가하도록 설정하려면 GUI에서는 AI, SQL에서는 AUTO_INCREMENT를 입력 열에 빈 값을 허용하지 않으려면 GUI에서는 NN, SQL에서는 NOT NULL을 입력 열을 기본 키로 지정하려면 GUI에서는 PK, SQL에서는 PRIMARY KEY를 입력 열을 외래 키로 지정하려면 GUI에서는 FK, SQL에서는 FOREIGN KEY 예약어를 입력 용어 설명 GUI Graphical User Interface의 약자로, 윈도에서 진행하는 작업을 의미 로우(row) 테이블의 행, 레코드(record)라고 부름 컬럼(..

[혼공SQL] 4장. SQL 고급 문법(데이터 형식, 데이터 형변환, 조인, IF, CASE, WHILE, 동적SQL)

Chapter 4. SQL 고급 문법 4.1 MySQL의 데이터 형식 정수형 : 소수점이 없는 숫자이며, TINYINT, SMALLINT, INT, BIGINT 등이 있음 문자형 : 고정형 문자형인 CHAR, 가변형 문자형인 VARCHAR가 있음 실수형 : 소수점 아래 7자리까지 표현되는 FLOAT와 소수점 아래 15자리까지 표현되는 DOUBLE이 있음 날짜형 : DATE(날짜만저장, YYYY-MM-DD형식), TIME(시간만 저장, HH:MM:SS 형식), DATETIME(날짜 및 시간 저장) ▶ 변수 앞에는 @를 붙임 USE market_db; SET @myVar1 = 5; # 변수선언 SET @myVar2 = 4.25; # 변수선언 SELECT @myVar1; # 5 SELECT @myVar1 + ..

[혼공학습단 9기 / SQL] ORDER BY, LIMIT, DISTINCT, GROUP BY, HAVING, 2주차 미션

03-2 좀 더 깊게 알아보는 SELECT문 ■ SELECT절의 형식 SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 1. ORDER BY절 : 결과의 값이나 개수에 대해서는 영향을 미치지 않지만, 결과가 출력되는 순서를 조절 : 기본값은 ASC(Ascending) 오름차순을 의미, DESC(Descending) 내림차순을 의미 ※ 참고 : ORDER BY는 WHERE절 다음에 나와야 함 SELECT 기본 형식 구문에 맞게 작성해줘야 오류가 안남 2. LIMIT : 출력의 개수를 제한 : WHERE절은 생략 가능하나 사용하고 싶으면 문법순서에 맞게 사용하면 됨 : ORDER BY와 함께 사용 SELECT m..

[혼공학습단 9기 / SQL] SELECT, FROM, WHERE

03-1 기본중에 기본 SELECT ~ FROM ~ WHERE 1. market_db.sql 파일 내용 - DROP DATABASE 는 market_db를 삭제하는 문장 DROP DATABASE IF EXISTS market_db; -- 만약 market_db가 존재하면 우선 삭제한다. CREATE DATABASE market_db; USE market_db; CREATE TABLE member -- 회원 테이블 ( mem_id CHAR(8) NOT NULL PRIMARY KEY, -- 사용자 아이디(PK) mem_name VARCHAR(10) NOT NULL, -- 이름 mem_number INT NOT NULL, -- 인원수 addr CHAR(2) NOT NULL, -- 지역(경기,서울,경남 식으로 ..

[혼공학습단 9기 / SQL] 인덱스, 뷰, 스토어드 프로시저

02-3 데이터베이스 개체 ■ 데이터베이스 개체 3가지 설명_1주차 선택 미션 1. 인덱스(INDEX) : 책의 '찾아보기'와 비슷한 개념 : 실제로 인덱스를 잘 활용하지 못해 시스템의 성능이 전체적으로 느려지는 일이 흔하게 발생 : 아래와 같이 코드를 실행할 경우 그냥 SELECT구문만 써서 찾는것보다 속도가 빠름 : Full Table Scan -> Non-Unique Key Lookup으로 변경됨 CREATE INDEX idx_member_name ON member(member_name); SELECT * FROM member WHERE member_name = '아이유'; 2. 뷰(VIEW) : 보안 강화, SQL문 간단히 사용, '가상의 테이블' : 실제 데이터를 가지고 있지 않으며, 진짜 테이..

[혼공학습단 9기 / SQL] 데이터베이스 구축, 1주차 미션

02-2 데이터베이스 시작부터 끝까지 ■ 데이터베이스 구축 절차 데이터베이스 만들기 → 테이블 만들기 → 데이터입력/수정/삭제하기 → 데이터 조회/활용하기 ■ 데이터베이스 만들기 이름은 show_db로 데이터베이스(스키마) 생성 CREATE SCHEMA 'shop_db'; ■ 테이블 만들기 테이블 설계하기 -> 열 이름과 데이터 형식을 지정하기 CREATE TABLE 'shop_db', 'member'( 'member_id' CHAR(8) NOT NULL, 'member_name' CHAR(5) NOT NULL, 'member_addr" CHAR(20) NULL, PRIMARY KEY('member_id')); CREATE TABLE 'shop_db', 'product' ( 'product_name' C..

[혼공학습단 9기 / SQL] DBMS 종류, 데이터베이스용어

■ DBMS 정의 - 데이터베이스를 관리하고 운영하는 소프트웨어 - Database Management System ■ 관련용어 용어 설명 MySQL 대표적인 관계형 DBMS MariaDB MySQL 초기 개발자가 오라클 사를 퇴사한 후 만든 DBMS. MySQL과 상당히 유사하며 완전 무료로 사용 가능 MySQL Server MySQL의 여러 소프트웨어 중 엔진 기능을 하는 핵심 소프트웨어(DBMS) MySQL Workbench MySQL 서버에 접속/연결하기 위한 클라이언트 도구. 이곳에 SQL 문을 입력하고 실행함 ■ 데이터베이스 구성도 ■ 관련용어 용어 약자 설명 data 단편적인 정보 table 데이터를 입력하기 위한 표 형태 Database DB 데이터의 저장소 Database Managemn..

728x90
반응형