SQL-基础在深入

时间:2020-05-25
本文章向大家介绍SQL-基础在深入,主要包括SQL-基础在深入使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

SQL-基础在深入

SQL视图

视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

--保存视图
    create view 视图名字 as SQL查询语句
    --保存查询的结果形成一张虚拟表
    
--查询视图
    select * from 视图名字
    --视图只允许查看,不允许执行DML语句
    
--删除视图
    drop view 视图名字

 

判断

--在sql语句中有两种判断形势 if()函数  case-when 语句
    --if()函数
    if(条件,真执行sql语句,假执行sql语句) as 别名

    --case-when 语句
    case when 条件语句 
        --对列名进行判断
        then 真执行sql语句
        else 假执行sql语句
    end
            --注意结尾一定有end
            
    --与sum()函数配合使用 统计条件人数

存储过程

为了完成某个特定的功能而执行的一组(一条SQL语句或多条SQL语句)SQL代码 ,然后把他们保存下来。 所以取名为存储过程

--创建存储过程
    delimiter //
    --修改结束标识符
    --修改mysql命令行的语句结束标识符为了执行存储过程创建语句
    
    create procedure 存储过程名称([参数列表]) begin
        sql代码;
        --每一集sql语句都要以;结束
        --在dos系统中需要修改结束符
    end //
    
    delimiter ;
    --修改后使用完成需要修改回;
    

--调用存储过程
    call 存储过程名称(参数列表);
    
--删除存储过程
    drop procedure 存储过程名称;
    
    
 

数据中的变量

变量的分类

  1. 局部变量

    begin~end之间的变量,只在这之间有效

  2. 用户变量

    用户自定义的变量 @变量名 对当前客户端(当前页面)有效

  3. 会话变量

    客户端连接到Mysql服务器到关闭连接的过程,被称为一个会话

  4. 全局变量

    super才能设置 作用于整个服务器生命周期

--声明局部变量
    create procedure 存储过程名称([参数列表]) begin
        declare 变量名 数据类型 [defalut 默认值];
        --char(3) / 三个字符
        --now() / 获得当天时间
        
        set 变量名 : = 变量值;
        --给变量赋值
        --CONCAT() / 字符串拼接
    end
    
--设置用户变量
    set @用户变量 := '用户变量';.4
    
--select into 语句
    --把选定的列的值存放至变量中,只有单一的行可以被取回
    select 列名1,列名2,列名3,... into 变量1,变量2,变量3,... 
        from 表名 where 条件

变量的选择判断语句

if 条件语句 then
    真执行sql语句;
else 
    假执行sql语句;
end if;

其他

  1. select * from dual / dual : 虚拟表

  2. 数据库中没有 ==

  3. not in / 不包含

原文地址:https://www.cnblogs.com/-Archenemy-/p/12961250.html