MySQL 日常小结

原创 2016年08月29日 16:22:04

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


版权声明:本人博客,供大家分享学习,有需要的话,可以转载!

相关文章推荐

日常小结-经典IPC问题实现

基本原理来自《现代操作系统》我用java给重写了一边。多线程经验不多,有问题多指教。生产者消费者问题有一点需要特别注意一下,如果只有一个生产者一个消费者可以使用notify。如果有多个生产者和消费者则...

日常小结-happens-before的个人理解

happens-before的个人理解最近看java并发方面的资料,刚看的时候被happens-before的概念给唬住了。。在看几天有了一些粗浅体会,现在先写下啦日后在整理。产生的原因首先java本...

日常小结-java中同步方式概述

本文概述了一线java中三种实现同步的方式的异同,volatile、synchronized和Lock相关类

日常小结-python2.x和python3.x之间关于String的区别

本文内容主要来自于GTK+3 教程4How to Deal With Strings 我觉得内容写的挺好的,这里总结一下。Unicode 及UTF-8首先字符串可以看成是一串字符的表示,每个字符都可以...

日常小结篇-svn,redis,html,nginx

从svn上当下项目分情况 1,非maven项目,直接当下 2,maven项目,当下后需要转换为maven项目模式 ...

日常小结-java随机数类Random

Random类首先java的Random采用48位的种子用linear congruential formula方法实现了一个生成随机数的类。构造函数Random类有两个构造函数。 一个是无参的,一...

日常小结-xml编程(CRUD)

XML解析技术概述XML解析方式分为两种:dom和sax dom:(Document Object Model)W3C组织推荐的解析XML的一种方式。 sax:(SImple API forXML...

日常小结-Junit、for循环、可变、枚举、eclipse快捷键

JUnit java测试类增强for循环可变参数类型枚举类型eclipse快捷键JUnit java测试类@Test 用于运行测试类。 @before/after用于分别运行与每个测试方法之前和...

日常小结-DOM4J解析XML文档

下面为DOM4J解析的方式。DOM4J有教程写的很好可以直接看快速开始。 另外DOM4J通常只需要一个.jar但是依然有很多支持.jar包,在使用DOM4J的时候如果提示找不到.jar类可以尝试添加...

日常小结-多线程的单例模式的三种实现方式

多线程单例模式在很多并发的书里面都有写。单例模式的分类饿汉模式:类初始化的时候就进行创建单例模式 懒汉模式:在调用getinstance方法的时候才创建单例;懒汉模式的问题在多线程的情况下可能会有多...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)