SHOW CREATE PROCEDURE proc_name 

This statement is a MySQL extension. It returns the exact string that can be used to re-create the named stored procedure. A similar statement, SHOW CREATE FUNCTION , displays information about stored functions (see Section 13.7.7.8, “SHOW CREATE FUNCTION Statement” ). 

To use either statement, you must be the user named as the routine DEFINER , have the SHOW_ROUTINE privilege, have the SELECT  privilege at the global level, or have the CREATE ROUTINE , ALTER ROUTINE , or EXECUTE  privilege granted at a scope that includes the routine. The value displayed for the Create Procedure  or Create Function  field is NULL  if you have only CREATE ROUTINE , ALTER ROUTINE , or EXECUTE . 

mysql> SHOW CREATE PROCEDURE test.citycount\G *************************** 1. row *************************** Procedure: citycount sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES, NO_ZERO_IN_DATE,NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_ENGINE_SUBSTITUTION Create Procedure: CREATE DEFINER=‘me‘@‘localhost‘ PROCEDURE ‘citycount‘(IN country CHAR(3), OUT cities INT) BEGIN SELECT COUNT(*) INTO cities FROM world.city WHERE CountryCode = country; END character_set_client: utf8mb4 collation_connection: utf8mb4_0900_ai_ci Database Collation: utf8mb4_0900_ai_ci mysql> SHOW CREATE FUNCTION test.hello\G *************************** 1. row *************************** Function: hello sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES, NO_ZERO_IN_DATE,NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_ENGINE_SUBSTITUTION Create Function: CREATE DEFINER=‘me‘@‘localhost‘ FUNCTION ‘hello‘(s CHAR(20)) RETURNS char(50) CHARSET utf8mb4 DETERMINISTIC RETURN CONCAT(’Hello, ’,s,’!’) character_set_client: utf8mb4 collation_connection: utf8mb4_0900_ai_ci Database Collation: utf8mb4_0900_ai_ci 

character_set_client  is the session value of the character_set_client  system variable when the routine was created. collation_connection  is the session value of the collation_connection system variable when the routine was created. Database Collation  is the collation of the database with which the routine is associated. 

## 13.7.7.10 SHOW CREATE TABLE Statement 

SHOW CREATE TABLE tbl_name 

Shows the CREATE TABLE  statement that creates the named table. To use this statement, you must have some privilege for the table. This statement also works with views. 

mysql> SHOW CREATE TABLE t\G *************************** 1. row *************************** Table: t Create Table: CREATE TABLE ‘t‘ ( ‘id‘ int(11) NOT NULL AUTO_INCREMENT, ‘s‘ char(60) DEFAULT NULL, 

