码迷,mamicode.com
首页 > 数据库 > 详细

SQL数据库知识二(Day 25)

时间:2014-12-09 22:40:44      阅读:507      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   ar   color   os   使用   sp   

又到了总结知识的时候了,今天主要把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 

 

结果是:

bubuko.com,布布扣

 

 补充:

bubuko.com,布布扣

 

 

2.聚合函数以及分组

bubuko.com,布布扣

 

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:返回执行结果
 
 好了,关于如何来操作,明天再继续总结吧。加油!
 

 

SQL数据库知识二(Day 25)

标签:des   style   blog   http   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/ysaw/p/4154220.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!