標籤:
mysql編程
注釋:行:# 或者 --
定義變數
set 變數名 =變數名
注意:為了區分系統變數和欄位 在加一個@標識符
例如 set @who =‘韓當‘;
使用select 可以獲得當前變數的值
select 10,15,20 into @a,@b,@c;
注意:=應該是賦值,但是在select語句內,就成了關係等於,使用專門的賦值運算子:=
同樣使用與set
1、範圍, 使用者定義的函數,是全域的(函數內可以),村子局部範圍變數,函數內定義的變數
2、有效期間,回話結束(串連結束)
內建函數
數值函數
rand()得到0-1的隨機數
floor()向下取整
cell()向上取整
round()四捨五入
format()格式化(千分位加逗號)
時間和日期函數
now()目前時間
unix_timestamp() unix時間戳記
from_unixtime()
字串函數
concat()字串串連
length(),表示位元組數 char_length() 字元數
substring() 截取字串
位置從1開始
lpad()左邊補足 例 select lpad(‘1‘,3,‘0‘); 輸出‘001‘
md5()常見的加密,無法復原的,都支援
password()加密,mysql獨用的(2次sha1()的結果)
sha1()
自訂函數
delimiter $$
create function sayHello() return varchar(20)
begin
return ‘hello world‘;
end
$$
delimiter;
預存程序插入(迴圈插入)
DROP PROCEDURE test_insert ; 如果已經存在這刪除
DELIMITER ;; 設定預設結束符為 ;;
CREATE PROCEDURE test_insert () 建立預存程序
BEGIN 開始
DECLARE i INT DEFAULT 0; 定義變數i並設定預設值為0
WHILE i<10 迴圈10次
DO
INSERT INTO CMS.CMS_Module 插入資料
(
ModuleType,
ModuleName,
ModuleDescription,
DesignHTML,
QUERY
)
VALUES
(
‘2‘,
CONCAT(‘活動‘,i),
‘測試加入‘,
‘aaaaaaaaaa‘,
‘‘
);
SET i=i+1; i+1保證迴圈10次
END WHILE ; 退出while迴圈
END;; 接收
DELIMITER ; 改回預設結束符
CALL test_insert(); 調用
mysql資料庫編程,內建函數,預存程序(迴圈插入)