×
          
              
          
      
      Clear all filters including search bar
          
        Valeri Tandilashvili's Personal Professional Blog
      
    document_details INSERT INTO students (
    first_name, 
    last_name, 
    gender, 
    points, 
    document_details
) 
VALUES (
    'Beka', 
    'Gelashvili', 
    '1', 
    '82', 
    '{"issue_date":"2020-05-18", "expire_date":"2030-05-18", "number":"ET2312UO"}'
);SELECT 
    VERSION()
Equivalent of the query above is to use system variable @@VERSION SELECT 
    @@VERSIONJSON type column for storing JSON objects / arraysALTER TABLE students
ADD  COLUMN document_details JSONto_lower that will run before updating any student and makes first_name lower caseDROP TRIGGER IF EXISTS to_lower;
CREATE TRIGGER to_lower
BEFORE UPDATE ON students
FOR EACH ROW
    SET NEW.first_name = LOWER(NEW.first_name);to_upper that will run before inserting student into students table and makes first_name UPPER CASEDROP TRIGGER IF EXISTS to_upper;
CREATE TRIGGER to_upper
BEFORE INSERT ON students
FOR EACH ROW
    SET NEW.first_name = UPPER(NEW.first_name);--helpuniuser1 user on university databaseGRANT 
    SELECT, 
    INSERT, 
    UPDATE, 
    DELETE 
ON  `university`.* 
TO 'uniuser1'@'localhost';SELECT full_name(first_name, last_name) FROM students, whereas procedure can not be called in SQL queries.
4. Function uses RETURN keyword to return value, whereas procedure does not need the keyword to return values.
5. Function parameter can only be IN type, whereas procedure parameters can have one of the three types: IN, OUT or IN OUT
6. Function usually is used in expressions like built-in functions or variables whereas procedure is usually used to execute some business logicNULLIF function is going to return NULL SELECT
    id,
    first_name,
    NULLIF(gender, 0) student_gender
FROM studentsCASE used in SELECT statement determines student's gender based gender_id columnSELECT
    id,
    first_name,
    CASE gender
    	WHEN 1 THEN 'Male'
    	WHEN 2 THEN 'Female'
        ELSE 'Undefined'
    END AS student_gender
FROM students