zoukankan      html  css  js  c++  java
  • 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中的使用 。

  • 相关阅读:
    scala之伴生对象的继承
    scala之伴生对象说明
    “Failed to install the following Android SDK packages as some licences have not been accepted” 错误
    PATH 环境变量重复问题解决
    Ubuntu 18.04 配置java环境
    JDBC的基本使用2
    DCL的基本语法(授权)
    ZJNU 1374
    ZJNU 2184
    ZJNU 1334
  • 原文地址:https://www.cnblogs.com/fightfuture/p/3469849.html
Copyright © 2011-2022 走看看