Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL

  1. MySQL에서 Epoch(유닉스 타임스탬프)를 읽을 수 있는 날짜로 변환하는 방법

    MySQL 테이블에 저장된 Epoch 값(유닉스 타임스탬프)은 숫자 형태이기 때문에 사람이 직접 읽기 어렵습니다. 이러한 값을 FROM_UNIXTIME() 함수를 사용하면 손쉽게 읽을 수 있는 날짜 및 시간 형식으로 변환할 수 있습니다.FROM_UNIXTIME() 함수란?FROM_UNIXTIME() 함수는 유닉스 타임스탬프(Epoch, 1970-01-01 00:00:00 UTC 기준 경과 초)를 YYYY-MM-DD HH:MM:SS 형식의 DATETIME 값으로 변환해 줍니다.예제: visitors 테이블다음 예제에서는 Epoch 값

  2. MySQL에서 현재 연도 1월 1일을 Epoch(유닉스 타임스탬프)로 변환하는 방법

    MySQL에서 현재 연도의 1월 1일을 Epoch 시간(유닉스 타임스탬프)으로 변환해야 하는 경우가 종종 있습니다. 이때는 UNIX_TIMESTAMP() 함수를 활용하면 간단하게 처리할 수 있습니다.UNIX_TIMESTAMP() 함수를 사용한 변환 방법핵심 아이디어는 CURDATE() 함수로 현재 날짜에서 연도를 추출한 뒤, CONCAT()으로 YYYY-01-01 형태의 문자열을 만들어 UNIX_TIMESTAMP()에 전달하는 것입니다.mysql> Select UNIX_TIMESTAMP(CONCAT(YEAR(CURDATE())

  3. MySQL 저장 함수로 테이블에 값 삽입하는 방법

    함수(function)는 결과값을 반환해야 하는 경우에 가장 적합하게 사용됩니다. 따라서 값의 삽입(INSERT)이나 업데이트(UPDATE)처럼 테이블을 조작하기 위한 저장 함수(stored function)를 생성하면, 그 동작 방식이 저장 프로시저(stored procedure)와 상당히 유사해집니다.다만 일반적인 저장 프로시저와 달리, 저장 함수는 반드시 RETURNS 절로 반환 타입을 명시하고 RETURN 문으로 값을 반환해야 한다는 점이 특징입니다.예제: student_marks 테이블에 데이터 삽입하기다음 예제에서는 st

  4. MySQL 저장 함수로 테이블 값 업데이트하기: 작성 방법과 실전 예제

    저장 함수(stored function)는 기본적으로 결과값을 반환할 때 가장 유용하게 사용됩니다. 하지만 테이블에 값을 삽입(INSERT)하거나 업데이트(UPDATE)하는 것처럼 데이터를 조작하는 작업을 수행하는 저장 함수를 만들 수도 있습니다. 이 경우 함수의 동작 방식은 저장 프로시저(stored procedure)와 크게 다르지 않습니다.테이블을 업데이트하는 저장 함수의 개념일반적으로 저장 함수는 SELECT 문처럼 값을 계산하여 반환하는 용도로 쓰이지만, 함수 내부에 UPDATE 문을 포함시키면 특정 조건에 맞는 행의 값을

  5. MySQL 저장 함수로 특정 숫자의 팩토리얼(계승)을 계산하는 방법

    팩토리얼(Factorial, 계승)은 1부터 해당 숫자까지의 모든 양의 정수를 곱한 값입니다. 예를 들어 5의 팩토리얼은 5 × 4 × 3 × 2 × 1 = 120이 됩니다.팩토리얼 계산용 MySQL 저장 함수 예제아래는 주어진 숫자의 팩토리얼을 계산하는 저장 함수(Stored Function)의 예입니다.CREATE FUNCTION factorial (n DECIMAL(3,0)) RETURNS DECIMAL(20,0) DETERMINISTIC BEGIN DECLARE factorial DECIMAL(20,0) DEFAULT 1;

  6. MySQL 저장 함수 변경 방법 – ALTER FUNCTION 사용법 총정리

    MySQL에서 이미 생성된 저장 함수(Stored Function)의 특성을 수정해야 할 때가 있습니다. 이때 ALTER ROUTINE 권한이 있다면 ALTER FUNCTION 문을 사용하여 저장 함수를 변경할 수 있습니다.ALTER FUNCTION 기본 문법ALTER FUNCTION function_name [characteristic ...] characteristic: { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFIN

  7. MySQL 저장 함수(Stored Function)란? 개념부터 생성 방법까지 완벽 정리

    MySQL 저장 함수란 무엇인가?MySQL 저장 함수(Stored Function)는 단일 값을 반환하는 특수한 형태의 저장 프로그램(stored program)입니다. 저장 함수를 활용하면 SQL 문장이나 다른 저장 프로그램에서 반복적으로 사용되는 간단한 수식이나 비즈니스 규칙을 하나의 객체로 캡슐화하여 재사용할 수 있습니다.또한 저장 함수는 표현식(expression)이 사용될 수 있는 모든 위치에서 SQL 문장 안에 직접 호출하여 사용할 수 있다는 점이 큰 장점입니다. 예를 들어 SELECT 문의 컬럼 목록, WHERE 절,

  8. 특정 MySQL 데이터베이스에 저장된 함수 목록만 조회하는 방법

    특정 MySQL 데이터베이스의 저장 함수 목록 조회하기MySQL에서 특정 데이터베이스에 저장된 함수(Stored Function)의 목록만 확인하고 싶다면 INFORMATION_SCHEMA.ROUTINES 테이블을 활용하면 됩니다. 이 테이블에는 저장 프로시저와 함수 등 모든 루틴 정보가 담겨 있으므로, ROUTINE_TYPE 조건을 FUNCTION으로 지정하면 함수 목록만 깔끔하게 필터링할 수 있습니다.다음 쿼리를 사용하면 원하는 결과를 얻을 수 있습니다.mysql> SELECT ROUTINE_TYPE, ROUTINE_NAM

  9. MySQL BIT_LENGTH() 함수는 멀티바이트 안전할까? 사용 시 주의점과 예제

    MySQL의 BIT_LENGTH() 함수는 LENGTH() 함수와 마찬가지로 멀티바이트 안전(multi-byte safe)하지 않습니다. 즉, 문자열에 포함된 문자의 개수가 아니라 실제 저장된 비트 수를 그대로 반환하기 때문에, 문자셋에 따라 결과값이 달라질 수 있습니다.CHAR_LENGTH()나 CHARACTER_LENGTH()처럼 멀티바이트를 안전하게 처리하는 함수와 BIT_LENGTH() 함수의 결과 차이는, 대부분의 문자가 2바이트로 인코딩되는 유니코드(Unicode) 환경이나 문자마다 바이트 수가 달라지는 UTF-8 환경에

  10. MySQL UPDATE 문과 LPAD·RPAD 함수로 열 값에 문자열을 채워 테이블 업데이트하는 방법

    MySQL에서는 UPDATE 문과 함께 LPAD() 또는 RPAD() 함수를 사용하여 특정 열의 값에 문자열을 덧붙인 뒤 테이블을 손쉽게 업데이트할 수 있습니다. examination_btech 테이블의 예시를 통해 구체적인 동작 과정을 살펴보겠습니다. 예제: RPAD()로 문자 끝에 문자열 추가하기 course 열의 각 값 끝에 문자열 (CSE)를 붙이고, 그 결과로 테이블 자체도 업데이트하고 싶다면 아래와 같은 쿼리를 실행하면 됩니다. mysql> Update examination_btech set course = RPAD

  11. MySQL QUOTE() 함수로 열 값을 작은따옴표로 묶어 테이블 업데이트하는 방법

    MySQL의 QUOTE() 함수를 사용하면 특정 열의 값들을 작은따옴표()로 감쌀 수 있습니다. 이 함수를 UPDATE 문과 함께 활용하면, 기존 테이블의 데이터를 따옴표가 붙은 형태로 손쉽게 업데이트할 수 있습니다.사용 방법은 간단합니다. UPDATE 문의 SET 절에서 해당 열 이름을 QUOTE() 함수의 인자로 전달하면 됩니다.기본 문법UPDATE 테이블명 SET 열이름 = QUOTE(열이름);예제다음 예제는 examination_btech 테이블의 Course 열에 저장된 값들을 작은따옴표로 감싸서 업데이트하는 과정을 보여줍

  12. MySQL에서 특정 데이터베이스에 저장된 함수 목록과 상세 정보 확인하는 방법

    SHOW FUNCTION STATUS로 저장된 함수 목록 조회하기MySQL에서는 SHOW FUNCTION STATUS 문을 사용하면 특정 데이터베이스에 저장된 함수(Stored Function)의 목록을 정의자(Definer), 생성일, 수정일 등 다양한 메타 정보와 함께 한 번에 확인할 수 있습니다.기본 쿼리 문법아래와 같이 WHERE 절에 데이터베이스 이름을 지정하면 해당 데이터베이스에 속한 저장 함수만 필터링하여 조회할 수 있습니다.mysql> SHOW FUNCTION STATUS WHERE db = query\G실행 결

  13. MySQL에서 특정 데이터베이스의 저장 함수 목록과 전체 정보 확인하는 방법

    mysql.proc 테이블로 저장 함수 전체 정보 조회하기 MySQL에서 특정 데이터베이스에 등록된 저장 함수(Stored Function)의 목록과 상세 정보를 동시에 확인하려면 mysql.proc 테이블을 조회하면 됩니다. 이 테이블에는 함수 이름은 물론 매개변수, 반환 타입, 함수 본문, 작성자, 생성 일시까지 모든 메타데이터가 저장되어 있습니다. 다음 쿼리는 query라는 데이터베이스에 포함된 모든 저장 함수의 전체 정보를 세로 형태로 출력하는 예시입니다. mysql> SELECT * FROM mysql.proc WHE

  14. MySQL 저장 함수의 소스 코드를 확인하는 방법 – SHOW CREATE FUNCTION 완벽 가이드

    MySQL 저장 함수의 소스 코드 조회하기MySQL에서 이미 생성해 둔 저장 함수(Stored Function)의 정의나 소스 코드를 다시 확인하고 싶을 때가 있습니다. 이럴 때 SHOW CREATE FUNCTION 문을 사용하면 해당 함수가 어떻게 작성되었는지 그대로 확인할 수 있습니다.기본 문법SHOW CREATE FUNCTION 함수이름;함수 이름 뒤에 \G를 붙여 실행하면 결과가 세로 형태로 출력되어 긴 코드도 훨씬 읽기 편해집니다.사용 예시예를 들어, 문자열 앞에 Hello, 를 붙여 반환하는 Hello()라는 저장 함수의

  15. 테이블의 동적 데이터를 활용하는 MySQL 저장 함수 만드는 방법

    MySQL 저장 함수와 테이블 데이터 활용MySQL의 저장 함수(Stored Function)는 테이블을 참조할 수 있지만, 결과 집합(result set)을 반환하는 문장은 사용할 수 없습니다. 즉, 결과 집합을 그대로 반환하는 SELECT 쿼리는 함수 내에서 사용할 수 없다는 의미입니다.하지만 SELECT INTO 구문을 사용하면 이러한 제한을 우회할 수 있습니다. SELECT INTO는 조회한 값을 결과 집합으로 반환하는 대신, 변수에 직접 저장해 주기 때문입니다.예제: 학생 평균 점수 계산 함수 만들기다음 예제에서는 Stud

  16. MySQL 저장 함수가 테이블의 동적 값을 사용할 때 NULL 값을 반환하는 이유와 처리 방법

    MySQL 저장 함수에서 NULL 값이 반환되는 이유MySQL에서 저장 함수(stored function)는 인자로 받은 값 중 하나라도 NULL이 포함되어 있으면 최종 결과 역시 NULL을 반환합니다. 이는 SQL에서 NULL이 알 수 없는 값(unknown value)을 의미하기 때문입니다. NULL이 포함된 산술 연산이나 집계의 결과는 확정할 수 없으므로, MySQL은 이를 NULL로 처리합니다.예제: NULL 값이 포함된 데이터에 저장 함수 적용하기아래 예제에서는 학생 성적 테이블(Student_marks)의 Mohit 레코

  17. MySQL FORMAT() 함수로 지정한 형식의 소수점 값 출력하기

    FORMAT() 함수란?MySQL의 FORMAT() 함수는 숫자를 #,###,###.### 형태로 변환해 주는 함수입니다. 지정한 소수점 자릿수만큼 반올림한 결과를 문자열로 반환하며, 천 단위마다 콤마(,)가 자동으로 삽입됩니다. 이 함수를 활용하면 특정 열의 소수점 값을 원하는 형식으로 손쉽게 조회할 수 있습니다.예제 테이블: estimated_costFORMAT() 함수의 동작을 이해하기 위해 다음과 같은 데이터를 가진 estimated_cost 테이블을 예로 들어 보겠습니다.mysql> Select * from estim

  18. 열 값 연결 시 NULL이 포함되었다면? CONCAT_WS() 함수가 CONCAT() 함수보다 유리한 이유

    MySQL에서 문자열을 연결할 때 CONCAT() 함수와 CONCAT_WS() 함수는 NULL 값을 처리하는 방식에서 중요한 차이를 보입니다. CONCAT() 함수는 인수 중 하나라도 NULL이면 전체 결과가 NULL로 반환됩니다. 반면 CONCAT_WS() 함수는 첫 번째 인수인 구분자(separator)가 NULL일 때만 NULL을 반환하며, 나머지 인수에 포함된 NULL 값은 무시하고 정상적으로 연결을 진행합니다.따라서 테이블의 여러 열 값을 연결하려는데 그중 일부 열에 NULL 값이 들어 있을 가능성이 있다면, CONCAT_

  19. MySQL 커서로 테이블의 행을 가져오는 저장 프로시저 작성 방법

    MySQL에서 커서(Cursor)를 사용하면 쿼리 결과 집합의 행(row)을 하나씩 순회하며 처리할 수 있습니다. 이번 글에서는 student_info 테이블의 Name 컬럼에 저장된 레코드를 커서로 읽어오는 저장 프로시저를 직접 만들어 보겠습니다. 예제용 테이블 데이터 먼저 아래와 같은 구조와 데이터를 가진 student_info 테이블이 준비되어 있다고 가정합니다. mysql> Select * from Student_info; +-----+---------+------------+------------+ | id |

  20. 재귀 저장 프로시저란 무엇이며, MySQL이 재귀 깊이를 제한하는 이유는?

    재귀 저장 프로시저(Recursive Stored Procedure)란?저장 프로시저(stored procedure)가 스스로를 다시 호출하는 경우, 이를 재귀 저장 프로시저라고 부릅니다. 이처럼 자기 자신을 반복적으로 호출하여 문제를 해결하는 프로그래밍 기법을 일반적으로 재귀(recursion)라고 합니다.재귀는 계층 구조 탐색, 팩토리얼 계산, 조직도 순회 등 반복적인 하위 작업을 처리할 때 유용하지만, 종료 조건이 잘못되면 무한히 호출되면서 시스템 자원을 고갈시킬 수 있습니다. 이러한 위험 때문에 MySQL은 저장 프로시저의

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:192/229  20-컴퓨터/Page Goto:1 186 187 188 189 190 191 192 193 194 195 196 197 198