Create Rules (MySQL)
Create Rules
この記事はFastキャンパスで講義したMySQLデータベースコースのまとめです.
レッスンリンク
1.条件の作成条件作成時に使用する関数 形式: 主に データがNULLかどうかを検証し、NULLであれば新しい値の関数を返す ・ 形式: この欄の値がNULLの場合は値を返します. 主に 2.複数の条件を同時に作成する
条件作成時に使用する構文:主に
この記事はFastキャンパスで講義したMySQLデータベースコースのまとめです.
レッスンリンク
1.条件の作成
IF
IF(조건식, 참일 때 값, 거짓일 때 값)
SELECT
節の関数で、結果値を新しい列に戻します.IFNULL
ISNULL
と同様ISNULL
NULLか確認するだけ.IFNULL([컬럼 이름], NULL일 때 값)
SELECT
節の関数で、結果値を新しい列に戻します.条件作成時に使用する構文:
IF
複数の条件を作成するときに使用する構文:CASE
CASE
SELECT
節の関数で、結果値を新しい列に戻します.ELSE
文を省略するとNULL値を返します.-- 형식 1
CASE
WHEN 조건식1 THEN 결과값1
WHEN 조건식2 THEN 결과값2
ELSE 결과값3
END
-- 형식 2
CASE [컬럼 이름]
WHEN 조건값1 THEN 결과값1
WHEN 조건값2 THEN 결과값2
ELSE 결과값3
END
3.関数の作成CREATE FUNCTION [함수 이름]([입력값 이름] [데이터 타입], ...)
RETURNS [결과값의 데이터 타입]
BEGIN
DECLARE [임시값 이름] [데이터 타입];
SET [임시값 이름] = [입력값 이름];
쿼리;
RETURN [결과값];
END
クリア関数DROP FUNCTION [함수 이름];
MySQL Workbenchで関数を作成する際の注意点SET GLOBAL log_bin_trust_function_creators = 1;
--사용자 계정에 function create 권한 생성
DELIMITER // -- 함수의 시작 지정
CREATE FUNCTION [함수 이름]([입력값 이름] [데이터 타입], ...)
RETURNS [결과값의 데이터 타입]
BEGIN
DECLARE [임시값 이름] [데이터 타입];
SET [임시값 이름] = [입력값 이름];
쿼리;
RETURN [결과값];
END
//
DELIMITER ; -- 함수의 끝 지정
-- 키워드와 ; 사이에 공백 존재
4.実習DROP DATABASE IF EXISTS pokemon; CREATE DATABASE pokemon;
USE pokemon;
CREATE TABLE mypokemon (
number int,
name varchar(20),
type varchar(10),
attack int,
defense int
);
INSERT INTO mypokemon (number, name, type, attack, defense)
VALUES (10, 'caterpie', 'bug', 30, 35),
(25, 'pikachu', 'electric', 55, 40),
(26, 'raichu', 'electric', 90, 55), (125, 'electabuzz', 'electric', 83, 57),
(133, 'eevee', 'normal', 55, 50), (137, 'porygon', 'normal', 60, 70),
(152, 'chikoirita', 'grass', 49, 65), (153, 'bayleef', 'grass', 62, 80),
(172, 'pichu', 'electric', 40, 15), (470, 'leafeon', 'grass', 110, 130);
CREATE FUNCTION isStrong(attack INT, defense INT)
RETURNS VARCHAR(20)
BEGIN
DECLARE atk INT;
DECLARE dfs INT;
DECLARE msg VARCHAR(20);
SET atk = attack;
SET dfs = defense;
SELECT CASE
WHEN atk + dfs > 120 THEN "very strong"
WHEN atk + dfs > 90 THEN "strong"
ELSE "not strong"
END INTO msg;
RETURN msg;
END
SELECT name, isStrong(attack, defense) AS isStrong
FROM mypokemon;
Reference
この問題について(Create Rules (MySQL)), 我々は、より多くの情報をここで見つけました https://velog.io/@dogfootbirdfoot/Create-Rules-MySQLテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol