机房收费系统D层很大部分的代码是关于SQL语句的,在看新闻发布系统的时候D层的操作和机房差不多,只是牛腩新闻发布系统中的SQL语句比机房的时候用的稍微高级一些。所以这次把SQL语句中的知识点在总结下!
首先:
SQL语句对大小写不敏感。
次之:
可以吧失去了分为两个部分:数据库操作语言(DML)和数据库定义语言(DDL)。
然后;
查询和更新指令构成了SQL的DML部分
select 从数据库中获取数据
update 更新数据表中的数据
delete 从数据库表中删除数据
insert into 向数据库表中插入数据
SQL中重要的DDL语句:
create datatable -创建数据库
alter database -修改数据库
create table-创建新表
alter table-变更数据库表
drop table 删除表
create index 创建索引
drop index 删除索引
详细总结下select 语句
单个表的查询
一.Select语句的完整语法为:
Select[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
FROM tableexpression[,…][IN externaldatabase]
[Where…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]
二、 ALL、DISTINCT、DISTINCTROW、TOP谓词
(1) ALL 返回满足SQL语句条件的所有记录。如果没有指明这个谓词,默认为ALL。
例:Select ALL FirstName,LastName
FROM Employees
(2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。
(3) DISTINCTROW 如果有重复的记录,只返回一个
(4) TOP显示查询头尾若干记录。也可返回记录的百分比,这是要用 TOP N PERCENT子句(其中N 表示百分比)
三、Where 子句指定查询条件
1 比较运算符
比较运算符 含义
= 等于
〉 大于
〈 小于
〉= 大于等于
〈= 小于等于
〈〉 不等于
!〉 不大于
!〈 不小于
例:返回96年1月的定单
Select orderID, CustomerID, orderDate
FROM orders
Where orderDate〉#1/1/96# AND orderDate〈#1/30/96#
注意:
Mcirosoft JET SQL 中,日期用‘#’定界。日期也可以用Datevalue()函数来代替。在比较字符型的数据时,要加上单引号’’,尾空格在比较中被忽略。
例:
Where orderDate〉#96-1-1#
也可以表示为:
Where orderDate〉Datevalue(‘1/1/96’)
使用 NOT 表达式求反。
例:查看96年1月1日以后的定单
Where Not orderDate〈=#1/1/96#
2 范围(BETWEEN 和 NOT BETWEEN)
BETWEEN …AND…运算符指定了要搜索的一个闭区间。
例:返回96年1月到96年2月的定单。
Where orderDate Between #1/1/96# And #2/1/96#
3 列表(IN ,NOT IN)
IN 运算符用来匹配列表中的任何一个值。IN子句可以代替用OR子句连接的一连串的条件。
例:要找出住在 London、Paris或Berlin的所有客户
Select CustomerID, CompanyName, ContactName, City
FROM Customers
Where City In(‘London’,’ Paris’,’ Berlin’)
4 模式匹配(LIKE)
LIKE运算符检验一个包含字符串数据的字段值是否匹配一指定模式。
LIKE运算符里使用的通配符
通配符 含义
? 任何一个单一的字符
* 任意长度的字符
# 0~9之间的单一数字
[字符列表] 在字符列表里的任一值
[!字符列表] 不在字符列表里的任一值
- 指定字符范围,两边的值分别为其上下限
例:返回邮政编码在(171)555-0000到(171)555-9999之间的客户
Select CustomerID ,CompanyName,City,Phone
FROM Customers
Where Phone Like ‘(171)555-####’
LIKE运算符的一些样式及含义
样式 含义 不符合
LIKE ‘A*’ A后跟任意长度的字符 Bc,c255
LIKE’5
’ 5*5 555
LIKE’5?5’ 5与5之间有任意一个字符 55,5wer5
LIKE’5##5’ 5235,5005 5kd5,5346
LIKE’[a-z]’ a-z间的任意一个字符 5,%
LIKE’[!0-9]’ 非0-9间的任意一个字符 0,1
LIKE’[[]’ 1,*
聚集函数 意义
SUM ( ) 求和
AVG ( ) 平均值
COUNT ( ) 表达式中记录的数目
COUNT (* ) 计算记录的数目
MAX 最大值
MIN 最小值
VAR 方差
STDEV 标准误差
FIRST 第一个值
LAST 最后一个值
总结:像这些常用的知识,遇到要不断的回顾,不断的总结。这样才能熟练的应用!