데이터베이스 - SQLite / MariaDB / ORACLE

2020. 7. 13. 21:59캐리의 데이터 세상/캐리의 데이터 공부 기록

반응형

자바의 큰 벽을 지나 파이썬으로 돌입, 파이썬과 DB 연동을 하루 종일 다뤘는데, 주로 쓰게 될 MariaDB 외에도 SQLite, Oracle까지 '테이블 생성', '데이터  가져오기', '데이터 수정 및 삭제' 등 간단하게  실습했던 내용들 남겨봅니다. SQL 문법은 동일하니 각 DB 사용 때마다 약간의 쿼리문 차이는 그때그때 API 찾아가면서 확인해야 할 듯.

 

SQL(Structured Query Language) 란?

관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다.

SQL 설명(출처 : 위키백과)

 

에디터로 자바할 때에는 eclipse, 파이썬은 Jupyter와 VSCODE를 사용.

 

sqlite3

SQLite는 별도의 서버 프로세스가 필요 없고 SQL 질의 언어의 비표준 변형을 사용하여 데이터베이스에 액세스 할 수 있는 경량 디스크 기반 데이터베이스를 제공하는 C 라이브러리입니다. 일부 응용 프로그램은 내부 데이터 저장을 위해 SQLite를 사용할 수 있습니다. SQLite를 사용하여 응용 프로그램을 프로토타입 한 다음 PostgreSQL 이나 Oracle과 같은 더 큰 데이터베이스로 코드를 이식할 수도 있습니다.(출처 : SQLite3 라이브러리 바로가기)

 

sqlite3 모듈은 파이썬에 내장된 모듈이라 별도로 설치할 필요는 없고 import로 불러들이면 된다.

sqlite3 실습은 SQLite3 라이브러리 공식 사이트인 SQLite 데이터베이스용 DB-API 2.0 인터페이스 에 실린 내용으로 진행되었기에 상단의 언어를  '한국어' 로 바꿔서 확인.

 

# 모듈을 사용하려면, 먼저 데이터베이스를 나타내는 Connection 객체를 만들어야 한다.
# 일단 Connection를 얻으면, Cursor 객체를 만들고 execute() 메서드를 호출하여 SQL 명령을 수행

# 자동으로 commit()을 호출하지 않는다. commit()를 먼저 호출하지 않고 데이터베이스 연결을 닫으면 변경 사항이 손실된다.

 

 

#마침표 하나 잘못찍거나 철자가 하나만 틀려도 또 들여 쓰기가 안 맞으면 오류 나는 터라 기본 틀을 제대로 익히는 게 중요한 듯. 특히 type에 따라 수정 여부, 인덱스 사용 여부도 달라지는 만큼 type을 print로 체크하는 습관 필요!

#value 값 넣는 자리에 ?로 자리 표시. (MariaDB는 %s, Oracle은 : 1 형태)

Put ? as a placeholder wherever you want to use a value, and then provide a tuple of values as the second argument to the cursor’s execute() method.

 

#같은 경로상에 있는 csv 파일 import 해서 테이블 만들고 값 insert 후에 data화

 

 

def로 함수 정의하기

 

 

구조가 눈에 들어오게끔 반복해서 연습. 

MariaDB랑 Oracle도 맥은 비슷하게 가는 듯한데 value 값이랑 타입도 약간 다른 부분은 신경 써야 할 듯. 실제 예제들 좀 더 다루게 되면 눈에 보이는 게 더 많아지겠지.

반응형