標籤:ram func handler 開始 特定 concat info log more
好記性不如亂筆頭吧....下面收藏整理了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 |定義procedurecreate procedure p2_test1 (OUT para1 int)beginselect sum(val) into para1 from test1;end|調用procedurecall p2_test1(@sum)|select @sum|alter procedure沒有研究出來定義函數create function f_test1(name char(20)) returns char(20) //參數沒有IN,OUT,都是INbeginreturn concat(‘Hello ‘,name,‘ !‘);end|調用函數select f_test1(‘hongjian‘)|三種不同的show的用法show procedure statusshow function statusshow triggers //注意,沒有status文法:CREATE PROCEDURE sp_name ([IN |OUT |INOUT] param type,...)beginroutine_bodyendCREATE FUNCTION sp_name (para,...) RETURNS typebeginrouting_bodyendmysql5支援的預存程序語句聲明 描述 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))beginselect 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;repeatfetch cursor_total into t;//mysql在取下一條記錄時,若為空白,則將no_more_record賦為1,但其記錄還是最後一條記錄if(no_more_record!=1) thenset sum=sum+t;end if;until no_more_recordend repeat;//此處必須有分號close cursor_total;set no_more_record=0;end
MYSQL中SHOW的使用整理收藏