MySQL 日常小结

278人阅读 评论(0) 收藏 举报
分类:

一、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,…) 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1584848次
    • 积分:27830
    • 等级:
    • 排名:第200名
    • 原创:1024篇
    • 转载:220篇
    • 译文:14篇
    • 评论:533条
    我的仓鼠饿了

    帮我喂喂小仓鼠

    博客专栏
    文章分类
      QQ联系我