MySQL和SQL Server数据库基本语句总结(二)

接着上面的总结,这一篇主要是MySQL剩下的内容(我用的不多,记下来,防止自己忘记)

1.关于触发器

  解释   类似于C++中的事件触发,在一个事件发生后会执行里面的代码 (before /after)

  语法

单行

  create trigger ___ after update on ___ 

  for each row  //对于每行监听

   ___(可执行代码 增删改查)

   ;  

多行

 delimiter $$  //改变结束字符

  create trigger ___ after update on ___

  for each row

   begin

  //执行语句

   end

   $$

  delimiter ;

上面是主要语法,还有 old和new的使用 old.  new.  分别是事件发生之前的表里的数据 和发生之后的表里的数据 

2.关于建立视图

我的理解 视图就是一个虚拟的表(一般设置视图中的数据改变 是不会改变原表的,但是可以改变)  视图就是将能给出的数据给别人看 隐藏不能给出的

//视图可以和表一样正常操作

主要语法

create view ____

as

{一个SELECT 语句};

drop view ___;

视图会占用内存空间 不用的话要删除视图

3.关于事务处理

这是个高级的东西,作为新手的我,基本不怎么用,但是这的确是个NB的东西,但是函数用的非常简单

  基本特征  1.原子性 2.一致性 3.隔离性 4. 持久性

事务就相当于给这一行的数据上个锁,此时只能一个人操作,而且未提交的时候其他的客户看表的数据不会发生变化,一旦出现错误会回到之前的状态。 (使用INNODB的事务处理机制)

语法

1.set autocommit = (1. 开启 0 .关闭)

2.停止自动提交    后面 提交  commit 否则 执行 回滚操作 rollback 

3. 换种方式 start transaction  开启事务 (主要的还是在PHP中使用)

4.其他

  建立变量

  两种方式

  1. select 1,2,3 into @a,@b,@c;

  2. select ___ from ___ where into @tmp  //注意 只能将一个数据放入 多的话 只会放入最后一行的数据

  3.定义局部变量

    语法

    declare i int default 0;    类似 数据的定义  加上DECLARE 局部变量在使用的时候不要加@

  建立函数

  在数据库中建立函数,用的不多

  语法

  delimiter $$

  create function sayhello() returns varchar(20)

  begin

  return "1111111111111";

  end

  $$

  delimiter ;

 举个都使用的例子

  create function sum1() returns int

  begin

  set @i=1; //建立全局变量

  set @sum=0; 

  while @i<=10 do  //使用循环

          set @sum=@sum+@i;

          set @i=@i+1;

   end while; //结束循环  这里 多层循环使用时必须给每个循环 定义一个名字 然后 结束

  returm @sum;

  end

 当然这上面仅仅是在MySQL中的一些简单用法的总结,后面是PHP中的使用 。

原文地址:https://www.cnblogs.com/fightfuture/p/3469849.html