黑马程序员--学习日记
数据库,分为不同品牌的的数据库管理系统(Data Base Management System),大家常犯的错误就是,把SQL认为是微软的数据库管理系统,实际上却不是,呵呵很奇怪,我之前也这么认为!
关于数据库方面的东西,增删改查就不说了,就把自己刚刚扫盲得来的东西记录下来吧……
1.Guid
在此之前知道有这么一回事,也知道它是怎么产生的,也知道不会重复,只是不知道在数据库中怎么找到它,呵呵现在弄明白的,在数据库中,可以用newid()函数,来获取一个不会重复的序号。在C#语法中也可以获得:Guid id = new Guid();id就是我们要找的东西啦……
2.NULL
在此之前,开发过程中,确实遇到不少的问题,都是在这个地方,以前老师也有讲过,不明白,再问,就把老师也给绕了。这个视频说的相当好,就是“不知道”的意思!这样来想,以前想的那些不通,现在全部豁然开朗了……在判断是不是NULL的时候,要用 where name is null ,却不能用where name = null,在这里把null当做“不知道”来解释,就非常的易懂了。
3.Having
之前没有见过这个关键词,不过这里还算好理解的,视频里有一个很好的例子:select fAge,count(*) from T_Employee group by Age Having count(*)>1,如果没有Having 模块,将无法对数据经行过滤,相当于where ,但是在这里却不能使用where呵呵而且Having后面的就字段,只能是在select后面的字段。
4.distinct
以前不知道去重复还可以这么来:select distinct department from table,会把重复数据去掉,只保留一个。但是,这个关键词,是对记录整条判断的,也就是说,要是只有一个字段重复,是不会被去掉的。
5.union
居然可以把两个表上下连接起来!就是使用这个词!但是,有条件哦,select 列1,列2 from 表1 union select 列3,列4 from 表2,这就是语法,要求:两个表的字段数量要一样;对应的字段的数据类型也要一样!老师在视频里还说了,如果不要求去重复的话,最好再加一个词,就变成了:select 列1,列2 from 表1 union all select 列3,列4 from 表2,这样,速度就会比较快了,呵呵。
6.ISNULL()函数
其实这个函数很简单的,例如:ISNULL(name,"无名称"),如果这个字段为NULL,则返回"无名称",否则就是这个字段的值,这样,用起来就很简单了。
7.case
呵呵这一点,和C#中的语法很像,不过,在开发winform应用程序的时候,就不要用这个啦,都用这个做判断,服务器的压力会很大,只是要是做网站就没办法了,语法:
case expression
when value1 then returnvalue1
when value2 then returnvalue2
...
when valuen then returnvaluen
else
returnvalues
end
也不难的,呵呵都已经用过了……
8.Jion
就是在逻辑上连接表,自己能够理解,或许表述的不太准确,这个就经常用了,如果这个都不会,那就不用做开发啦,只是不太清楚,表与表之间的连接,如果次序颠倒,会不会影响性能……呵呵下一篇博文再说这个问题。
希望明天能学到更多……