mysql中的一些语法(录)
来源:互联网 发布:深圳 人工智能 政策 编辑:程序博客网 时间:2024/05/20 14:40
**********************************************************
MYSQL存储过程:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`` PROCEDURE `TableName_MethodName`(
_Parameter MYSQLPARAMETERTYPE
)
BEGIN
MYSQL_SENTENCE;
END$$
**********************************************************
MYSQL事物:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`` PROCEDURE `TableName_MethodName`(
_Parameter MYSQLPARAMETERTYPE
)
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
START TRANSACTION;
SAVEPOINT SP;
MYSQL_SENTENCE;
IF @@ERROR_COUNT <> 0 THEN
ROLLBACK TO SAVEPOINT SP;
……;
ELSE
……;
COMMIT;
END IF;
END$$
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`` PROCEDURE `TableName_MethodName`(
_Parameter MYSQLPARAMETERTYPE
)
BEGIN
DECLARE EXIT HANDLER FOR SQLWARNING,SQLEXCEPTION
BEGIN
ROLLBACK;
SET _PTransactionId = 0;
END;
START TRANSACTION;
MYSQL_SENTENCE;
COMMIT;
END$$
后者的执行效率比前者高。
*********************************************************
MYSQL 函数:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `Func_FunctionName`(`_Parameter` ParameterType) RETURNS ReturnType CHARSET utf8
BEGIN
SET @ReturnVar = ParameterTypeDefaultValue;
MYSQLSENTENCE;
RETURN @ReturnVar;
END$$
*******************************************************
MYSQL 执行一个字符串语句@SqlStr='select……':
PREPARE StmtTotalCount FROM @SqlStr;
EXECUTE StmtTotalCount;
DEALLOCATE PREPARE StmtTotalCount;
*******************************************************
MYSQL连接字符串(mysql中不能用+连接字符串,可以用mysql的方法连接):
SET @SqlStr = CONCAT(@SqlStr, ' AND UserId > 0');
*******************************************************
MYSQL IF ELSE:
IF conditions THEN
……
[ELSE]
……
[ELSE]
……
END IF;
*******************************************************
MYSQL WHILE:
WHILE CONDITIONS DO
……
END WHILE;
------------------------------------------------------------------------------------
eg.
依次取出最后一个EmployeeId进行操作
SET _EmployeeIds ='1,2,3,4,5,6,7,0,9,12,51,77'
WHILE _EmployeeIds != '' DO
SET @EmployeeId = SUBSTRING_INDEX(_EmployeeIds,',',-1);
INSERT INTO Member
(
EmployeeId
)
VALUES
(
@EmployeeId
);
SET @NUM = 0;
SET @STR = _EmployeeIds;
WHILE INSTR(@STR,SUBSTRING_INDEX( _EmployeeIds, ',', -1 )) != 0 DO
SET @NUM =@NUM+INSTR(@STR,SUBSTRING_INDEX( _EmployeeIds, ',', -1 ));
SET @STR = SUBSTRING(@STR,INSTR(@STR,SUBSTRING_INDEX( _EmployeeIds, ',', -1 ))+1);
END WHILE;
SET _EmployeeIds=LEFT( _EmployeeIds, @NUM -2);
END WHILE;
*******************************************************
MYSQL SELECT INTO:
mysql的table不支持select * from oldTable into newTable
但可以这么写:CREATE TABLE newTable (SELECT * FROM oldTable)
SET @COLVALUE = DEFAULTVALUE;
SELECT COL FROM TABLENAME INTO @COLVALUE;
将某个字段或者字段处理后的值放到自定义变量 @COLVALUE中。注意,@COLVALUE要赋初始值,否则会出现NULL值的情况。
*****************************************************
MYSQL中判断是否为NULL值用:col IS NULL 或者 col IS NOT NULL。
*****************************************************
MYSQL中
条件里用“=”而不是“==” 来表示是否等于。
“>=”,“<=”,“>”,“<”,“<>”分别表示“大于等于”,“小于等于”,“大于”,“小于”,“不等于”。
*****************************************************
- mysql中的一些语法(录)
- mysql中的一些语法
- 随想录(网络编程中的一些问题)
- MySQL的一些基本语法(2)
- mysql一些常用语法
- C#中的一些新概念(语法)说明
- Verilog 中的一些语法
- MySQL的一些基本语法
- 【IOS沉思录】Objective-C中的糖衣语法(字面量)
- Java语法中的一些特点
- Java中的一些语法格式
- Android.mk 中的一些语法
- Pig 中的一些语法知识。
- MySQL的一些基本语法(3)-查看表结构
- MySQL的一些基本语法(4)-索引
- MySQL的一些简单语法(5)-视图
- MySQL的一些基本语法(6)-触发器
- MySQL的一些基本语法(7)-查询数据
- 如何用eclipse打开并运行一个已经写好的java文件?
- 在VxWorks平台如何计算cpu的利用率
- 如何从小工到专家——Dreyfus模型应用[推荐]
- MYSQL问题收集
- 事务策略: API 层策略
- mysql中的一些语法(录)
- 字符设备驱动程序(实践篇)
- SQL Server存储引擎(1) - 数据库如何读写数据
- QT QVariant
- HubbleDotNet开源全文搜索数据库项目--如何升级
- C++中extern “C”含义深层探索
- ashx是什么文件
- 实验: 写一个.msstyles皮肤测试程序
- FFDShow-tryout 调试与源代码研读(一)