1. 程式人生 > >MYSQL中SHOW的使用整理收藏

MYSQL中SHOW的使用整理收藏

span ror 結構 狀態 指針 warning 還要 ssi 研究

好記性不如亂筆頭吧....下面收藏整理了mysql中show 的使用技巧....有需要的博友可以看看哈

a. show tables或show tables from database_name; // 顯示當前數據庫中所有表的名稱
b. show databases; // 顯示mysql中所有數據庫的名稱
c. show columns from table_name from database_name; 或show columns from database_name.table_name;   // 顯示表中列名稱
d. show grants for [email protected]
/* */; // 顯示一個用戶的權限,顯示結果類似於grant 命令 e. show index from table_name; // 顯示表的索引 f. show status [like ‘‘]; // 顯示一些系統特定資源的信息,例如,正在運行的線程數量 g. show [session/global] variables [like ‘‘]; // 顯示系統變量的名稱和值 h. show processlist; // 顯示系統中正在運行的所有進程,也就是當前正在執行的查詢。大多數用戶可以查看他們自己的進程,但是如果他們擁有process權限,就可以查看所有人的進程,包括密碼。 i. show table status; //
顯示當前使用或者指定的database中的每個表的信息。信息包括表類型和表的最新更新時間 j. show privileges; // 顯示服務器所支持的不同權限 k. show create database database_name; // 顯示create database 語句是否能夠創建指定的數據庫 l. show create table table_name; // 顯示create database 語句是否能夠創建指定的數據庫 m. show engies bdb logs; // 顯示安裝以後可用的存儲引擎和默認引擎。 n. show innodb status; // 顯示innoDB存儲引擎的狀態
o. show logs; // 顯示BDB存儲引擎的日誌 p. show warnings; // 顯示最後一個執行的語句所產生的錯誤、警告和通知 q. show errors; // 只顯示最後一個執行語句所產生的錯誤 r. show create table tablename; //顯示建表的詳細信息及語法和引擎 s. show table status [from database]; //顯示本數據庫中所有表的詳細信息 ----------------------------------------------- Mysql存儲過程: show create procedure sp_name --顯示某一個存儲過程的詳細信息 一下午研究了兩個內容:觸發器與過程. 觸發器是在執行某種操作(插入,更新,刪除)時(前,後)進行的操作. 這個功能完全可以由C語言實現,而且更簡單. mysql中觸發器的使用還要涉及到變量之類的,不如用C實現起來簡單,所以這裏就不介紹了. 過程(procedure)相當於C語言中的子函數: 1,創建: Mysql的show命令create procedure procedure_name() select * from table_name; 2,調用: Mysql的show命令call procedure_name; 3,查看: Mysql的show命令查看過程的內容有三種方法: Mysql的show命令 1,show create procedure procedure_name; Mysql的show命令 2,show procedure status like procedure_name Mysql的show命令 3,select * from mysql.proc where name=procedure_name 4,刪除: Mysql的show命令drop procedure procedure_name; 一些存儲過程以及函數的例子 delimiter | 定義procedure create procedure p2_test1 (OUT para1 int) begin select sum(val) into para1 from test1; end | 調用procedure call p2_test1(@sum)| select @sum| alter procedure沒有研究出來 定義函數 create function f_test1(name char(20)) returns char(20) //參數沒有IN,OUT,都是IN begin return concat(Hello ,name, !); end | 調用函數 select f_test1(hongjian)| 三種不同的show的用法 show procedure status show function status show triggers //註意,沒有status 語法: CREATE PROCEDURE sp_name ([IN |OUT |INOUT] param type,...) begin routine_body end CREATE FUNCTION sp_name (para,...) RETURNS type begin routing_body end mysql5支持的存儲過程語句 聲明 描述 CREATE PROCEDURE 建立一個存放在MySQL數據庫的表格的存儲過程。 REATE FUNCTION 建立一個用戶自定義的函數,尤其是返回數據的存儲過程。 ALTER PROCEDURE 更改用CREATE PROCEDURE 建立的預先指定的存儲過程,其不會影響相關存儲過程或存儲功能。. ALTER FUNCTION 更改用CREATE FUNCTION 建立的預先指定的存儲過程,其不會影響相關存儲過程或存儲功能。. DROP PROCEDURE 從MySQL的表格中刪除一個或多個存儲過程。 DROP FUNCTION 從MySQL的表格中刪除一個或多個存儲函數。 SHOW CREATE PROCEDURE 返回使用CREATE PROCEDURE 建立的預先指定的存儲過程的文本。這一聲明是SQL:2003規範的一個MySQL擴展。 SHOW CREATE FUNCTION 返回使用CREATE FUNCTION建立的預先指定的存儲過程的文本。這一聲明是SQL:2003規範的一個MySQL擴展。 SHOW PROCEDURE STATUS 返回一個預先指定的存儲過程的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規範的一個MySQL擴展。 SHOW FUNCTION STATUS 返回一個預先指定的存儲函數的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規範的一個MySQL擴展。 CALL 調用一個使用CREATE PROCEDURE建立的預先指定的存儲過程。 BEGIN ... END 包含一組執行的多聲明。 DECLARE 用於指定當地變量、環境、處理器,以及指針。 SET 用於更改當地和全局服務器變量的值。 SELECT ... INTO 用於存儲顯示變量的縱列。 OPEN 用於打開一個指針。 FETCH 使用特定指針來獲得下一列。 CLOSE 用於關閉和打開指針。 IF 一個An if-then-else-end if 聲明。 CASE ... WHEN 一個 case聲明的結構 LOOP 一個簡單的循環結構;可以使用LE***E 語句來退出。 LE***E 用於退出IF,CASE,LOOP,REPEAT以及WHILE 語句。 ITERATE 用於重新開始循環。 REPEAT 在結束時測試的循環。 WHILE 在開始時測試的循環。 RETURNS 返回一個存儲過程的值 建一個存儲過程 create procedure p1(appid varchar(50)) begin select APPNAME from APPINFO where ID=appid; end 在mysq1中不支持create or replace procedure p1() 刪除存儲過程 drop procedure p1; 若要查看當前數據庫中所有已存在的存儲過程,則輸入:show procedure status; 若要查看某一個存儲過程,則輸入:show create procedure proc_name; //使用遊標 create procedure p3() begin //可以把相同類型的變量放在一起聲明 declare sum,t,no_more_record Integer; DECLARE cursor_total CURSOR FOR select Total from PNUMBER; DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_record=1;//此處必須先聲明no_more_record //必須把所有變量都聲明完後,才能給變量賦值 set sum=0,t=0,no_more_record=0;//可以在同一行給多個變量賦值 open cursor_total; repeat fetch cursor_total into t;//mysql在取下一條記錄時,若為空,則將no_more_record賦為1,但其記錄還是最後一條記錄 if(no_more_record!=1) then set sum=sum+t; end if; until no_more_record end repeat;//此處必須有分號 close cursor_total; set no_more_record=0; end

MYSQL中SHOW的使用整理收藏