MariaDB + Python 연동

yuseon Lim·2021년 6월 29일
0
  • pymysql 을 설치한다.
$ pip install pymysql
  • mysql 에 있는 user 테이블의 root 계정의 plugin 값을 빈값으로 해야 파이썬에서 연결 할 수 있다.
  • user테이블은 mysql 데이터베이스 안에 있기 때문에 이렇게 해준다.
$ sudo mysql -u root
MariaDB [(none)]> use mysql
MariaDB [mysql]> update user set plugin='';
MariaDB [mysql]> FLUSH PRIVILEGES;

  • 테스트를 위해 mydb라는 데이터베이스를 만들었다.
MariaDB [(none)]> create database mydb;

  • sensordata라는 테이블을 만들었다.
MariaDB [mydb]> CREATE TABLE sensordata (
-> id INT NOT NULL,
-> co DECIMAL(5,2) NULL,
-> pm10 DECIMAL(5,2) NULL    ->
);

  • 기본키를 id로 설정했다.
MariaDB [mydb]> ALTER TABLE sensordata ADD PRIMARY KEY (id);

  • 테스트 용으로 값을 하나 INSERT 해 보았다.
MariaDB [mydb]> INSERT INTO sensordata VALUES(1, 0.01, 10);

  • sensordata 테이블에 있는 값을 보여주는 쿼리문 이다.
import pymysql

db = pymysql.connect(host='localhost', user='root', password='raspberry', 
db = 'mydb', charset='utf8')
cur = db.cursor()
cur.execute("SELECT * FROM sensordata")
rows = cur.fetchall()
print(rows)
db.close()

  • sensordat 테이블에 값을 insert 하는 쿼리문도 짜 보았다
import pymysql

def insert_sensordata(id: int, co: float, pm10: float) :
    # connect to database
    db = pymysql.connect(host='localhost', user='root', password='raspberry', 
    db = 'mydb', charset='utf8')
    cur = db.cursor()

    # insert
    sql = "INSERT INTO sensordata VALUES (%s, %s, %s)"
    val = (id, co, pm10)
    cur.execute(sql, val)

    db.commit()

    print(cur.rowcount, "record inserted")
    

insert_sensordata(2, 0.02, 20)

참고 자료

profile
🔥https://devyuseon.github.io/ 로 이사중 입니다!!!!!🔥

0개의 댓글