# 도구 불러오기
import pymysql
from sqlalchemy import create_engine
# db 연결설정
db = pymysql.connect(
user = '아이디',
passwd = '비번',
host = '호스트번호',
port = port번호,
db = '지정한 db이름',
charset = 'utf8' )
cursor = db .cursor() # 튜플 형태로 반환
cursor = db .cursor(pymysql.cursors.DictCursor) # 딕셔너리 형태로 반환
# engine 설정
engine = create_engine(
"mysql+pymysql://아이디:"+"비번"+"@호스트주소:포트번호/DB이름?charset=utf8", encoding = "utf-8")
conn = engine.connect()
# db 실행
sql ='sql문 작성' # 실행할 sql 문장 작성
cursor.excute(sql) # sql 실행
result = cursor.fetchall() # 결과값 받기
혹은
data = pd.read_excel('파일명.확장자')
data.to_sql( name = 'table명', con = engine,
if_exist = ?, index = False)
를 이용해서 excel 파일을 바로 db에 연동할 수 있음
: name은 테이블 이름
: con은 Cursor 객체
: index는 DataFrame의 index를 DB에 컬럼으로 추가할지의 여부
: if_exist는 테이블이 있을 경우를 설정.
기본값 fail (아무 동작 수행안함) /
append (데이터만 추가) /
replace (기존 테이블 삭제, 새 테이블 추가)
- - - - - - - - - - - - - - - sql문- - - - - - - - - - - - - - -
# SELECT (COMMIT 안함)
sql = """
SELECT * FROM test_table
"""
cursor.execute(sql)
result = cursor.fetchall() # 결과값 받아오기
result = pd.DataFrame(result) # 결과값 데이터프레임화 (안해도 됨)
# 검색
select [ col1], [col2], ... [n번째 col] from [테이블명]
#조건검색
select * from [테이블명] where 컬럼명1 = 'row값' and 컬렴명2 = 'row값'
# a로 시작하는 / a가 들어가는 조건검색
select * from [테이블이름] where col1 = 'a%'
select * from [테이블이름] where col1 = '%a%'
# CREATE
sql = """
CREATE TABLE test_table(
index INT NOT NULL,
name VARCHAR(256) NOT NULL,
nick VARCHAR(256) NOT NULL
PRIMARY KEY (name)
);
"""
cursor = db.cursor()
cursor.execute(sql)
db.commit()
db.close()
# INSERT
sql = """
INSERT INTO test_table(name, nick)
VALUES ('이름 값','닉네임 값');
"""
cursor.execute(sql)
db.commit()
db.close()
# UPDATE
sql =
'''UPDATE test_table
SET 시도명 = '부산광역시', 시군구명 = '해운대구'
WHERE 시도명 != '부산광역시';
'''
cursor.execute(sql)
db.commit()
db.close()
update [table이름] set [칼럼1]=[값], [칼럼2]=[값], ... where [조건절]
# DELETE
sql =
'''DELETE FROM test_table
WHERE 조건절;
'''
cursor.execute(sql)
db.commit()
delete from [테이블이름] where [조건절]
- - - - - - - - - - - - - - - mysql 사용자 목록 확인- - - - - - - - - - - - - - -
select host, user, authentication_string from user;
- - - - - - - - - - - - - - - mysql 사용자 권한부여- - - - - - - - - - - - - - -
grant select, insert, update, delete, create, drop, alter on
kukjindb.% to ‘leekukjin’@’localhost’ identified by ‘pw1234’;
>> kukjindb 라는 데이터베이스의
leekukjin유저에게
비밀번호를 pw1234로 권한을 준것
grant all prvilleges on kukjindb.% to
‘leekukjin’@’%’ identified by ‘pw1234’;
- - - - - - - - - - - - - - - mysql 사용자 추가 - - - - - - - - - - - - - - -
create user '유저이름'@'%' identified by '비밀번호';
>> 외부접근 허용
create user ‘유저이름'@'localhost' identified by '비밀번호';
>> 로컬호스트만 가능
insert into user(host, user, authentication_string) values ('%', '유저이름', '비밀번호' );
- - - - - - - - - - - - - - - mysql 사용자 삭제- - - - - - - - - - - - - - -
drop user '유저이름'@'%';
delete from user where user='유저이름'
- - - - - - - - - - - - - - - mysql 사용자 추가,삭제, 권한변경사항 적용- - - - - - - - - - - - - - -
flush privileges;
>> create, insert, delete, drop등으로 사용자 변경사항 적용할때 마지막에 넣어줘야함
- - - - - - - - - - - - - - - mysql table 이름 변경 - - - - - - - - - - - - - -
ALTER TABLE [테이블명] RENAME [변경할 테이블명];
- - - - - - - - - - - - - - - mysql table 컬럼 이름 변경 - - - - - - - - - - - - - -
ALTER TABLE [테이블명] CHANGE colname [변경할 컬럼명] [변경할 컬 럼 타입];
- - - - - - - - - - - - - - - mysql table 컬럼 속성 수정 - - - - - - - - - - - - - -
ALTER TABLE [테이블명] MODIFY [컬럼명] [변경할 컬럼 타입];
- - - - - - - - - - - - - - - mysql table 컬럼 추가 - - - - - - - - - - - - - -
ALTER TABLE [테이블명] ADD [추가할 컬럼명] [추가할 컬럼 데이터형];
- - - - - - - - - - - - - - - mysql table 컬럼 삭제 - - - - - - - - - - - - - -
ALTER TABLE [테이블명] DROP [삭제할 컬럼명];
'Python > PythonLibrary' 카테고리의 다른 글
win32com / xls , xlsx 파일 변환하기 (0) | 2022.10.06 |
---|---|
DataFrame 생성할 때 If using all scalr values 오류 뜰 경우 [Pandas Library] (1) | 2022.10.05 |
os / glob / shutil 모듈 간단정리 (0) | 2022.08.29 |
openpyxl 라이브러리 간단 정리 (엑셀다루기) (0) | 2022.08.25 |
Pandas 라이브러리에서 더 복잡한 처리를 할 때 사용하는 apply 함수 (0) | 2022.07.28 |