---------------------- 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 条件
- SELECT语句的一般格式为:
/*order by 排序 DESC 倒序, ASC升序SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]...[INTO <新表名>]FROM <表名或视图名>[,<表名或视图名>] ...[WHERE <条件表达式>][GROUP BY <列名1> ... [HAVING <条件表达式>]][ORDER BY <列名2> [ASC|DESC]] ...
order by 跟 where 一起用时, where 必须放在order by 之前
group by 分组*/
2.插入单个元组的INSERT语句的格式为:
INSERT [INTO] <表名> [(<属性列1>[,<属性列2>]...)]3.修改操作又称为更新操作,其语句的一般格式为:VALUES(<常量1> [,<常量2>]...)
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
并且Having 要放在group by 之后.
Hvaing 是对分组后信心的过滤,能用的列和select中能用的列是一样. having不能代替where
- 过滤完全重复的信息
使用关键字" distinct " 过滤完全重复的信息.
union 两个查询结果,合并成一个结果. 两个查询的个数要一样, 类型要相同.
union 两个查询结果,合并成一个结果. 两个查询的个数要一样, 类型要相同.
- union与union all的相同点与不同点
union all 可以完全合并起来. 不会过滤.
- 常用的数学函数
ABS() 就绝对值Ceiling() (天花板函数)舍入到最大整数.3.33将被舍入为4,2.89将被舍入为3,-3.61将被舍入为-3
Floor() (地板函数)舍入到最小整数,3.33将被舍入为3,-3.61将被舍入为-4Round() 四舍五入.select Round(3.1415,2) 结果是 3.1400
- 字符串函数
Lower() 转小写,Upper() 转大写
Ltrim() 去掉字符串左边的空格,
Rtrim() 去掉字符串右边的空格.
Ltrim(Rtrim(' A ')) 去掉两边的空格.
Substring (string,start_position,length) 截取字符串长度,start_position为开始截取的位置,length为截取的长度
- 日期函数
select DATEADD(mm,1,getdate()) 计算增加以后的日期
select DATEDIFF(HH,GETDATE(),DATEADD(DAY,-3,getdate())) 计算两个日期之间的差额.
select DATEPART(YEAR,getdate()) 获取指定日期, 结果 指定的年. 2011
- 数据转换函数
Cast (数据 as 类型)
Convert (类型 , 数据)
Convert (类型 , 数据)
---------------------- Windows Phones 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看
http://net.itheima.com/