zoukankan      html  css  js  c++  java
  • SQL数据库知识二(Day 25)

    又到了总结知识的时候了,今天主要把SQL数据库给简单的学完了,明天开始就要开始学ADO.NET的知识了。好了,话不多说,还是看一下今天都学了哪些内容。

    1  字符串类型的知识点

    --类型的使用
    
    --截取字符串
    
     select 姓名,substring(姓名,1,1) as 姓氏,substring(姓名,2,2)as 名字 from 职工
     --substring(express,start,length)  
    --express:字符串 start:整数 制定字符串分割的开始位置 length: 分割的长度
    
    --大小写的转换
    select 仓库号,UPPER(仓库号) as 仓库号大写,面积 from 仓库
    
    select 仓库号, lower(仓库号) as 仓库号小写,面积 from 仓库
    
    --转换
    
    select 仓库号,CONVERT (char(10),创建时间,111) as 创建时间 from 仓库  --将datatime转换为字符串。
    --111的显示格式:mm/dd/yy 

    结果是:

     补充:

    2.聚合函数以及分组

    3 查询语句

     (1)简单查询

    --查询
    
    select 城市,面积 from dbo.仓库                             --查询仓库表中的城市,面积
    
    select 仓库Id,仓库号,城市,面积,创建时间 from dbo.仓库      --查询仓库表中的所有列
     
    select * from dbo.仓库                                     --查询仓库表中的所有列(这里不建议用*,因为会影响计算机的性能)
    
    select  distinct(城市) from 仓库                          --去除重复的列值
    
    select 姓名,性别,工资,涨后工资=工资*1.1 from 职工         --计算添加的列
    
    select 姓名 as name from 职工                             --将姓名列名改为name(这里只是显示出来name,在表结构中是未改的)
    
    select 姓名,性别,工资 from 职工 where 姓名='吴平安'      -- 查找姓名为吴平安的信息
    
    select 姓名,性别,工资 from 职工 where 姓名!='吴平安'     --查找姓名不为吴平安的信息(这里不等于“!=” or “<>”)
    
    select * from dbo.职工 where 工资>1500 and 性别=''    --查找工资大于1500并且性别为男的信息
    
    select * from 仓库 where not(城市='上海' or 城市='济南') --查找城市不是上海或济南的仓库信息
    
    select * from 职工 where 工资 not  between 1200 and 1800 --查找不在范围内的信息
    
    select * from dbo.仓库 where 城市 is  null               --查找城市为空的仓库信息
    
    --模糊查询
    --“%:可以是多个字符”
    --“_:只能是一个字符”
    select * from 职工 where 姓名  like '%平%' and 工资 between 1000 and 2000
    select * from 职工 where 姓名 like '_平_'
    
    --排序
    select * from 职工 order by 工资 ASC,仓库号 DESC
    select * from 职工 order by 工资 desc
    
    select * from 职工 order by NEWID()                     --随即排序
    
    select top 10 percent * from  职工                        --查找记录的前10%

    (1)表查询和插入、修改、删除记录

    --连接查询
    
    select 姓名,职工号,工资,城市 from 职工,仓库      --笛卡尔积  这种查询很少用
    
    --多表连接
    
    select 姓名,工资,城市 from 职工,仓库 where 职工.仓库号=仓库.仓库号
    
    --内连接(inner join)
    
    select 姓名,城市 from 职工 inner join 仓库 on 职工.仓库号=仓库.仓库号
    
    --左连接(left join)
    select 姓名,城市 from 职工 left join 仓库 on 职工.仓库号=仓库.仓库号    --只显示左表(职工)的数据和仓库表中仓库号相对应的数据
    
    --右连接(right join)
    select 姓名,城市 from 职工 right join 仓库 on 职工.仓库号=仓库.仓库号   --只显示右表(仓库)的数据和职工表中仓库号相对应的数据
    
    --全连接(full join)
    select 姓名,城市 from 职工 right join 仓库 on 职工.仓库号=仓库.仓库号   --两个表中的数据都会显示
    
    
    
    --插入记录
    insert into 职工(职工号,姓名,性别,工资) values('zg20','cindy','','2000') --插入一条记录
    insert into 职工(职工号,姓名,性别,工资) values('zg21','莱恩','','2050'), --插入多条记录
    ('zg22','阿萨德','','2150'),
    ('zg23','张三','','1909')
    
    --修改记录
    update 仓库 set 面积=888,创建时间='2014-12-09' where 仓库号='wh2'     
    
    --删除记录
    -->删除信息
    delete   仓库 where 仓库号 in('wh1','wh2')  --删除多条记录
    
    drop table 仓库                   --删除仓库表
    
    truncate table 仓库              --清空仓库表中的数据

    补充:delete 表名 where 条件                     

            drop table 表名

            truncate table 表名

    区别:

    DELETE  是有条件的删除表中的数据,如果不写条件,全表删除,而删除后,表仍然存在,仍可以对表进行操作。被删除的数据存储在事务日志文件中。delete from删空表后,会保留一个空的页
     
    DROP TABLE,是从数据库中删除表。删除后,表结构不在存在,无法再对该表进行任何操作。
     
    truncate 清空数据,不可以写where条件,truncate在表中不会留有任何页。在删除记录时,SQL Server系统将释放表中记录和索引占据的存储空间,但不会把这些变化过程记录在事务日志文件中。
     
     
    感觉今天老师讲的也不多,只不过这些知识都很碎,然后在学校也接触过,所以学起来不是很困难。明天就要开始学习ADO.NET知识了,所以首先先来了解下什么是ADO.NET
     
       ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。简单来说,ADO就是用来访问数据库的。一般是有四步:1:连接字符串 2:打开连接 3:执行数据库sql语句 4:返回执行结果
     
     好了,关于如何来操作,明天再继续总结吧。加油!
     
  • 相关阅读:
    bzoj 3339 莫队
    E. XOR and Favorite Number
    HDU 2222 AC自动机
    SPOJ 694 不同子串个数
    Codeforces Round #428 (Div. 2)
    HDU 6103
    《贪婪的动态规划》
    《浅谈图论模型的建立与应用》
    bzoj 2194 快速傅里叶之二
    java中高级面试题整理及参考答案
  • 原文地址:https://www.cnblogs.com/ysaw/p/4154220.html
Copyright © 2011-2022 走看看