목차
데이터베이스(Database, DB) 생성(Create)
코드>>
import pymysql
db_connect = pymysql.connect(
host='localhost',
port=3306, user='kc',
passwd='toor',
charset='utf8'
)
db_connected = db_connect.cursor()
sql_cmd = 'create database users_db;'
print(db_connected.execute(sql_cmd))
결과>>
print 값은 1로 나옴, 하나가 생성되었다는 의미
주석>>
그림1과 같이 MySQL에서 제공하는 CMD를 이용해서 database 를 "show databases;"로 확인하였고 users_db가 생성됨을 알 수있다. 코드에서 connect를 위한 부분은 mysql을 설치 설정된 값들이다.
데이터베이스(Database, DB) 삭제(Delete)
코드>>
import pymysql
db_connect = pymysql.connect(
host='localhost',
port=3306, user='kc',
passwd='toor',
charset='utf8'
)
db_connected = db_connect.cursor()
sql_cmd = 'drop database users_db;'
print(db_connected.execute(sql_cmd))
결과>>
print 값은 0으로 나옴, 삭제되었다는 의미
주석>>
그림2과 같이 MySQL에서 제공하는 CMD를 이용해서 database 를 "show databases;"로 확인하였고 users_db가 삭제되었음 알 수있다. 코드에서 connect를 위한 부분은 mysql을 설치 설정된 값들이다.
테이블(Table) 만들기
코드>>
import pymysql
db_connect = pymysql.connect(
host='localhost',
port=3306,
db = 'users_db',
user='kc',
passwd='toor',
charset='utf8'
)
db_connected = db_connect.cursor()
sql_cmd = '''
CREATE TABLE user_info ( ID INT(12) UNSIGNED NOT NULL AUTO_INCREMENT, USER_ID VARCHAR(100) NOT NULL, USER_EMAIL VARCHAR(100) NOT NULL, PRIMARY KEY(ID) );
'''
print(db_connected.execute(sql_cmd))
결과>>
주석>>
테이블을 확인 하는 방법은 다음과 같다.
1. "show databases;" 로 db를 확인한다.
2. "use users_db;" 로 db를 선택한다.
3. "show tables;"로 테이블을 확인한다.
4. "desc user_info;"로 테이블 내용을 확인한다.
테이블(Table)에 값 입력(저장)하기
코드>>
import pymysql
db_connect = pymysql.connect( host='localhost', port=3306, db = 'users_db', user='kc', passwd='toor', charset='utf8')
db_connected = db_connect.cursor()
sql_cmd = 'INSERT INTO user_info (USER_ID, USER_EMAIL) VALUES (%s, %s)'
db_connected.execute(sql_cmd,("kc", "kc@email.com"))
db_connected.execute(sql_cmd,("jpark", "jpark@email.com"))
db_connect.commit()
결과>>
주석>>
앞서 테이블을 확인하는 방법을 보았다. 여기서 테이블에 값을 확인하기 위해서 CMD 창에서 "select * from user_info"를 하면 user_info 테이블에 들어 있는 모든 값을 읽어 온다.
코드에서 commit 실행을 cursor 값으로 실수로 입력하다 보니 DB 테이블의 ID 값이 5번 6번이 되었다.
테이블(Table)에 데이터 검색하기(Search)
코드>>
import pymysql
db_connect = pymysql.connect( host='localhost', port=3306, db = 'users_db', user='kc', passwd='toor', charset='utf8')
db_connected = db_connect.cursor()
sql_cmd = 'SELECT * FROM user_info where USER_ID = %s'
db_connected.execute(sql_cmd,("kc"))
print(db_connected.fetchall())
결과>>
((5, 'kc', 'kc@email.com'),)
주석>>
fetchall 하였지만 결과가 하나이기 때문에 하나만 나왔다.
테이블(Table)에 데이터 변경/업데이트 하기 (update)
코드>>
import pymysql
db_connect = pymysql.connect( host='localhost', port=3306, db = 'users_db', user='kc', passwd='toor', charset='utf8')
db_connected = db_connect.cursor()
sql_cmd = 'UPDATE user_info SET USER_ID = %s WHERE USER_EMAIL = %s'
db_connected.execute(sql_cmd,("modified_kc", "kc@email.com"))
db_connect.commit()
db_connect.close()
결과>>
주석>>
코드에서 where 부분에서 변경하고자 하는 데이터를 찾고 set으로 변경할 부분을 변경하는 것이다.
테이블(Table)의 내용 삭제하기(Delete, Drop)
코드>>
import pymysql
db_connect = pymysql.connect( host='localhost', port=3306, db = 'users_db', user='kc', passwd='toor', charset='utf8')
db_connected = db_connect.cursor()
sql_cmd = 'delete from user_info WHERE USER_ID = %s'
db_connected.execute(sql_cmd,("modified_kc"))
db_connect.commit()
db_connect.close()
결과>>
주석>>
코드에서 from 에서 테이블명을 입력하고 where에서 삭제하고자 하는 데이터를 찾는다. 결과와 같이 내용이 삭제 되었다.
'데이터베이스(db)' 카테고리의 다른 글
파이썬에서 DB에 비밀번호 암호화(hash)해서 저장하기(flask,mongodb) (0) | 2021.06.19 |
---|---|
flask와 mongodb를 사용해서 회원가입페이지 간단히 만들어보기(signup) (11) | 2021.06.18 |
[Python] MongoDB 설치, 파이썬과 연동(robomongo/robo 3t) (0) | 2021.06.16 |
mysql 아이디, 비번 분실 시 부분 재설치로 아이디 비밀번호 다시 만들기 - 윈도우 환경 (4) | 2021.06.04 |
[Python] 파이썬으로 mysql 연동하기 - 윈도우(window)환경 (0) | 2021.06.02 |