zoukankan      html  css  js  c++  java
  • ASP.NET第三天数据库知识

    第三天

    一、复习:

    1.约束

    2.聚合函数

    Max()

    Min()

    Sum()

    Avg()

    Count()

    3.分组 group by  分组以后的筛选用having

    4.排序 order by 列名 asc/desc

    Order by c1  ascc2 desc

    5.类型转换

    Convert(数据类型,表达式,【style】)

    Cast(表达式 as 数据类型)

    6.去除重复distinct

    a) Top  n   向上取整如果是小数,则取比小数大的最小整数

    b) Top  n  percent

    7.模糊查询

    a) Like dddd% 表示前面是dddd的后面有或没有字符的

    b) 下划线,表示一个或多个

    c) [ _ ] [0-9] [^axt] 括号中的_下划线不再是通配符,后面的表示0-9之间的整数,最后的表示非

    8.空字符

    a) Name=null

    b) Name is null

    c) Name is not null

    9.区间

    a) Age=1or age=2 or age=3

    b) Age in1,2,3

    c) Age>=10 and age<=60

    d) Age between 10 and 60

     

    二、使用union联合数据是时候

    1.必须保证多个查询的列的个数相同

    2.必须保证多个查询的列的数据类型一一对应(至少是可以隐式转换的)

    3.使用union的时候如果不加all关键字,则会默认去掉重复数据,要想保留重复数据,要加上all关键字

    4.如果没有特别需要要求去除重复,则使用union all,这样相对的比较高效

     

    查询结果连接之后的输出结果:

     

     

    三、一次插入多条数据

    在这里创建一个新表: 主键不会被拷贝

     

    对已经存在的表中一次插入多条记录:

     

     

    将数据库中的一张表导入另一张表

     

    从数据库ItCastCn中的tblstudent表,导入到另一数据库

     

    四、函数的应用

    1. LEN() :计算字符串长度(字符的个数。)

    2. datalength();//计算字符串所占用的字节数

    3. LOWER() UPPER () :转小写、大写

    4. LTRIM():字符串左侧的空格去掉 

    5. RTRIM () :字符串右侧的空格去掉 

    6. LTRIM(RTRIM('         bb        '))

    7. LEFT()RIGHT()  截取取字符串

    8. SELECT LEFT('abcdefg',2) 

    9. SUBSTRING(string,start_position,length),索引从1开始。

    10. Trim 去除空格 ltrim 去除左边的空格 rtrim 去除右边的空格

     

    日期函数:

    Getdate ()

    为张雅的生日加上100个月,day是天,year是年

     

    找出所有入职一年以上的人

    Select*from 表名 where  dateaddyear1,入职日期)<getdate()

     

    求学生的真实年龄datediff 时差

    Select  datediff ( year,生日,getdate()) as 实际年龄from  表名

     

    找到学生的生日

    Datepart 返回一个特定的值

     

    简单的写法: 只是单独比较了月和日

     

     

    输出所有数据中通话时间最长的5条记录

     

     

     

    输出本月通话总时长最多的前三个呼叫员的编号;

    1.限制本月

     

    2.计算通话时长

     

    3.设计思想,不要想着一次写完,分部来写,也许会更好写出;

    4.简单的限制本月的代码是:

     

    输出本月拨打电话次数最多的前三个呼叫员的编号

     

    五、ADO.NET组成

    数据提供程序(常用类)

    Connection,用来连接数据库

    Command,用来执行SQL语句

    Datareader 只读、只进 的结果集,一条一条的进行处理

     

     

    VS中要导入这么两个引用

    1.连接数据库   通过SQL Server的身份验证方式登录

    a) 连接字符串。连接字符串的作用:告诉connection对象要连接的服务器

     

    b) Zxtige是计算机名,CZBK表示数据库

    c) 使用连接对象

     

     

    2.打开连接  (只有调用open方法的时候才表示开始连接数据库)

     

    数据库的连接不能重复打开,需要先将上次打开的连接关闭,然后在打开

    每次打开连接的时候可以先判断一下,这个连接是否已经关闭,如果已经关闭,在再次打开

     

     

    3.关闭连接

     

     

    4.释放资源

     

     

    通过using创建连接对象

     

    通过windows身份验证方式来登录

    String constr =data source=zxtigerinitial catalog =czbkintegrated security=true

     

    可以自动生成连接字符串

     

     

    在表中插入一条记录:

    1.执行SQL语句

    a) 构造SQL语句

    b) String sql =“在SQL中编写的出入语句,格式不用改变”;

     

    2.执行下面的语句

    在打开数据库连接时,可以将打开语句放在下面的语句中,可以在用的时候才打开,用完马上就能关闭,节省系统资源;

     

    当使用ExecuteNonQuery()来执行select

     

     

     

    读取表中的数据:

     

    Hasrows 是一个属性,当服务器返回reader的时候,如果一条数据也没有,则直接返回false,客户端判断的时候,就能知道是否有数据;

    而通过调用readerRead()方法,还需要亲自去服务器取一次数据,

     

     

     

    打开系统视图:

    Select*from sysobjects where xtype=u and name=test

    select* from syscolumns 

    Select* from systypes 

    输出的结果是,自己定义的数据类型,所对应的系统数字

    PS:一个还在苦苦学习的中高级Asp.Net软件开发工程师,学习会犯困的那种
  • 相关阅读:
    jpa summary
    web service 参考文档
    jap 事务总结
    jap 事务
    PriorityQueue优先队列深入解析(含源码分析,方法使用)
    【LeetCode】703.数据流中的第K大元素(二叉搜索树解法,java实现)
    做移动端的你竟然不知道Flex布局?快来看看!
    【LeetCode】450.删除二叉搜索树中的节点(java实现,详细图解)
    #linux vscode 保存总提示“Retry as sudo”
    java 面向对象(十八):包装类的使用
  • 原文地址:https://www.cnblogs.com/mafacai/p/2822420.html
Copyright © 2011-2022 走看看