mysql 테이블 데이터프레임으로 불러오기sql 테이블을 데이터프레임으로 불러오는 방법입니다.큰 틀로 본다면 mysql에 연결한 후 해당 서버에서 테이블을 pd.read_sql()을 통해서 가져옵니다.pymysql을 이용한 방법pymysql 라이브러리를 이용해 테이블을 불러오겠습니다.pymysql로 mysql에 연결합니다.import pandas as pdimport pymysql# 데이터베이스 연결 설정con = pymysql.connect( host='localhost', user='root', password='비밀번호',port= port, database='your_database')# SQL 쿼리 실행 및 데이터프레임으로 변환 query = "SELECT * FROM your_..
파이썬에서 Mysql 사용하는 간편한 방법(feat.pymysql)데이터베이스와의 연결은 애플리케이션 활용에 아주 중요한 역할을 합니다. 특히 Mysql은 오프소스 RDBMS로 전세계적으로 사용되고 있기 때문에 Mysql와의 연결은 아주 중요한데요. 파이썬에선 PyMySQL을 이용해 Mysql와의 연동이 가능합니다.PyMySQL이란?PyMySQL은 파이썬에서 MySQL 서버와 연결할 수 있도록 도와주는 라이브러리입니다. 기본적으로 MySQL 클라이언트와 통신하는 데 필요한 모든 기능을 제공합니다. PyMySQL은 순수 파이썬으로 작성되었기 때문에 MySQL C API의 래퍼(wrapper)로서 작동하는 다른 라이브러리들과 달리 외부 의존성이 없다는 장점이 있습니다.PyMySQL의 주요 기능MySQL 데이..
cmd서 Mysql 실행시 오류 발생mysql을 설치하고 나고 윈도우 cmd에서 Mysql 실행을 하면 아래와 같은 오류가 나타납니다.'mysql'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.또는 'mysql' is not recognized as an internal or external command, operable program or batch file.오류가 나타나는 원인은 윈도우에서 mysql이 환경변수로서 설정되지 않아서입니다. 환경변수 설정에서 mysql.exe가 있는 폴더경로를 지정해주어야 합니다. Mysql 환경변수 설정하기제어판 - 시스템 - 고급시스템 설정(장치사향탭 관련링크) - 환경변수 로 들어갑니다. 위에 칸에서 Path를 찾습니다..
SQL 기초 정리 DDL, DML, DCL 알아보기데이터베이스를 다루다 보면 꼭 알아야 할 개념 중 하나가 바로 SQL(Structured Query Language)입니다. SQL은 데이터베이스 관리 시스템(DBMS)과 상호 작용할 수 있게 해주는 언어로, 데이터를 정의하고, 조작하며, 제어할 수 있는 다양한 명령어들을 제공합니다. 이번 글에서는 SQL의 세 가지 주요 범주인 DDL, DML, DCL에 대해 알아보겠습니다. 1. DDL (Data Definition Language) - 데이터 정의 언어DDL은 데이터베이스의 구조를 정의하는 데 사용되는 명령어들의 집합입니다. 테이블이나 인덱스, 스키마 등의 데이터베이스 객체를 생성하거나 수정, 삭제하는 작업을 수행합니다. 즉, 데이터베이스의 골격을 ..
데이터베이스(DB) key,id 종류데이터베이스에서 key, id, primary key 등의 개념은 매우 중요하며, 각각은 데이터베이스의 무결성, 성능, 효율적인 데이터 관리에 중요한 역할을 합니다. 이 개념들을 하나씩 설명해드리겠습니다.1. Key키(Key)는 데이터베이스에서 특정 레코드를 고유하게 식별하는 데 사용되는 하나 이상의 속성을 말합니다. 키는 데이터 무결성을 보장하고, 데이터를 검색하거나 조작하는 데 사용됩니다.종류Primary Key (기본 키): 테이블에서 각 행을 고유하게 식별하는 열(또는 열들의 조합)입니다. 하나의 테이블에 하나의 Primary Key만 존재할 수 있으며, 이 키는 NULL 값을 가질 수 없습니다.Foreign Key (외래 키): 다른 테이블의 Primary K..
오라클을 쓸 경우 디비버(DBeaver)라는 SQL 편집기를 보통 씁니다. 근데 설치를 막 했거나 업데이트를 하면 비밀번호 만기가 있다고 비밀번호를 바꾸라고 합니다. 내가 언제 비밀번호를 했었나? 라는 생각이 문득 들었는데 뭔지도 모르니 일단 지켜보았는데 ... 2일 남았다고 하니 당황스럽더군요. 보안 때문에 비밀번호를 계속 바꾸라는 것은 이해하겠으나 저는 개인용으로 쓰는 거라 비밀번호를 굳이 바꿔가며 살 필요는 없습니다. 매번 비밀번호를 바꿔야하는 생각이 들어서 만기를 없앨 수 있는지 알아보았더니 역시나 있었습니다. 패스워드 기간 변경 디비버를 켠후 SQL 구문을 치면 테이블이 하나뜹니다. select resource_name,resource_type,limit from dba_profiles; 여기서..
모델링 모델링은 현실세계에서 있는 것들을 컴퓨터 앞에 가지고 와서 한눈에 보고 일처리할 필요성으로 만들어진 기법입니다. 현실세계의 복잡한 데이터를 일정한 표기법으로 규칙을 가지고 컴퓨터에 표기하는 작업이라 할 수 있습니다. 그렇기 때문에 체계적이고 명확해야 합니다. (명확화) 복잡한 세계에 있는 걸 가져와 다룰려면 단순해져야 합니다.(단순화) 그렇다고 현실세계의 특징을 아예 배제해서는 안되고 특징을 담되 컴퓨터에서 하나의 객체로 표현하는 작업이 되어야 합니다.(추상화) 모델링 특징 3가지 앞에서 언급한대로 모델링의 특징으로 3가지로 정리할 수 있습니다. 추상화 (모형화, 가설적) : 현실세계를 일정한 형식에 맞추어 표현 (일정한 양식 표기법) 단순화 : 복잡한 현실세계 약속된 규약에 의해 제한된 표기법/..
MySQL 로그인 오류 유형에 대해 알려드립니다. 로그인 오류 유형은 복잡한 건 없고 비밀번호 때문에 생기는 문제입니다. 유형은 두가지인데 비밀번호가 없는 경우와 비밀번호가 있는데 틀린 경우입니다. 뭐 이렇게까지 하냐고 생각할 수 있는데 DB는 데이터를 모아놓은 곳입니다. 유출되지 말아야하는 정보들이 꽤나 많이 있는 곳이라 보안이 중요합니다. 그래서 MySQL에서는 비밀번호를 꼭 만들 것을 권고합니다. 따라서 비밀번호를 만들지 않았다면 만들지 않아서 오류가 뜰것이고 비밀번호가 틀렸다면 틀렸다고 오류가 뜰 겁니다. 유형 1) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: NO) 사용자의 비밀번호가 없을 경우 나타나..
mysql 를 켤 때 다음과 같은 에러가 뜰 수 있습니다. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 이 문제의 원인은 세가지입니다. server가 socket 연결을 못한 경우 MySQL 서버가 실행되지 않은 경우 mysql.sock 시스템을 못 찾는 경우 정확히 어떤 문제인지는 하나씩 해봐야합니다. 어쨋든 큰 맥락은 service connection이 안되는 거니 mysql service를 재시작하는 게 무난한 방법입니다. (잘 안 되면 껐다켜보는것이 가장 빠른 방법입니다) 일반적으로 설치가 잘 되었고 크게 뭘 안 건드렸다면 1, 2번의 경우라고 생각하고 우..
DB 다룰 때 주로 mysql을 많이 쓰는데 리눅스 환경에서도 가능합니다. 가상머신을 이용해 우분투를 설치했거나 서버 리눅스에서는 큰 문제 없이 리눅스를 설치할 수 있는데 WSL로 우분투를 설치했다면 일반적인 우분투와는 약간 다른 환경이어서 일부 오류가 날 수 있습니다. wsl 기준으로 mysql 설치법을 알려드리겠습니다. mysql 설치 wsl 터미널 엽니다. ubuntu 패키지 업데이트를 합니다. sudo apt update mysql 설치합니다. sudo apt install mysql-server y를 누르면 설치가 시작됩니다. 설치가 완료되면 설치 확인할 겸 버전 정보 확인할 겸 다음을 입력해 mysql 버전확인을 합니다. mysql --version mysql 설정 및 구동 여기서부터가 WSL..
Mysql root 비밀번호 setup error Ubuntu에서 Mysql 설정을 위해 mysql_secure_installation을 시작하면 root 비밀번호를 설정하는 상황이 나옵니다. 비밀번호를 설정했더니 다음과 같은 에러가 뜹니다. ... Failed! error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters. sec..
mysql 비밀번호 설정하려고 하면 잘못하면 어쩌나 겁이 날텐데 어렵지 않습니다. 특히 WSL로 리눅스를 설치한 곳에 mysql 설치를 하면 root 비밀번호 설정이 안 되어 있어서 mysql-server 설정시 오류가 발생합니다. root 비밀번호를 설정하면 되는데 아래와 같은 방법으로 합니다. mysql root비밀번호 변경하기mysql root 비밀번호 설정방법입니다.먼저 리눅스 터미널 창에서 mysql에 들어갑니다.sudo service mysql restartsudo mysql -u root -pEneter password: 라는 창이 뜨는데 Enter를 쳐서 들어갑니다. 비밀번호를 바꾸기 위해서 아래 명령어를 입력합니다.mysql> ALTER USER 'root'@'localhost'..
MySQL이나 오라클 제품으로 데이터 관리를 할 수 있는데 규모가 큰 데이터처리에 적합한 제품이라서 설치도 복잡하고 서버처리와 user 설정 때문에 가볍게 프로그램을 사용하기에는 무리가 있습니다. 파이썬 자동매매나 간단한 데이터 처리를 원하시는 분들은 가볍게 데이터 관리를 하고 싶기 때문에 위 제품은 적합하지 않습니다. 가볍게 sql을 쓰고 싶은 분들을 위해서 DB browser for sqlite를 소개합니다. DB browser for sqlite는 프로그램 이름대로 sqlite로 작성된 db, sqlite,db3, sqlite3 파일을 보기 위한 프로그램이고 간단한 sql 작업도 할 수 있습니다. 파이썬의 sqlite3이나 판다스로 db,sqlite 파일을 만든다면 DB browser for sql..
파이썬에서 SQLite3을 이용해 db파일의 행추가 ,삭제를 해볼까 합니다. 행 추가 행을 추가하려면 'INSERT INTO 테이블명 VALUES (삽입할 내용)'을 입력합니다. 삽입할 내용은 테이블과 열이 맞아야 합니다. 그렇지 않으면 오류 발생하고 써지지 않습니다. stock이라는 테이블을 만들겠습니다. import sqlite3 as sq3 con = sq3.connect('./stocks.db') cursor = con.cursor() con.commit() q = con.execute q('SELECT * FROM sqlite_master').fetchall() 현재 테이블은 3 개의 열로 되어 있으니 3개의 내용으로 넣어줍니다. 아무거나 넣어보겠습니다. insert = "INSERT INTO ..
파이썬에서 SQL을 간단하게 쓸 수 있는 SQLite3 테이블 생성,변경,제거 방법입니다. SQLite3은 파이썬에 내장되어 있어서 파이썬 내에서 바로 쓸 수 있고 SQL 구문을 사용하기 때문에 다른 SQL 프로그램과 유사한 문법으로 할 수 있습니다. 다만, 말그대로 lite 한 버전이기 때문에 시스템 규모가 커지면 PostgreSQL이나 MySQL 같은 프로그램을 사용하는게 좋습니다. 입문자용으로 보면 될 것 같습니다. 파일 만들기 파일이 있어야 데이터를 넣을 수 있기 때문에 파일부터 만들겠습니다. connect 메쏘드를 이용하면 해당 db에 연결됩니다. 파일이 없는경우 db 파일을 생성하게 됩니다. import sqlite3 as sq3 con = sq3.connect('./stocks.db') 탐색..