목록데이터베이스 (39)
개발은 처음이라 개발새발
이번 시간에는 Node.js에 MySQL을 연동해보겠습니다. 먼저 MySQL 모듈을 설치해야 합니다.npm install mysql 1. 모듈 불러오기 Node.js에서 MySQL을 사용하기 위한 모듈을 불러옵니다.const mysql = require('mysql'); 2. 연결 설정const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '비밀번호', database: '연결할 데이터베이스'}); host: MySQL 서버 주소user: MySQL 사용자 이름password: MySQL 비밀번호database: 사용할 데이터베이스 이름 3. 데이터베이스 연결try-catch 구문..
프로시저는 SQL Server에 저장되는 하나의 작업 단위로, 미리 정의된 SQL 문의 집합입니다. 데이터베이스에서 자주 사용되는 쿼리들을 하나의 함수처럼 실행할 수 있게 해줍니다.프로시저의 장점재사용성: 동일한 쿼리를 여러 번 작성할 필요 없이 저장된 프로시저를 호출하여 사용성능: 최초 실행 시 최적화된 실행 계획을 캐시하여 재사용유지보수: 프로시저 수정 시 이를 사용하는 모든 애플리케이션에 자동 반영보안: 테이블에 직접 접근하지 않고 프로시저를 통해 접근하도록 제한 가능프로시저 기본 구조CREATE PROCEDURE 프로시저_이름 @파라미터1 데이터타입, @파라미터2 데이터타입ASBEGIN SET NOCOUNT ON; -- SQL 문장들 SET NOCOUNT OFF;END주..
python를 통해 데이터를 분석하려면 우선 분석할 자료가 필용합니다. 개인 공부를 할 때는 보통 오픈 데이터를 활용하기 때문에 오픈 데이터를 제공받을 수 있는 사이트에 가서 엑셀 형식을 데이터를 다운로드 받아 pandas 라이브러리를 통해 .csv나 .xlsx의 엑셀 파일을 열어 데이터프레임으로 저장한 뒤 작업을 진행합니다. 그러나 실제 업무에서는 회사에 쌓아놓은 데이터베이스에서 데이터를 불러와 가공하는데요. 그렇기에 python 환경과 sql에 데이터베이스를 연동하는 방법에 대해서 알아야 합니다. sql를 연동하는 방법 pymsql과 sqlalchemy 두 가지가 있는데요. sqlalchemy를 활용해 데이터베이스를 연동해보도록하겠습니다. ## 패키지 설치pip install sqlalchemypi..
2024.02.20 - [mysql] - [MySQL] MySQL Installer를 활용해 버전 관리하기 [MySQL] MySQL Installer를 활용해 버전 관리하기 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Note: MySQL 8.0 is the final series with MySQL Installer. As of MySQL 8.1, use a MySQL product's MSI or Zip archive for installation. MySQL Server 8.1 and higher also bundle MySQL data-so-hard.tistory.com 지난 번에 MySQL Install..
https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Note: MySQL 8.0 is the final series with MySQL Installer. As of MySQL 8.1, use a MySQL product's MSI or Zip archive for installation. MySQL Server 8.1 and higher also bundle MySQL Configurator, a tool that helps configure MySQL Server. dev.mysql.com MySQL 버전 관리를 할때 MySQL Installer를 사용하면 편하게 버전 관리를 할 수 있습니다. 위에 링크를 통해 My..
SELECT * REPLACE('대체할 값'AS'컬럼명') SQL에서도 불러올 값을 간단하게 혹은 금액 같은 경우 원화에 맞게 환산해 대체할 수 있는 함수가 있습니다. REPLACE()함수를 활용하면 됩니다. 예제는 아래와 같습니다. -- REPLACE()함수 예제 SELECT * REPLACE(price * 10000 AS price) FROM `olist.olist_order_items`
SELECT * EXCEPT('제외할 컬럼') SQL에서 필요 없는 컬럼을 빼고 불러오고 싶은 경우, 간단한 방법은 필요한 컬럼을 모두 적는 것이지만 필요한 컬럼이 굉장히 많고 필요 없는 컬럼이 적을 경우 EXCEPT 함수를 사용하는 게 현명하다. --EXCEPT() 함수 예제 SELECT * EXCEPT(shipping_limit_date, freight_value) FROM `olist.olist_order_items`
https://leetcode.com/problems/consecutive-numbers/ Consecutive Numbers - LeetCode Can you solve this real interview question? Consecutive Numbers - Table: Logs +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num | varchar | +-------------+---------+ id is the primary key for this table. id is an leetcode.com Input: Logs table: +----+-----+ | id | num | +..
https://www.hackerrank.com/challenges/the-report/problem?h_r=internal-search The Report | HackerRank Write a query to generate a report containing three columns: Name, Grade and Mark. www.hackerrank.com 이번에는 join 구문에서 between절을 활용하는 퀴즈를 풀어보려고 합니다. 흔히 join 구문에서 두 테이블을 매칭 시킬 때 on을 적고 그안에 각각의 테이블에서 매칭 시킬 수 있는 컬럼을 "A.컬럼 = B.컬럼 " 이런식으로 적는게 기본인데요. 하지만 모든 상황과 테이블들이 이 같은 구문으로 해결될순 없겠죠. 그렇기에 하나의 구문에서 어떻게..
https://www.hackerrank.com/challenges/challenges/problem?h_r=internal-search Challenges | HackerRank Print the total number of challenges created by hackers. www.hackerrank.com 이번 문제는 손이 많이 가는 서브쿼리 퀴즈인데요. 우선 예제를 살펴보겠습니다. 네 문제는 Hackers와 Challenges라는 두 테이블을 가지고 문제를 푸는 것입니다. 이 문제가 어려운 이유는 조건인데요. 조건을 간단하게 요약하면 다음과 같습니다. ###조건 조건1. hacker_id 별 name과 challenges의 개수를 구해라 조건2. hacker_id 별 최대 challenges를..