
pip install pymysql
pip install psycopg2-binary
import pymysql
class CreateDatabase():
def __init__(self, host, port, user, password, db_name):
"""
데이터베이스 생성
New database will be created.
:param host: IP
:param port: Port
:param user: root
:param password: password of connection
:param db_name: the name of database
"""
self.host = host
self.port = port
self.user = user
self.password = password
self.db_name = db_name
try:
# MySQL
self.conn = pymysql.connect(
host=self.host,
port=self.port,
user=self.user,
password=self.password)
# Cursor
with self.conn.cursor() as cursor:
# SQL Sentence
create_table_query = """
CREATE DATABASE IF NOT EXISTS {};
""".format(self.db_name)
# Result
cursor.execute(create_table_query)
self.conn.commit()
print(f"Database '{self.db_name}' created or already exists.")
except Exception as e:
print("Error while creating database:", e)
self.conn.close()
if __name__ == '__main__':
CreateDatabase(
host=localhost,
port=3306,
user="root",
password="password",
db_name="dbname"
)
import psycopg2
from psycopg2 import sql, errors
class CreateDatabase:
def __init__(self, host, port, user, password, db_name, default_db_name="postgres"):
"""
:param host: IP
:param port: Port (PostgreSQL 기본값: 5432)
:param user: 사용자 이름 (일반적으로 'postgres')
:param password: 연결 비밀번호
:param db_name: 새로 생성할 데이터베이스의 이름
"""
self.host = host
self.port = port
self.user = user
self.password = password
self.db_name = db_name
self.default_db_name = default_db_name
self.conn = None
try:
self.conn = psycopg2.connect(
host=self.host,
port=self.port,
user=self.user,
password=self.password,
database=self.default_db_name
)
# 자동 커밋 모드
self.conn.autocommit = True
with self.conn.cursor() as cursor:
create_db_query = sql.SQL("CREATE DATABASE {}").format(
sql.Identifier(self.db_name)
)
# 3. 쿼리 실행
try:
cursor.execute(create_db_query)
print(f"Database '{self.db_name}' successfully created.")
except errors.DuplicateDatabase:
# 이미 존재하는 경우
print(f"Database '{self.db_name}' already exists.")
except Exception as e:
# 다른 예외 발생 시 처리
print(f"Error while creating database: {e}")
except Exception as e:
# 초기 연결 실패 시 처리
print(f"Error connecting to PostgreSQL server: {e}")
finally:
# 연결이 성공적으로 이루어졌다면 닫습니다.
if self.conn:
self.conn.close()
if __name__ == '__main__':
CreateDatabase(
host="127.0.0.1",
port=5435,
user="root",
password="password",
db_name="생성할 DB 이름",
default_db_name="postgres"
)