• 数据索引及函数


    一、索引

    (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表变为:

  • 相关阅读:
    数据特征分析:5.相关性分析
    数据特征分析:4.正态分布与正态性检验
    go-文件操作
    图-迪杰斯特拉算法
    图-克鲁斯卡尔算法
    图-普利姆算法
    go-客户信息关系系统
    go-家庭收支记账软件例子
    采用邻接表表示图的深度优先搜索遍历
    广度优先搜索遍历连通图
  • 原文地址:https://www.cnblogs.com/dawasai/p/4217668.html
Copyright © 2020-2023  润新知