(내 용) Flask_6 (python에서 db를 여는 Mysql 기본 (phpMyAdmin))

  • 이번에는 Flask와 속이면서 전혀 Flask를 만지지 않습니다

  • 품목


  • 파이썬에서 db 열기
  • phpMyAdmin으로 db 만들기
  • db에서 데이터 검색

  • 1.python에서 db 열기


  • phpMyAdmin 안의 mydb 라고 하는 데이타베이스안에, players 라고 하는 테이블이 있다고 한다↓


  • 파이썬
    import pymysql
    
    print("動いてる")
    
    connection = pymysql.connect(
        host="localhost",
        db="mydb",
        user="root",
        password="",
        charset="utf8",
        cursorclass=pymysql.cursors.DictCursor
    )
    
    sql = "SELECT * FROM players"
    cursor = connection.cursor()
    cursor.execute(sql)
    players = cursor.fetchall()
    
    cursor.close()
    connection.close()
    
    for player in players:
        print(player["name"])
    

    (조금 길고 읽기 어렵다)
  • 이제 players nameカラム(列)에 들어가 있습니다.
  • import pymysql에서 python 내에서 MySQL을 사용할 수 있도록 ...
  • connection = pymysql.connect()에서 connection에 SQL에 대한 연결 정보를 포함하는 것 같습니다.
  • host="localhost"에서 MySQL을 실행하는 환경을 결정하고 있습니다 (자신의 pc라면 로컬, AWS라든지의 서버라도 좋다)
    넣는 것은 호스트명이라든지 조사하면 나올 것 같다
  • db="mydb"에서 MySQL에서 db를 선택하십시오
  • user="root" 루트 사용자가 MySQL에 연결합니다
  • .
  • password="",charset="utf8", 비밀번호가없고 문자 코드는 utf-8로로드됩니다
  • cursorclass=pymysql.cursors.DictCursor에서 Dictionary 형식으로로드 할 수있는 Dictionary 형식에 대해 알아보십시오!


  • sql = "SELECT * FROM players"에서 sql라는 변수에 실행하려는 SQL을 넣고
  • cursor = connection.cursor()에서 connection에 넣은 연결 정보를 .cursor()에 의해 cursor에 넣고 ...
  • cursor.execute(sql).execute(sql)에서 cursor에 들어간 연결 정보로 연결된 db 내에서 sql에 들어간 명령 실행
  • cursor.close() , connection.close() 이 근처는 뭔가 움직이고 있었던 것을 닫고 있다
  • 그 후에는 읽은 정보를 player에 넣고, 그 안에 name 가 key(Dictionary 형식적인 의미로)가 붙은 데이터를 print 하고 있다

  • 터미널
    $ cd <作業ファイルがあるディレクトリ名>
    $ python <作業ディレクトリ名>
    

    터미널에서 실행 결과가 정상적으로 나오면 완료

    2.phpMyAdmin으로 db 만들기


  • 설치는 생략하고 언젠가 쓸 수 있습니다.
  • 보통 이렇게하면 OK
  • 문자 코드는 utf8 general ci가 좋은 것 같지만 과연 ...

  • 3.db에서 데이터를 검색해 봅니다.



    sql
    -- 全てのデータを取り出す
    SELECT * FROM players;
    
    -- 一部のカラムだけ取得する
    SELECT name, level FROM players;
    
    -- 一部の行だけ取得する
    SELECT * FROM players WHERE level >= 7;
    
    -- 複数の条件を組み合わせる
    SELECT * FROM players WHERE level >= 7 AND job_id <> 6;
    
    --条件指定とカラム選択を組み合わせる
    SELECT name, level FROM players WHERE level >= 7;
    

  • 모든 데이터를 검색하는 방법
  • SELECT *는 모든 열을 지정하고 (*로 모두 구성됩니다)
  • FROM players;에서 "어디에서?""players에서"라고 말합니다


  • 일부 열만 얻는 방법
  • SELECT 뒤에 컬럼 이름을 넣으면 꺼낼 컬럼을 선택할 수 있습니다 (여기에서는 namelevel)


  • 일부 행만 얻는 방법
  • FROM ~~ 뒤에 WHERE 와 조건식을 넣는 것으로, 임의의 행을 꺼낼 수 있다
  • WHEREAND 또는 OR를 사용하여 여러 조건식을 적용 할 수 있습니다


  • 사용할 수 있는 조건식 목록
    a = b
    a < b
    a > b
    a <= b
    a >= b
    a <> b -- aとbが違うということ
    

    4. 끝에


  • 이제 AWS 빌리거나 환경 정돈하거나 WEB 앱 만들거야! ! ! !
  • 좋은 웹페이지 즐겨찾기