본문 바로가기

데이터베이스15

MySQL / 테이블 값 깨지는 문제 해결방법 필자는 MySQL이 오라클에 인수되기 전의 최신버전인 5.7과 인수되고 나서의 8버전을 모두 사용해 보았으며 인수되기전 5.7버전에서 한글이 깨지고 8버전에서는 한글이 정상적으로 보여지는 이슈를 접했다. 그러면 5.7버전에서 어떻게하면 한글이 깨지는 현상을 해결할 수 있을까? MySQL5.7이하의 버전을 사용하다보면 다음과 같이 한글이 깨지는 현상을 보게된다. 지금부터 해결방법을 살펴보자. 1. 우선 'my.ini' 파일을 찾아서 관리자권한으로 연다. 2. 파일을 관리자 권한으로 열었다면 아래와 같이 코드를 작성해준다. 3. 한글설정이 되었는지 확인하기 위해 스키마에 아래 쿼리를 작성 show variables like 'c%'; 4. 위와 같이 쿼리를 작성하고 실행해보면 다음과 같은 화면이 출력되며, .. 2020. 7. 28.
MySQL / Object 개념 정리 stricky.tistory.com/m/315 Mysql objects 개념 정리 for 개발자 Mysql objects 개념 정리 for 개발자 여러분들이 쓰는 Mysql 내에는 어떤 objects들이 있고, 각 object가 Mysql이라는 DBMS내에서 어떤 역할을 하는지 잘 알고 계십니까? 그동안 DB쪽에서 업무를 하면서 수없이 stricky.tistory.com 2020. 7. 20.
MySQL / MySQL 다운로드방법 !이글은 Windows OS 기준이다. 오라클사의 MySQL을 다운로드 받아보자. 1. 우선 MySQL Community용을 다운받기 위해 아래 링크로 이동. https://dev.mysql.com/downloads/ MySQL :: MySQL Community Downloads The world's most popular open source database dev.mysql.com 2. 'MySQL Installer for Windows'클릭 3. 필자는 오라클사가 인수하기 전의 가장 최신 버전인 MySQL을 다운로드 받기위해 아래 처럼 진행하였다. 4. 아래 링크를 누르면 인스톨러 다운로드가 진행된다. 5. 기본값 디벨로퍼 선택후 Next 6. 'Excute' 클릭 7. 위 과정 진행중 다음과 같은.. 2020. 7. 7.
Redis란 Redis를 알아가기에 앞서 레디스는 NoSQL의 종류 중 하나이므로 NoSQL에 대해서 잠깐 짚어보겠다. *NoSQL NoSQL은 데이터간의 관계를 정의하지 않고 고정된 스키마를 갖지 않는 새로운 형태의 데이터베이스로서, 관계형 DB를 경량화한 데이터베이스이다. 관계형 데이터베이스의 특징을 제거하고 만들어진 다른 모든 형태의 DBMS를 칭하기도 하며, SQL계열 징의어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not Only SQL"로 불리기도 한다. *SQL과 NoSQL의 차이 *Redis 레디스는 Remote Dictionary Server의 약자로 Key-Value구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 기반의 비관계형 데이터베이스 관리시스템이며 세션을 담는 서버이다. *Red.. 2020. 6. 1.
읽기 전용 테이블로 전환하기 *읽기 전용 테이블로 바꾸는 명령 읽기전용으로 테이블을 바꾸고 컬럼을 추가하려고 시도하면 오류가 뜬다. 컬럼을 추가하고 싶다면 테이블을 다시 읽기/쓰기 모드로 변경해주어야한다. *읽기/쓰기 전용으로 테이블 바꾸는 명령 2020. 5. 7.
DELETE, TRUNCATE, DROP 비교 *TRUNCATE 명령 *DROP 명령 2020. 5. 7.
컬럼 조작 *새로운 컬럼 추가하기 *컬럼 추가하면서 기본값 지정하기 *테이블의 컬럼 이름 변경하기 *컬럼의 데이터 크기 조정하기 *컬럼 삭제하기 2020. 5. 7.
테이블 복사하기(CTAS) *모든 컬럼 다 복사하기 *특정 컬럼만 복사하기 *테이블의 구조(컬럼)만 가져오고 데이터 안가져오기 2020. 5. 7.
오라클 SQL / Global Temporary Table(임시 테이블) *임시테이블 Oracle 8 버전부터 등장 실제 데이터를 저장하지 않고 테스트 등 임시 용도로 사용 리두 데이터 생성 안 해서 속도 빠름 작업 마치면 데이터를 자동으로 지우게 됨 세션 별로 만들어져서 다른 사용자의 데이터를 볼 수 없음 2020. 5. 7.
오라클 SQL / DDL, DML , DCL , TCL *DDL(Data Definition Language) - 데이터 정의 - 데이터베이스를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을하는 언어이다. CREATE(생성) ALTER(수정) TRUNCATE(잘라내기) DROP(삭제) *DML(Data Manipulation Language) - 데이터 조작어 - 정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 하는 언어이다. INSERT(입력) - 어떤 분류에서는 DQL(Data Query Language)라고 하기도 한다. UPDATE(변경) DELETE(삭제) MERGE(병합) *DCL(Data Control Language) - 데이터 제어어 - 데이터베이스에 접근하거나.. 2020. 5. 7.
오라클 SQL / 뷰(VIEW) *VIEW란? 뷰는 하나 이상의 테이블을 합하여 만든 가상의 테이블이다. - 특징 편리성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하다. 또 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있다. 재사용성 : 자주 사용되는 질의를 뷰로 미리 정의해 놓을 수 있다. 보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있다. 중요한 질의의 경우 질의내용을 암호화할 수 있다. *VIEW 생성 *VIEW 수정 *VIEW 삭제 2020. 5. 6.
오라클 SQL / 부속질의 *부속질의(subquery)란 하나의 SQL문 안에 다른 SQL문이 중첩된(nested) 질의를 말한다. 다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할 때 사용한다. 보통 데이터가 대량일 때 데이터를 모두 합쳐서 연산하는 조인보다 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 더 좋다. 주질의(main query, 외부질의)와 부속질의(sub query, 내부질의)로 구성된다. *부속질의 종류 스칼라 부속질의 - SELECT 부속질의 인라인 뷰 -FROM 부속질의 중첩질의 - WHERE 부속질의 *스칼라 부속질의(SELECT 부속질의) SELECT절에서 사용되는 부속질의로, 부속질의의 결과 값을 단일 행, 단일 열의 스칼라 값으로 반환한다. 스칼라 부속질의는 원칙적으로 스.. 2020. 5. 6.
오라클 SQL / ROWNUM *ROWNUM 내장 함수는 아니지만 자주 사용되는 문법 오라클에서 내부적으로 생성되는 가상 컬럼으로 SQL조회 결과의 순번을 나타냄 자료를 일부분만 확인하여 처리할 때 유용 2020. 5. 6.
오라클 SQL / 인덱스(INDEX) *인덱스란 도서의 색인이나 사전과 같이 데이터를 쉽게 빠르게 찾을 수 있도록 만든 데이터 구조이다. *인덱스의 특징 인덱스는 테이블에서 한 개 이상의 속성을 이용하여 생성함 빠른 검색과 함께 효율적인 레코드 접근이 가능함 순서대로 정렬된 속성과 데이터의 위치만 보유하므로 테이블보다 작은 공간을 차지함 저장된 값들은 테이블의 부분집합이 됨 일반적으로 B-tree형태의 구조를 가짐 데이터의 수정, 삭제 등의 변경이 발생하면 인덱스의 재구성이 필요함 *오라클 B-tree 인덱스 오라클 인덱스는 B-tree를 변형하여 사용한다. *오라클 인덱스의 종류 B-Tree인덱스 - 오라클에서 사용하는 기본적인 인덱스, 하나의 리프노드는 하나의 데이터에 대응 ex) CREATE INDEX t_ix ON T(key1); I.. 2020. 5. 6.
오라클 SQL / NULL *NULL값이란 아직 지정되지 않은 값 NULL값은 '0', "(빈 문자), ' '(공백)등과 다른 특별한 값 NULL값은 비교 연산자로 비교가 불가능함 NULL값의 연산을 수행하면 결과 역시 NULL값으로 반환됨. *NULL값을 확인하는 방법 - IS NULL, IS NOT NULL NULL값을 찾을 때는 '=' 연산자가 아닌 'IS NULL'을 사용 NULL이 아닌 값을 찾을 때는 ''연산자가 아닌 'IS NOT NULL'을 사용함 *집계 함수를 사용할 때 주의할 점 'NULL+숫자' 연산의 결과는 NULL 집계 함수 계산 시 NULL이 포함된 행은 집계에서 빠짐 해당되는 행이 하나도 없을 경우 SUM, AVG함수의 결과는 NULL이 되며, COUNT함수의 결과는 0 *NVL : NULL값을 다른 값.. 2020. 5. 6.