[MySQL] Oracle 프로젝트 MySQL로 변경하기
·
DataBase/MySQL
기존 Oracle DB를 사용했던 Spring 프로젝트를 MySQL로 변경해서 적용해보려고 한다. 먼저 Toaf For MySQL에 새로 데이터베이스, 사용자를 만들어주고 기존 테이블 및 데이터를 MySQL에 맞게 변형해주었다. 1. pom.xml MySQL Connector/J dependency 추가하기 🔹 빌드도구를 사용하는 경우 MySQL 과 JAVA를 연결하기 위한 dependency 를 추가하기 위해 메이븐 원격 레포지토리에서 MySQL Connector/J 검색 mvnrepository.com/artifact/mysql/mysql-connector-java 원하는 Version 클릭 ( 8.0.23 버전 사용 ) 3. 해당하는 빌드 툴(Maven)의 dependency 코드 복사 ➡ pom...
[MySQL] 저장 프로시저 (Stored Procedure)
·
DataBase/MySQL
1. 저장 프로시저 (Stored Procedure)란? 일련의 SQL문장을 선언해서 MySQL에 저장하고, 해당 SQL문을 함수처럼 사용하는것으로 만들어 두기만 하면 함수처럼 호출하여 편하게 사용할 수 있다. 2. 저장 프로시저 생성 / 호출 🔸 저장 프로시저 생성 예) 고객 테이블에서 고객이름순으로 조회한 정보를 저장 프로시저로 생성 DELIMITER $$ CREATE PROCEDURE GetCustomers() BEGIN SELECT customerName, city, state, postalCode, country FROM customers ORDER BY customerName; END $$ DELIMITER ; 🔹 DELIMITER 는 왜 사용할까? 저장 프로시저 내부에 사용하는 SQL문은 일..
[MySQL] 내장 함수 정리
·
DataBase/MySQL
※ 자주 사용하는 함수 현재 날짜 조회 SELECT current_timestamp; #2021-03-07 오후 9:27:21 SELECT NOW(); #2021-03-07 오후 9:27:21 SELECT SYSDATE(); #2021-03-07 오후 9:27:21 SELECT CURDATE(); #2021-03-07 오전 12:00:00 날짜 및 시간 더하기/빼기 #기준날짜로부터 하루 뒤 날짜 조회 SELECT DATE_ADD("2021-03-07 23:59:59", INTERVAL 1 DAY); #한달 전 #customer 테이블에서 한달 전 ~ 오늘까지 등록된 데이터 조회 SELECT * from customer where created >= date_add(now(), interval -1 mon..
[MySQL] 데이터 한번에 입력하기 (Data import)
·
DataBase/MySQL
다량의 데이터를 테이블에 한번에 insert하는 방법 zipcode 테이블을 하나 생성해서 .text 확장자로 저장된 우편 데이터를 테이블에 한꺼번에 insert 하려고 합니다. 데이터 사이에 구분만 되어있다면 (예: 탭, 컴마 등) 토드에서는 import 기능을 이용해서 다양한 확장자의 데이터를 테이블에 한번에 기입할 수 있습니다. 먼저 zipcode 테이블을 하나 생성합니다. --우편번호 5자리 create table zipcode ( zipcode varchar(5), sido varchar(100), gugun varchar(100), dong varchar(200), startbunji varchar(100), endbunji varchar(100), seq INT primary key AUTO..
[MySQL] 테이블 분리와 JOIN - 데이터 중복 최소화
·
DataBase/MySQL
1. 데이터 중복 최소화 (목적) 데이터베이스 관리에 있어서 데이터가 중복된다는것은 명백하게 '개선할 부분'이 있다는 것을 의미한다. 데이터 양이 적을 경우, 중복이 크게 영향을 미치지 않지만 대량의 데이터를 관리하게 될 경우 '데이터 중복'은 엄청나게 큰 비용이기 때문이다. 단순히 데이터를 보관하는 비용이 커질 뿐만 아니라 데이터를 수정할 때도 시간적, 경제적 비용이 어마어마하다. 예시로, 다음의 topic 테이블을 보자. 위의 테이블을 보면 author 컬럼과 profile 컬럼 데이터가 중복되는 것을 확인할 수 있다. 이 경우 데이터 보관도 보관이지만.. 만약 author = 'Hee'인 데이터를 수정하려면 하나하나 수정해주어야 한다. 지금은 2개의 데이터만 수정하면 된다고 생각하겠지만, 중복데이터..
[MySQL] CRUD - Create, Select, Insert, Update, Delete
·
DataBase/MySQL
데이터베이스의 본질인 CRUD 데이터를 생성하고, 읽고, 수정하고, 삭제하는 방법이다. 이 중, Create와 Select문이 가장 중요하다. 경우에 따라 Update와 Delete는 사용할 경우도 별로없고, 실무에서는 사용하지 않는 경우도 많기 때문이다. 예를 들어 금융 전산의 경우 데이터를 바꾸거나(Update) 지우는 것(Delete) 자체로 범죄가 되는 ... 💣 하지만 프로젝트를 진행하면 데이터를 조작 할 일이 아주 많으므로 SQL문을 배운다면 CRUD 모두를 알아두어야 한다. DDL, DML, DCL 에 관련해서는 데이터베이스 글에 설명해두었으므로 이를 참고하자. 2021/03/02 - [DataBase] - 데이터베이스(Database, DB) 데이터베이스(Database, DB) 🔍 DB,..
[MySQL] 사용자 추가/권한부여/삭제 - Toad 연결
·
DataBase/MySQL
🔍 SQL은 대/소문자 구분이 없습니다. (대문자/소문자 상관없이 명령어 작동) 1. root 관리자 계정 연결 mysql -uroot -p 데이터베이스 생성, 사용차 추가 등의 작업을 진행하기 위해 root 관리자 계정으로 접속합니다. (oracle의 sys 개념) Bitnami 경로에서 mysql \ bin 경로로 이동 명령어 입력 비밀번호 입력 후 mysql >가 나오면 알맞게 된 것 2. 데이터베이스 생성/제거 (1) 데이터베이스 생성 #CREATE DATABASE '데이터베이스명' create database opentutorials; (2) 데이터베이스 제거 #DROP DATABASE '데이터베이스명' drop database opentutorials; 3. 데이터베이스 목록 조회 생성된 데이..
[MySQL Client] 토드 Mysql 다운로드 : Toad for MySQL
·
DataBase/MySQL
인터넷에서 어떤 작업을 처리할 때 작업을 요청하는 쪽을 Client, 요청작업을 처리하는 쪽을 Server라고 부릅니다. 이처럼 데이터베이스에서도 데이터를 요청하는 쪽을 Database Client, 처리하는 쪽을 Database Server라고 부르는데요, 다양한 Database Client 프로그램을 사용하여 데이터베이스를 관리할 수 있습니다. MySQL Client 또한 다양한 종류의 Client 프로그램이 있습니다. 이번 포스팅에서는 제가 직접 설치해 본 프로그램을 소개해드리려고 합니다. 1. MySQL monitor mysql server 설치하면 함께 설치되며, 어디에서나 사용가능한 명령어 기반 프로그램입니다. 설치 후, CMD에서 사용했던 것이 바로 MySQL monitor입니다. 2. My..
[MySQL] 설치 및 개요 (Windows 10)
·
DataBase/MySQL
1. MySQL이란 ? 👩‍💻 세계에서 가장 많이 쓰이는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로 1994년 스웨덴에서 개발되기 시작한 무료, 오픈소스, RDBMS 이다. 🔍 RDBMS가 뭔데? 2. MySQL 설치 MySQL 다운로드 사이트 : dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - ..