
데이터 관리(데이터의 CRUD)를 위한 언어
SELECT (Read) / INSERT (Create) / UPDATE (Update) / DELETE (Delete)
모든 열 읽어오기
cur.execute("SELECT * FROM tracks;") # "*" means "all columns"
df = pd.read_sql_query("SELECT * FROM tracks;",conn) # 현재 연결(connect)된 데이터베이스로부터 SQL Query를 통해 데이터를 읽어들입니다.
한번에 하나의 데이터 값 삽입
script = """
INSERT INTO artists (name) -- artists 테이블에(into) 새로운 값을 삽입(insert)해줍니다.
VALUES ('Bud Powell'); -- 넣어줄 값들(values)을 지정해줍니다.
"""
한번에 여러 개의 데이터 값 삽입
script = """
INSERT INTO artists (name)
VALUES
("Buddy Rich"),
("Candido"),
("Charlie Byrd"); -- 이처럼 여러 행(record)을 병렬적으로 소괄호에 담아 동시에 삽입할 수 있습니다.
"""
하나의 열 수정
script = """
UPDATE employees
SET lastname = 'Smith' -- 아래 WHERE 문으로 선택된 행에 대하여 lastname 열의 값을 'smith'로 설정(SET)해줍니다.
WHERE employeeid = 3; -- WHERE 문이 먼저 실행됩니다. (employeeid 열의 값이 3인 행이 먼저 선택된 후, SET 문으로 수정됩니다.)
"""
여러 개의 열 수정
script = """
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7' -- 이처럼 여러 열에 대해 동시에 수정(SET)이 가능합니다.
WHERE
employeeid = 4;
"""
대문자(upper) & 문자열 합치기
script = """
UPDATE employees
SET email = UPPER(firstname || "." || lastname || "@chinookcorp.co.kr"); -- || : concatenate
-- ex) UPPER(andrew.adams@chinookcorp.co.kr)
-- 이처럼 WHERE 문이 없을 경우 모든 행에 대해 동시에 적용됩니다.
"""
script = """
DELETE FROM employees
WHERE employeeid = 2;
"""