zoukankan      html  css  js  c++  java
  • 数据索引及函数

    一、索引

    (1)、簇索引

    建主键时建成的索引

    (2)、非簇索引

    可以设置多个,最多249个

    创建索引命令格式:

    CREATE [UNIQUE] [CLUSERED] [NONCLUSTERED] INDEX index_name   --UNIQUE 唯一索引 CLUSERED 簇索引 NONCLUSTERED 普通索引

       ON table (column[ ASC | DESC ])

    二、视图

    操作:

    视图——>右键新建——>在最下边的框中输入SQL语句执行——>保存

    可以像表一样使用、操作视图

    例:1、将select xinxi.Code,xinxi.Name ,minzu.name ,xinxi.Sex,xinxi.Birthday from xinxi join minzu on xinxi.Code=minzu.Code  这条语句在视图中执行得

    2、保存,输入一个新名XueSheng

    3、然后,XueSheng相当于一个新表一样,可以查询,可以进行和其他的表一样的操作。

      

    三、函数

    1、LEN  (判断字符串的长度)

    格式:

    LEN(string expression)

    2、LEFT 和 RIGHT   (截取)

    LEFT:  左字符串函数

    格式:LEFT(列名,个数) from 表名

    RIGHT:  右字符串函数

    格式:RIGHT(列名,个数) from 表名

    3、LOWER和UPPER

    格式:

    LOWER(character_expression) : 将所有字母转换为小写字母

    UPPER : 将所有字母转换为大写字母

    4、DATEDIFF

    功能:求两个日期之间的差值

    格式:DATEDIFF(datepart,startdape,enddate)    --相当于enddate-startdape

    例:检索学生年龄

    SELECT  DATEDIFF(YEAR,CSRQ,GETDATE())AS AGE,CSRQ FROM  STUDENT

    5、DAY、MONTH、YEAR

    格式:DAY(data)

    去指定日期的日 

    格式:MONTH(data)

    去指定日期的月

    格式:YEAR(data)

    去指定日期的年 

    例:检索学生年龄

    SELECT  YEAR(GETDATE()-YEAR(CSRQ))AS AGE,CSRQ FROM  STUDENT

    6、数值函数

    (1)、CEILING  天花板数  (返回大于或等于所给数字的最小整数)

              FLOOR  地板数  (返回小于或等于所给数字的最大整数) 

    (2)、RAND

      返回0到1之间的随机float数

     (3)、CAST...AS函数     (类型转换)  --也可以用CONVERT

      格式:CAST(expression AS data_type)

    例:BIRTHDAY=1997-8-28

    CAST ( YEAR(BIRTHDAY) AS varchar(10) +'年'+MOUTH(BIRTHDAY) AS varchar(10) +'月'+DAY(BIRTHDAY) AS varchar(10) +'日') 

    执行完后日期变为:1997年8月28日

    存储过程

    操作:打开表所在的数据库——>打开可编程性(看到存储过程)——>在存储过程上右击新建——>从CREATE PROCEDURE开始写程序 

    1、创建

    CREATE PROCEDURE  函数名            

      ...... (相当于函数的形参)......                  --格式: @变量名   变量类型

    AS

    BEGIN

        .....函数体...

    END

    2、调用

    存储过程名  '.... ','...插入内容...','......',......           --插入的内容与上边格式里的形参一一对应

    3、存储过程的类型:

    (1)、无参数

    (2)、带参数

    (3)、指定参数默认值

    (4)、使用输出参数:

    程序代码:

    执行语句:

    输出结果为:5

    4、动态查询:

    程序代码:做一个分页的程序

    执行语句:

     执行结果:

    例:现有FRUIT、Login、OrderDetails三个表

    要求写一个购物车的存储过程:输入用户名、密码、水果代号、水果数量

    1、如果用户名或密码不正确,输出'用户名或密码错误'

    2、如果水果数量不足,显示'水果库存不足'

    3、如果账户余额不足,显示'余额不足'

    4、如果以上问题都没有,就向OrderDetails表中添加数据,其中OrderCode设成 '用户名+当前时间

    表如下

    FRUIT表:

    Login表:

       '

    OrderDetails表:

    存储过程程序如下:

    执行存储过程:

    FRUIT表变为:

    Login表变为:

    OrderDetails表变为:

  • 相关阅读:
    SpringBoot 项目 打包为 Docker镜像
    0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
    注册k8s到rancher时 agent pods一直处于containercreating状态
    linux查看磁盘使用情况
    linux修改系统时间、时区
    windows 添加路由
    Notebook Docker 安装spark环境
    openlayers6加载天地图混乱问题
    Oracle 高效分页
    VSCode 终端无法打开
  • 原文地址:https://www.cnblogs.com/dawasai/p/4217668.html
Copyright © 2011-2022 走看看