ABOUT ME

-

Total
-
  • Python: MySQL 사용하기
    컴퓨터/MySQL 2020. 12. 14. 16:00
    728x90
    반응형

    MySQL

     

    MySQL

    Over 2000 ISVs, OEMs, and VARs rely on MySQL as their products' embedded database to make their applications, hardware and appliances more competitive, bring them to market faster, and lower their cost of goods sold.

    www.mysql.com

     

    할 것

    1. MySQL 서버 실행

    2. Python용 MySQL connector

    3. db 만들고 간단하게 table CREATE, SELECT

     

    설치

     

    MySQL 다운로드

    dev.mysql.com/downloads/mysql/

     

    Windows 10 my.ini 경로: C:\ProgramData\MySQL\MySQL Server 8.0

    db경로: C:\ProgramData\MySQL\MySQL Server 8.0\mydatabase

     

    mysql connector for Python

    pip install mysql-connector-python

     

    서버

    services.msc에 MySQL이 없다면, 아래를 관리자 권한으로 실행

    mysqld --install

     

    MySQL Workbench 앱을 통해 데이터베이스 연결을 확인해본다.

    또는, cmd

    mysql -uroot -p

     

    데이터 베이스 만들기

    import mysql.connector
    
    # connect to our local MySQL instance using connection string
    db = mysql.connector.connect(
        host="localhost", user="root", password="비밀번호"
    )
    print(db)  # <mysql.connector.connection.MySQLConnection object at XX>
    
    myCursor = db.cursor(buffered=True)
    
    myCursor.execute("CREATE DATABASE testdb")  # testdb 이름으로 만들기

    mySQL workbench 실행 후, Schemas 클릭

     

    테이블 만들기

    기존 데이터베이스로 connect에서 바로 설정할 수 있다.

    database="db이름"

    (VARCHAR과 CHAR의 차이점: @네이버 블로그)

    import mysql.connector
    
    # connect to our local MySQL instance using connection string
    db = mysql.connector.connect(
        host="localhost", user="root", password="비밀번호", database="testdb"
    )
    
    myCursor = db.cursor(buffered=True)
    
    myCursor.execute(
        "CREATE TABLE dbtable ("
        "user_id VARCHAR(8),"  # 길이 8까지 문자 허용
        "location VARCHAR(32),"  # 길이 32까지 문자 허용
        "number_of INT)"  # 정수
    )

    dbtable 클릭

     

    테이블에 값 INSERT

    import mysql.connector
    
    # connect to our local MySQL instance using connection string
    db = mysql.connector.connect(
        host="localhost", user="root", password="비밀번호", database="testdb"
    )
    
    myCursor = db.cursor(buffered=True)
    
    myCursor.execute(
        "INSERT INTO dbtable (user_id, location, number_of) "
        "VALUES ('00000001', 'Seoul', 32)"
    )
    
    db.commit()

    VSCode 실행 결과

     

    아래 결과를 보려면 dbtable 맨 오른쪽 아이콘을 클릭한다.

    MySQL Workbench

     

    ROW 3개 보기 (SELECT)

    값을 5번 INSERT 후, LIMIT 3으로 3개만 출력하도록 했다.

    import mysql.connector
    
    # connect to our local MySQL instance using connection string
    db = mysql.connector.connect(
        host="localhost", user="root", password="비밀번호", database="testdb"
    )
    
    myCursor = db.cursor(buffered=True)
    
    myCursor.execute("SELECT * FROM dbtable LIMIT 3")  # query = SELECT * FROM testdb.dbtable LIMIT 3;
    
    for row in myCursor:
        print(row)
    

    VSCode 실행 결과

     

    또는, workbench에서 testdb를 더블 클릭 후, Query에서 직접 실행할 수도 있다.

    MySQL testdb query 실행
    MySQL testdb result grid

    728x90

    댓글