
pymysql을 이용하여 MariaDB 서버로 접속할 수 있습니다.
접속 이후 close를 이용하여 세션을 종료합니다.
import pymysql
connector = pymysql.connect(host="192.168.0.38", user="user", password="p@ssw0rd", db="test_db", charset="utf8")
cursor = connector.cursor()
""" table initialization
SQL = "DROP TABLE IF EXISTS tb_user"
cursor.execute(SQL)
SQL = "CREATE TABLE IF NOT EXISTS tb_user (id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(255), password varchar(255)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=1"
cursor.execute(SQL)
SQL = "DELETE FROM tb_user"
cursor.execute(SQL)
connector.commit()
"""
cursor.close()
connector.close()
INSERT 쿼리를 통해 데이터베이스에 데이터를 생성해 봅니다.
SQL 문에 데이터와 함께 전달할 수 있으며 excute의 인자를 통해 전달할 수 있습니다.
데이터 생성 후에는 commit을 통해 적용합니다.
import pymysql
connector = pymysql.connect(host="192.168.0.38", user="user", password="p@ssw0rd", db="test_db", charset="utf8")
cursor = connector.cursor()
SQL = "INSERT INTO tb_user (name, password) VALUES ('user1','user1_password'), ('user2','user2_password'), ('user3','user3_password')"
cursor.execute(SQL)
SQL = "INSERT INTO tb_user (name, password) VALUES (%s,%s)"
cursor.execute(SQL, ("user4", "user4_password"))
cursor.execute(SQL, ("user5", "user5_password"))
cursor.execute(SQL, ("user6", "user6_password"))
connector.commit()
cursor.close()
connector.close()
조건에 맞는 모든 데이터를 조회할 때는 fetchall을 이용하고 한 개의 데이터만 조회한다면 fetchone을 사용합니다.
SQL 문에 데이터와 함께 전달할 수 있으며 excute의 인자를 통해 전달할 수 있습니다.
import pymysql
connector = pymysql.connect(host="192.168.0.38", user="user", password="p@ssw0rd", db="test_db", charset="utf8")
cursor = connector.cursor()
SQL = "SELECT * FROM tb_user"
cursor.execute(SQL)
rows = cursor.fetchall()
for row in rows:
print(row)
SQL = "SELECT * FROM tb_user where name=%s"
cursor.execute(SQL, ("user3", ))
row = cursor.fetchone()
print(row)
cursor.close()
connector.close()
업데이트를 통해 데이터를 변경 후 SELECT 질의를 통해 데이터의 변화를 확인해 봅니다.
SQL 문에 데이터와 함께 전달할 수 있으며 excute의 인자를 통해 전달할 수 있다.
import pymysql
connector = pymysql.connect(host="192.168.0.38", user="user", password="p@ssw0rd", db="test_db", charset="utf8")
cursor = connector.cursor()
SQL = "UPDATE tb_user SET password=%s WHERE name=%s"
cursor.execute(SQL, ("updated_password", "user5"))
connector.commit()
SQL = "SELECT * FROM tb_user where name=%s"
cursor.execute(SQL, ("user5", ))
print(cursor.fetchone())
cursor.close()
connector.close()
데이터를 삭제 후 SELECT 질의를 통해 데이터가 삭제됐음을 확인해 봅니다.
SQL 문에 데이터와 함께 전달할 수 있으며 excute의 인자를 통해 전달할 수 있다.
import pymysql
connector = pymysql.connect(host="192.168.0.38", user="user", password="p@ssw0rd", db="test_db", charset="utf8")
cursor = connector.cursor()
SQL = "DELETE FROM tb_user WHERE name=%s"
cursor.execute(SQL, ("user1", ))
connector.commit()
SQL = "SELECT * FROM tb_user where name=%s"
cursor.execute(SQL, ("user1", ))
print(cursor.fetchone())
cursor.close()
connector.close()