SQL语句
前段时间学的有关sql的相关知识,很多都没及时去整理,今天刚好有时间有没心情做其他的是,就整理整理吧
一直以为做开发的对数据库操作方面的要求不会很高,只要会对数据增删改查就ok了.现在才知道对数据库的操作还应该包括写存储和函数,还要创建序列、索引,视图等.
首先,还是讲序列, 序列是Oracle 9i提供的用于按照设定的规则自动产生数据的方案对象。在某些数据表的结构中,有些字段需要这种特性。比如,对于某个学生数据表的学号关键字段,用户可以希望在录入数据时,能够自动在上一个记录的学号字段上自动加1等.总之序列就是你为列设定你想要的增长方式
格式为:
create sequence hibernate_sequence <------序列名
increment by 1 <------步长
start with 1 <------开始值
maxvalue 999999 <----最大值
其次是视图, 视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列任一或所有功能:
将用户限定在表中的特定行上。
例如,只允许雇员看见工作跟踪表内记录其工作的行。
将用户限定在特定列上。
例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。
将多个表中的列联接起来,使它们看起来象一个表。
聚合信息而非提供详细信息。
例如,显示一个列的和,或列的最大值和最小值。
格式为
create view viewname
 
相关文档:
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count
(peopleId) >& ......
##################################################
# 声明:
# 本文转自CSDN,用户ID:htl258
# 原帖地址:http://blog.csdn.net/htl258/archive/2010/05/12/5582744.aspx
####### ......
##################################################
# 声明:
# 本文转自CSDN,用户ID:htl258
# 原帖地址:http://blog.csdn.net/htl258/archive/2010/04/28/5537432.aspx
####### ......
---用convert转换参数对比
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608
select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )
......