본문 바로가기

MySQL

(5)
MySQL 데이터 타입 숫자형 데이터 형식 바이트 수 숫자 범위 설명 BIT 1 0 or 1 or NULL 논리형으로 참, 거짓으로 사용 INT 4 약 -21억 ~ 21억 정수 BIGINT 8 -2^63 ~ 2^63 정수 FLOAT 4 -3.40..x 10^38 ~ 3.40..x 10^38 소수 DOUBLE 8 -1.79.. x 10^308 ~ 1.79.. x 10^308 소수 문자형 데이터 형식 바이트 수 설명 CHAR(n) 0 ~ 8000 고정길이 문자형 NCHAR(n) 0 ~ 8000 유니코드 고정길이 문자형 (한글은 0~4000자) VARCHAR(n) 0 ~ 2^31 - 1 가변길이 문자형 (VARCHAR(MAX) = 2GB) NVARCHAR(n) 0 ~ 2^31 - 1 유니코드 가변길이 문자형 (NVARCHAR(MAX..
MySQL 형변환 사용자가 원하는 데이터로 형변환 할 때 사용하도록 한다. 데이터 형식 중에 가능한 것은 BINARY, CHAR, DATE, DATETIME, DECIMAL, JSON, SIGNED INTEGER, TIME, USSIGNED INTEGER 등이 있다. 형식은 아래와 같다. -- 1 -- CAST ( 표현하고자 하는 데이터 AS 바꿀 데이터 형식[길이]) -- 2 -- CONVERT ( 표현하고자 하는 데이터, 바꿀 데이터 형식[길이]) 아래의 예제를 통해 정확히 알아보자. select avg(pet_id) from residents; 위 SQL은 residents 테이블의 pet_id 컬럼의 평균값을 나타내는 문구이다. 2.5라는 값이 출력된 것을 확인할 수 있다. 이 데이터를 정수로 바꾸어 보자. sel..
트랜잭션(Transaction) 일전에 Oracle DB를 사용할 떄에도 트랜잭션에 대해 공부하는 시간을 가졌었다. 트랜잭션에 대한 기억이 사라지지 않았나 싶어 다시금 내용을 정리해 보고자 한다. 트랜잭션이란? 본 의미는 나눌 수 없는 가장 작은 하나의 단위이고, 이 뜻은 트랜잭션이란 DB의 상태를 변경하는 일종의 작업 단위이다. MySQL이나 Oracle DB에서 행하는 모든 명령어들은 하나의 트랜잭션이기도 하다. 그러면 왜 이러한 트랜잭션에 대해 알고 있어야 하고 또 사용할 줄 알아야 하는가? 바로 여러 개의 작업 단위를 구성할 떄 필요한 것이기 때문이다. 트랜잭션의 대표적인 예로는 입,출금 예제가 있다. 1) A는 계좌에 만원이 있는 상태이고 B는 A에게 빌린돈 천원이 있다. 2) A는 B에게 천원을 입금한다. 3) A는 잔액 9..
DML, DDL, DCL, TCL DML(Data Manipulation Language) 데이터 조작어이다. 일반적으로 테이블 안의 데이터들을 조회 및 변경을 가하는 종류의 명령어 집합이다. => SELECT, INSERT, UPDATE, DELETE DDL(Data Definition Language) 데이터 정의어이다. DML과 혼동될 수 있으나 DML은 테이블 안의 데이터를 다루는 것이 일반적이고 DDL의 경우 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어 집합이다. => CREATE, ALTER, DROP, RENAME, TRUNCATE DCL(Data Control Language) 데이터 제어어이다. 데이터베이스에 접근하여 객체들을 사용하도록 권한을 주거나 회수하는 명령어 집합이다. => GRANT, REVOKE T..
MySQL utf-8 설정 C:\ProgramData\MySQL\MySQL Server 8.0 해당 경로로 이동한다. my.ini 파일을 메모장이나 여러 ide 툴로 연다. 이후 작업관리자 -> 서비스로 이동하여 MySQL을 다시 시작해주면 된다. 이후 재접속하여 아래 명령어로 확인해보면 utf8mb4 로 변경된 것을 확인할 수 있다. 기본적으로 일반 utf-8 과 utf8mb4 의 차이점은 이모지 사용 여부이다. mysql이나 mariaDB의 경우 기본 utf-8은 이모지가 지원되지 않는다고 한다. 또는 버전이 낮을 경우 utf8mb4을 지원하지 않는다고 하니 알고는 있자.