黑马程序员--学习笔记之SQL基础语句及函数
2012-06-24 15:20
726 查看
---------------------- Windows Phones 7手机开发、.Net培训、期待与您交流! ----------------------
SQL语句是和DBMS“交谈”专用的语句,不同DBMS都认SQL语法
SQL语句主要分类:
DDL 数据定义语言 Create table(新建表), Drop table(删除表) , Alter table(修改表)
DML 数据操作语言 select update insert delete (增删改查)
例子(摘自其它PPT):
为学生-课程数据库中的S、C、SC三个表建立索引。其中S表按学号升序建惟一索引,C表按课程号降序建立聚簇索引,SNO、CNO表按学号升序和课程号降序建非聚簇索引。
CREATE UNIQUE INDEX S_SNO ON S(SNO)
CREATE CLUSTERED INDEX C_CNO ON C(CNO DESC)
CREATE NONCLUSTERED INDEX SC_SNO_CNO ON SC(SNO ASC,CNO DESC)
常用增删改查语句格式:
select * from 表名 where 条件
insert into 表名 (字段1,字段2,....) values (值1,值2...)
update 表名 set 字段=值 where 条件
delete from 表名 where 条件
标准格式(摘自其它PPT):
SELECT语句的一般格式为:
SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]...
[INTO <新表名>]
FROM <表名或视图名>[,<表名或视图名>] ...
[WHERE <条件表达式>]
[GROUP BY <列名1> ... [HAVING <条件表达式>]]
[ORDER BY <列名2> [ASC|DESC]] ...
/*order by 排序 DESC 倒序, ASC升序
order by 跟 where 一起用时, where 必须放在order by 之前
group by 分组*/
2.插入单个元组的INSERT语句的格式为:
INSERT [INTO] <表名> [(<属性列1>[,<属性列2>]...)]
VALUES(<常量1> [,<常量2>]...)
3.修改操作又称为更新操作,其语句的一般格式为:
UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]...
[WHERE <条件>]
4.删除语句的一般格式为:
DELETE [FROM] <表名> [WHERE <条件>]
常用的函数
集合函数
count(*) 函数返回指定列的值的数目
max() 函数返回一列中的最大值, NULL 值不包括在计算中
min() 函数返回一列中的最小值, NULL 值不包括在计算中
avg() 函数返回一列中的平均值, NULL 值不包括在计算中
sum() 返回表达式中所有值的和或仅非重复值的和,SUM 只能用于数字列, NULL 值不包括在计算中
关于 NULL 的趣事
在数据库中,数据 “Null ”表示是一个不确定的数据,
比如: select null+1 的运行结果也是null,因为 一个不确定的数加上1,结果等于不确定的数
同样: select 'abc'+null; select * from T_Employee where FName<> null 等
在数据库有一个判断数据是否为null的函数:
Isnull(name,'unkown') 如果name为空, 就显示"unkown",如果name不为空就显示name的值
聚合函数的注意点
聚合函数不能出现在where子句中. 如果要用聚合函数做做条件,就必须要用Having
并且Having 要放在group by 之后.
Hvaing 是对分组后信心的过滤,能用的列和select中能用的列是一样. having不能代替where
过滤完全重复的信息
使用关键字" distinct " 过滤完全重复的信息.
union 两个查询结果,合并成一个结果. 两个查询的个数要一样, 类型要相同.
union与union all的相同点与不同点
union 会把完全重复的信息过滤掉
union all 可以完全合并起来. 不会过滤.
常用的数学函数
ABS() 就绝对值
Ceiling() (天花板函数)舍入到最大整数.3.33将被舍入为4,2.89将被舍入为3,-3.61将被舍入为-3
Floor() (地板函数)舍入到最小整数,3.33将被舍入为3,-3.61将被舍入为-4
Round() 四舍五入.select Round(3.1415,2) 结果是 3.1400
字符串函数
Len() 计算字符串的长度 len(' 123 ') 结果 5
Lower() 转小写,Upper() 转大写
Ltrim() 去掉字符串左边的空格,
Rtrim() 去掉字符串右边的空格.
Ltrim(Rtrim(' A ')) 去掉两边的空格.
Substring (string,start_position,length) 截取字符串长度,start_position为开始截取的位置,length为截取的长度
日期函数
GetDate() 获取当前日期时间
select DATEADD(mm,1,getdate()) 计算增加以后的日期
select DATEDIFF(HH,GETDATE(),DATEADD(DAY,-3,getdate())) 计算两个日期之间的差额.
select DATEPART(YEAR,getdate()) 获取指定日期, 结果 指定的年. 2011
数据转换函数
Cast (数据 as 类型)
Convert (类型 , 数据)
---------------------- Windows Phones 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看http://net.itheima.com/
SQL语句是和DBMS“交谈”专用的语句,不同DBMS都认SQL语法
SQL语句主要分类:
DDL 数据定义语言 Create table(新建表), Drop table(删除表) , Alter table(修改表)
DML 数据操作语言 select update insert delete (增删改查)
例子(摘自其它PPT):
为学生-课程数据库中的S、C、SC三个表建立索引。其中S表按学号升序建惟一索引,C表按课程号降序建立聚簇索引,SNO、CNO表按学号升序和课程号降序建非聚簇索引。
CREATE UNIQUE INDEX S_SNO ON S(SNO)
CREATE CLUSTERED INDEX C_CNO ON C(CNO DESC)
CREATE NONCLUSTERED INDEX SC_SNO_CNO ON SC(SNO ASC,CNO DESC)
常用增删改查语句格式:
select * from 表名 where 条件
insert into 表名 (字段1,字段2,....) values (值1,值2...)
update 表名 set 字段=值 where 条件
delete from 表名 where 条件
标准格式(摘自其它PPT):
SELECT语句的一般格式为:
SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]...
[INTO <新表名>]
FROM <表名或视图名>[,<表名或视图名>] ...
[WHERE <条件表达式>]
[GROUP BY <列名1> ... [HAVING <条件表达式>]]
[ORDER BY <列名2> [ASC|DESC]] ...
/*order by 排序 DESC 倒序, ASC升序
order by 跟 where 一起用时, where 必须放在order by 之前
group by 分组*/
2.插入单个元组的INSERT语句的格式为:
INSERT [INTO] <表名> [(<属性列1>[,<属性列2>]...)]
VALUES(<常量1> [,<常量2>]...)
3.修改操作又称为更新操作,其语句的一般格式为:
UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]...
[WHERE <条件>]
4.删除语句的一般格式为:
DELETE [FROM] <表名> [WHERE <条件>]
常用的函数
集合函数
count(*) 函数返回指定列的值的数目
max() 函数返回一列中的最大值, NULL 值不包括在计算中
min() 函数返回一列中的最小值, NULL 值不包括在计算中
avg() 函数返回一列中的平均值, NULL 值不包括在计算中
sum() 返回表达式中所有值的和或仅非重复值的和,SUM 只能用于数字列, NULL 值不包括在计算中
关于 NULL 的趣事
在数据库中,数据 “Null ”表示是一个不确定的数据,
比如: select null+1 的运行结果也是null,因为 一个不确定的数加上1,结果等于不确定的数
同样: select 'abc'+null; select * from T_Employee where FName<> null 等
在数据库有一个判断数据是否为null的函数:
Isnull(name,'unkown') 如果name为空, 就显示"unkown",如果name不为空就显示name的值
聚合函数的注意点
聚合函数不能出现在where子句中. 如果要用聚合函数做做条件,就必须要用Having
并且Having 要放在group by 之后.
Hvaing 是对分组后信心的过滤,能用的列和select中能用的列是一样. having不能代替where
过滤完全重复的信息
使用关键字" distinct " 过滤完全重复的信息.
union 两个查询结果,合并成一个结果. 两个查询的个数要一样, 类型要相同.
union与union all的相同点与不同点
union 会把完全重复的信息过滤掉
union all 可以完全合并起来. 不会过滤.
常用的数学函数
ABS() 就绝对值
Ceiling() (天花板函数)舍入到最大整数.3.33将被舍入为4,2.89将被舍入为3,-3.61将被舍入为-3
Floor() (地板函数)舍入到最小整数,3.33将被舍入为3,-3.61将被舍入为-4
Round() 四舍五入.select Round(3.1415,2) 结果是 3.1400
字符串函数
Len() 计算字符串的长度 len(' 123 ') 结果 5
Lower() 转小写,Upper() 转大写
Ltrim() 去掉字符串左边的空格,
Rtrim() 去掉字符串右边的空格.
Ltrim(Rtrim(' A ')) 去掉两边的空格.
Substring (string,start_position,length) 截取字符串长度,start_position为开始截取的位置,length为截取的长度
日期函数
GetDate() 获取当前日期时间
select DATEADD(mm,1,getdate()) 计算增加以后的日期
select DATEDIFF(HH,GETDATE(),DATEADD(DAY,-3,getdate())) 计算两个日期之间的差额.
select DATEPART(YEAR,getdate()) 获取指定日期, 结果 指定的年. 2011
数据转换函数
Cast (数据 as 类型)
Convert (类型 , 数据)
---------------------- Windows Phones 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看http://net.itheima.com/
相关文章推荐
- 黑马程序员-自己总结的java学习笔记(2)java语句基础。
- 黑马程序员之SQL server基础学习笔记(五)
- java 从零开始,学习笔记之基础入门<SQL_Server_视图_函数_存储过程_触发器等>(二十三)
- 黑马程序员之SQL学习笔记: SQL排列函数
- 黑马程序员之ADO.NET学习笔记:通过SqlCommand对象执行SQL语句
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- 黑马程序员,SQL基础学习笔记
- 黑马程序员之SQL server基础学习笔记(四)
- 黑马程序员之SQL server基础学习笔记(一)
- 黑马程序员之SQL 学习笔记:T-SQL语句的使用和编写
- 黑马程序员——SQL基础学习笔记
- Oracle PL/SQL语句基础学习笔记(上)
- 黑马程序员_C#基础知识学习笔记:条件语句
- MySQL学习笔记---基础概念和一些基础SQL语句(一)
- 黑马程序员 学习笔记——SQL查询语句大全
- 黑马程序员_java基础学习笔记03_函数以及数组知识
- T-SQL学习笔记-程序设计基础-流程控制语句
- 黑马程序员_java基础学习笔记02_选择结构和循环语句语句
- SQL语句:基础语句和高级函数学习总结
- JavaScript基础学习笔记(二)——操作符、语句、函数