180 likes | 274 Vues
Discover how to create, optimize, and utilize stored procedures in MySQL databases for efficient data management. Learn about the advantages, security benefits, and performance enhancements that stored procedures offer. Explore examples, functions, cursors, backup, and restore processes, and delve into triggers to automate actions based on database events.
E N D
CSE 3330 Database Concepts Stored Procedures
How to create a user CREATE USER.. http://dev.mysql.com/doc/refman/5.1/en/create-user.html GRANT PRIVILEGE http://dev.mysql.com/doc/refman/5.1/en/grant.html
Find list of users select user from mysql.user; • A wealth of information exists in mysql database use mysql; Show tables; Desc user;
Stored Procedure • SP is a code written in SQL that is compiled and stored on the DB server. • Used for repetitive tasks. • You can use programming language constructs likevariables, loops, assignments, cursors, etc • Pre-compiled => Efficient
Background Good background http://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5--net-17843 Advantages: • Share logic • Grant users permissions to SP rather than tables • Security • Improved Performance, reduces network traffic
Simple SP DELIMITER $$ -- Create a procedure in Oracle. CREATE PROCEDURE hello_world() BEGIN -- Print the phrase and a line return. SELECT 'Hello World!'; END; $$ -- Reset the delimiter back to a semicolon to work again. DELIMITER ; -- Call the procedure. SELECT 'CALL hello_world' AS "Statement"; CALL hello_world();
Simple SP Why do we change the delimiter? DELIMITER ;
Calling SP from PDO http://www.mysqltutorial.org/php-calling-mysql-stored-procedures/ http://www.php.net/manual/en/mysqli.quickstart.stored-procedures.php http://www.joeyrivera.com/2009/using-mysql-stored-procedures-with-php-mysqlmysqlipdo/
Functions Function MUST return a value, Procedure does not have to. Function invoked within an expression, Procedure invoked with Call
Looping Constructs http://dev.mysql.com/tech-resources/articles/mysql-storedprocedures.pdf#page=21&zoom=auto,0,792
Cursors http://dev.mysql.com/tech-resources/articles/mysql-storedprocedures.pdf#page=35&zoom=auto,0,792
How to backup a db MySQL has functions for backing up entire db - includes tables + procedures + functions + .. http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/ Backup: $ mysqldump-u root -p sugarcrm > sugarcrm.sql Learn to backup your db regularly
How to restore a db http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/ Restore: $ mysql -u root -p sugarcrm < /tmp/sugarcrm.sql
Triggers A trigger is a SQL statement that is executed (or “fired”) when another event occurs. For example, a trigger may fire when you insert data into a table, update a table, delete a row, etc. Work through the examples: https://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html