[AI SCHOOL 5기] SQL 프로그래밍 실습 - Merge

INNER JOIN 1 2 3 4 5 6 7 8 9 SELECT l.Title, r.Name FROM albums AS l INNER JOIN artists AS r ON r.ArtistId = l.ArtistId; 1 2 3 4 5 6 SELECT Title, Name FROM albums INNER JOIN artists USING(ArtistId); LEFT JOIN 1 2 3 4 5 6 7 8 SELECT Name, Title FROM artists LEFT JOIN albums ON artists.ArtistId = albums.ArtistId ORDER BY Name; SELF JOIN 1 2 3 4 5 6 7 8 9 10 SELECT m....

April 11, 2022 · 2 min · 274 words · minyeamer

[AI SCHOOL 5기] SQL 프로그래밍 실습 - SQL CRUD

SELECT 1 SELECT 10 / 5, 2 * 4; 1 SELECT trackid, name FROM tracks; 1 SELECT * FROM tracks; INSERT 1 INSERT INTO artists (name) VALUES('Bud Powell'); 1 2 3 4 5 6 7 8 9 10 11 script = """ INSERT INTO artists (name) VALUES ("?"); """ data = [ ("Buddy Rich"), ("Candido"), ("Charlie Byrd") ] cur.executemany(script, data) 1 2 3 4 5 6 7 SELECT ArtistId, Name FROM Artists ORDER BY ArtistId DESC; UPDATE 1 UPDATE employees SET lastname = 'Smith' WHERE employeeid = 3; 1 2 3 4 5 6 UPDATE employees SET city = 'Toronto', state = 'ON', postalcode = 'M5P 2N7' WHERE employeeid = 4; 1 2 UPDATE employees SET email = UPPER(firstname || "....

April 11, 2022 · 2 min · 329 words · minyeamer

[AI SCHOOL 5기] SQL 프로그래밍

DBMS DataBase Management System 하드웨어에 저장된 데이터베이스를 관리해주는 소프트웨어 관계형 데이터베이스(RDBMS)가 주로 사용 Oracle, MySQL(MariaDB), SQLite, MS SQL, PstgreSQL 데이터 모델링 현실 세계 E-R 다이어그램 (개념 스키마) Relation 모델 (논리적 스키마) 물리적인 SQL 코드 (데이터베이스 스키마) 개념적 데이터 모델링 현실 세계로부터 개체를 추출, 개체들의 관계를 정의, E-R 다이어그램 생성 개체(Entity): 회원, 제품 등 저장할 가치가 있는 데이터를 포함한 개체 속성(Attribute): 이름, 이메일 등 의미 있는 데이터의 가장 작은 논리적 단위 관계(Relationship): 구매 등 개체와 개체 사이의 연관성 및 개체 집합 간 대응 관계 논리적 데이터 모델링 E-R 다이어그램을 바탕으로 논리적인 구조를 Relation 모델로 표현 릴레이션(Relation): 개체에 대한 데이터를 2차원 테이블 구조로 표현한 것 속성(Attribute): 열, 필드 튜플(Tuble): 행, 레코드, 인스턴스 차수(Degree): 릴레이션 내 속성(Column)의 총 개수 카디널리티(Cardinality): 릴레이션 내 튜플(Row)의 총 개수 물리적 데이터 모델링 Relation 모델을 물리 저장 장치에 저장할 수 있는 물리적 구조로 구현 SQL Structured Query Language RDBMS에서 데이터를 관리 및 처리하기 위해 만들어진 언어 DDL(Data Definition Language): CREATE, ALTER, DROP DML(Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE DCL(Data Control Language): GRANT, REVOKE NoSQL 관계형 모델을 사용하지 않음, 명시적인 스키마가 없음 대용량 데이터 분산 저장에 특화 Kye-Value, Document, Wide Column, Graph 등

April 11, 2022 · 1 min · 185 words · minyeamer

[AI SCHOOL 5기] SQL 프로그래밍 실습 - SQLite3

Connect SQLite3 1 2 3 4 5 import sqlite3 dbpath = "maindb.db" conn = sqlite3.connect(dbpath) cur = conn.cursor() connnect(): DBMS와 연결 conn.commit(): 현재 변경사항 저장 conn.rollback(): 마지막 commit 시점으로 되돌리기 cursor(): DB에서 SQL문을 실행하는 객체 Execute Scripts Datatypes NULL: 결측치 INTEGER (or INT): 정수 (양수 또는 음수), int 값 REAL: 실수, float 값 TEXT (or VARCHAR): 텍스트, string 값 BLOB: 모든 종류의 파일을 저장하는 바이너리 객체 Scripts DROP TABLE IF EXISTS: 테이블이 이미 있으면 제거 CREATE TABLE: 테이블 생성 AUTOINCREMENT: 값을 따로 입력하지 않으면 자동 증가 숫자 부여 NOT NULL: 빈 값이 저장되는 것을 허용하지 않음 INSERT INTO TABLE(FIELD, …) VALUES(VALUE, …):...

April 11, 2022 · 2 min · 312 words · minyeamer