zoukankan      html  css  js  c++  java
  • ASP.NET学习笔记:数据库操作 (2009.11.10)

    从表中随即取出10条记录:

    select top 10 * from dbo.Products order by newid()

    复制表:不知道此处的where 1<>1是什么意思,但是第一句是把数据和结构一起复制到新表中,而第二句只是把表结构复制到新表中,数据并没有复制过去。

    (注意:user3和user4是自动新建的表,不是数据库中已经存在的表)

    select * into user3 from user1   --(所影响的行数为 3 行)
    select * into user4 from user1 where 1<>1 --(所影响的行数为 0 行)

    把表user1中的数据复制到user4中,注意,这里user4是数据库中已经存在的表,这个语句不会自己新建表。

    insert into user4 select * from user1

    存储过程(store procedue):

    存储过程只在创造时进行编译,以后每次执行存储过程都不需要在重新编译,而一般的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

    当对数据库进行复杂操作时,如对多个表进行Update,Insert,Query,Delete时,可将此复杂操作用存储过程封装起来,与数据库提供的事务处理结合一起使用。

    游标(cursor):

    从结果集中逐一地读取一条记录

    游标操作有4个基本步骤:声明游标,打开游标,提取数据,关闭游标。

    Code

    scroll 表示可随意移动游标指针,否则游标只能向前移动

    dynamic 表示可以读写游标,否则游标为只读

    游标的使用可能导致并发性能降低,并可能导致不必要的锁定或堵塞,因此尽量使用只读游标。

    SQL Server中,局部变量以@开头,全局变量以@@开头。

    触发器(Trigger):

    触发器是一种特殊类型的存储过程,它在指定表中的数据发生变化时自动执行,可以以insert,update或delete语句作为触发条件,触发器可以在这些语句执行之前或执行之后自动执行。

    Code

    连接池:

    在Web应该系统中,每一次数据访问请求都必须经历建立数据库连接,打开数据库,存取数据和关闭数据库连接等步骤,打开与关闭数据库都是比较耗时的。为此,ASP.NET自动将数据库连接存放在连接池中。连接池可以大幅度提供程序的性能和效率,用户不必等待建立全新的数据库连接过程,而是直接利用现成的数据库连接。

  • 相关阅读:
    寒假作业(二)
    关于寒假的自学计划
    关于Markdown格式转PDF格式
    关于‘1001.A+B Format (20)’的解题报告
    第一次撰写博客——一切的一切才刚刚开始
    第八章 Django框架——ORM介绍之多表操作
    第七章 Django框架——ORM介绍之单表操作
    第六章 Django框架——ORM介绍之创建表
    第五章 Django框架——模板层Templates
    第四章 Django框架——视图层views
  • 原文地址:https://www.cnblogs.com/niuniu1985/p/1599642.html
Copyright © 2011-2022 走看看