MariaDB
User
sql
-- create a database named newdb
CREATE DATABASE newdb
-- create new user
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
-- grant all permissions to newuser connect from localhost
GRANT ALL PRIVILEGES ON `database`.[*|table] TO 'newuser'@'localhost';
-- grant specific permission
GRANT SELECT, INSERT, UPDATE, DELETE ON `database`.[*|table] TO `newuser`@`localhost`
-- allow user to execute stored procedure
GRANT EXECUTE ON PROCEDURE <procedure name> TO `newuser`@`localhost`;
-- reload permission after permission(s) granted
FLUSH PRIVILEGES;
Common commands
sql
-- list all databases
SHOW DATABASES
-- switch database
USE <database>
-- list all tables
SHOW TABLES
-- set time zone
SET GLOBAL time_zone = 'Asia/Kuala_Lumpur';
Stored procedure
Example
sql
DELIMITER //
CREATE PROCEDURE sp_next_no (IN seq_type VARCHAR(10), IN prefix VARCHAR(10))
BEGIN
DECLARE next_no DECIMAL(15,0);
UPDATE seq SET curr_no = curr_no + 1 WHERE `type` = seq_type;
SELECT curr_no INTO next_no FROM seq WHERE `type` = seq_type;
IF next_no IS NULL THEN
INSERT INTO seq(`type`, curr_no, prefix) VALUES (seq_type, 1, prefix);
SELECT 1 INTO next_no;
END IF;
SELECT next_no;
END//
DELIMITER ;