小米

业精于勤,荒于嬉。

MySQL 日常小结

一、Delete与TRUNCATE 区别:

1.DELETE
 ・DML语言
 ・可以回退
 ・可以有条件的删除

     DELETE FROM 表名
   WHERE 条件

2.TRUNCATE TABLE
 ・DDL语言
 ・无法回退
 ・默认所有的表内容都删除
 ・删除速度比delete快。

   TRUNCATE TABLE 表名

二、select into from跟insert into select from两种表复制语句区别

select into from和insert into select from两种表复制语句区别
select * into target_table from source_table
insert into target_table(column1,column2) select column1,5 from source_table

以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别。 
第一句(select into from)要求目标表target_table不存在,因为在插入时会自动创建。 
第二句(insert into select from)要求目标表target_table存在,由于目标表已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量,如例中的:5。

无论是select into from还是insert into select from, from后面的都是源表(source_table),Into后面的是目标表(target_table)

1、Insert into Select from 语句

      语句形式为:Insert into targer_table(field1,field2,...) select value1,value2,... from source_table     

      要求目标表 targer_table必须存在,由于目标表targer_table已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量。

2、Select into from语句

      语句形式为:SELECT vale1, value2 into targer_tablefrom source_table

      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。


三、异常捕获方法


//方法一:捕获sqlstate_value异常

//这种方法是捕获sqlstate_value值。如果遇到sqlstate_value值为"42S02",执行CONTINUE操作,并输出"NO_SUCH_TABLE"信息

DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02' SET @info='NO_SUCH_TABLE';

//方法二:捕获mysql_error_code异常

//这种方法是捕获mysql_error_code值。如果遇到mysql_error_code值为1146,执行CONTINUE操作,并输出"NO_SUCH_TABLE"信息;

DECLARE CONTINUE HANDLER FOR 1146 SET @info='NO_SUCH_TABLE';

//方法三:先定义条件,然后捕获异常

DECLARE no_such_table CONDITION FOR 1146;

DECLARE CONTINUE HANDLER FOR NO_SUCH_TABLE SET @info='NO_SUCH_TABLE';

//方法四:使用SQLWARNING捕获异常

DECLARE EXIT HANDLER FOR SQLWARNING SET @info='ERROR';

//方法五:使用NOT FOUND捕获异常

DECLARE EXIT HANDLER FOR NOT FOUND SET @info='NO_SUCH_TABLE';

//方法六:使用SQLEXCEPTION捕获异常

DECLARE EXIT HANDLER FOR SQLEXCEPTION SET @info='ERROR';

四、连接字符

CONCAT(str1,str2,…) 


阅读更多
版权声明:本人博客,供大家分享学习,有需要的话,可以转载! https://blog.csdn.net/u011225629/article/details/52353489
个人分类: MySQL
上一篇Jetty配置
下一篇Maven
想对作者说点什么? 我来说一句

MySQL 笔记总结

MYSQL

qq_33406883 qq_33406883

2017-08-13 16:55:50

阅读数:156

没有更多推荐了,返回首页

关闭
关闭