살콤아내 자기계발/파이썬

파이썬으로 배우는 웹 크롤러 5주차_My SQL 설치 및 기본 사용 방법

살콤아내 2021. 7. 2. 11:11
728x90
반응형

python-scraping-master_6_MySQL.py
0.00MB

 

1. My SQL 설치 및 접속

- 아래 오라클 홈페이지에서 MySQL을 다운로드한다.

https://dev.mysql.com/downloads/windows/installer/

 

MySQL :: Download MySQL Installer

Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.25 2.4M (mysql-installer-web-community-8.0.25.0.msi) MD5: 7f64b7ca2c526c359919d9db1bc8d669 | Signatu

dev.mysql.com

 

 

- 풀패키지는 용량이 많아서 Server only를 체크한뒤 설치합니다.

- Next>>Excute 를 누르다 보면 MySQL Root Password 설정이 나옵니다. 여기서 설정한 비밀번호는 앞으로 MySQL 데이터베이스에 접속할 때 사용해야하므로 잊어버리지 않도록 주의해야 합니다.

 

- 다 설치가 되면 MySQL Command Line Clinet를 실행하고 설정한 Password를 입력합니다.

 

 

 

2. MySQL 기본 사용 방법

Ex) scraping이라는 데이터베이스에 테이블을 만들기위해서는 입력창에 다음과 같이 입력한다. 

 

mysql> CREATE DATABASE scraping;

입력이 완료되면 다음과 같은 메시지가 뜬다.
Query OK, 1 row affected (0.11 sec)

 

mysql> USE scraping;
Database changed
mysql> CREATE TABLE pages;
ERROR 4028 (HY000): A table must have at least one visible column.
mysql> CREATE TABLE pages(

    -> id BIGINT(7) NOT NULL AUTO_INCREMENT,
    -> title VARCHAR(200),
    -> content VARCHAR(10000),
    -> created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(id)
    -> );
Query OK, 0 rows affected, 1 warning (0.79 sec)

 

참고1) 대문자는 MySQL에서 사용하는 명령어이다. Query문의 끝은 세미콜론 ; 이다.

참고2) 스펠링이 틀리면 다시 처음부터 해야하고 이전에 사용했던 코드는 한줄씩 화살표(↑)를 이용해서 바로 붙여넣어 쓸 수 있다. 전체 코드 복사붙여넣기가 안됨.

 

생성된 테이블의 결과는 다음과 같다.

mysql> DESCRIBE pages; 결과

mysql> INSERT INTO pages(title, content)
    -> VALUES(
    -> "test page title",
    -> "This is some test page content. It can be up to 10,000 characters long.",
    -> );
Query OK, 1 row affected (0.11 sec)

 

>> auto-increment 설정:  values값을 설정하지 않으면 id의 인덱스 값이 알아서 1씩 증가한다.

mysql> INSERT INTO pages(id, title, content, created)
    -> VALUES(
    -> 3,
    -> "test page title",
    -> "This is some test page content. It can be up to 10,000 characters long.",
    -> "2021-07-02 11:49:00"
    -> );

Query OK, 1 row affected (0.11 sec)

mysql> SELECT FROM pages WHERE id = 2;
Empty set (0.00 sec)

>> id =2 값에는 아무것도 들어가지 않았다.

 

mysql> SELECT * FROM pages WHERE id = 1;

mysql> SELECT FROM pages WHERE id = 3;

>> id =1, id = 3 의 결과값은 다음과 같다.

 

mysql> SELECT * FROM pages WHERE title LIKE "%test%";

>> title안에 test 라는 string이 들어간 페이지의 모든 결과값

mysql> SELECT id, title FROM pages WHERE content LIKE "%page content%";

>> title안에 page content가 들어간 페이지의 id, title 결과값

 

 

mysql> DELETE FROM pages WHERE id=1;
Query OK, 1 row affected (0.05 sec)

>> id=1인 페이지 데이터를 지워라

 

 

3. 파이썬과 MySQL 연동하기(파이썬의 데이터파일을 MySQL 데이터베이스에 저장할 수 있다)

Anaconda Prompt에 pip install pymysql 입력후 설치한다.

 

- 쥬피터 노트북 Chapter06_StoringData.ipynb 의 In [5] 코드를 새로운 Spyder에 복사/붙여넣기 한 뒤 기존 코드에서 unix_socket='/tmp/mysql.sock', 를 삭제하고 mySQL passwd를 입력한다.

 

728x90
반응형