Chinaunix首页 | 论坛 | 博客
  • 博客访问: 238762
  • 博文数量: 68
  • 博客积分: 2802
  • 博客等级: 少校
  • 技术积分: 614
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-11 15:38
文章存档

2013年(3)

2012年(15)

2011年(21)

2010年(29)

我的朋友

分类: Mysql/postgreSQL

2012-12-10 21:51:04

SQL必知必会(第3版)

Ben Forta著 钟鸣 刘晓霞 等译

人民邮电出版社

一.数据库和数据库软件

数据库是保存有组织的数据的容器(通常是一个或一组文件)。数据库软件,即数据库管理系统(DBMS),数据库通过DBMS来操作。常用的DBMS有:IMB DB2Microsoft SQL Server, Microsoft Access, MySQL, Oracle, PostgreSQL, Sybase Adaptive Server.

二.表,列,行,主键

表是某种特定类型数据的结构化清单。在同个数据库中,每个表都有一个唯一的名字。

表由列构成,列是表中的一个字段。

表中的数据是按行存储的,一行即为表中的一个记录。

主键是特殊的列,其值能够唯一标识表中的行。表中任何行都可以作为主键,只要满足下列条件:

A. 任意两行都不具有相同的主键值;

B. 其值不允许是NULL值,即每个行都必须有主键值;

C. 其值不允许修改或更新;

D. 其值不能重复,如果某行从表中删除,它的主键值不能赋给以后的新行。

三.SELECT 语句及其应用

1. 检索单个列

SELECT prod_name

FROM Products;

2. 检索多个列

SELECT id, name, price

FROM Products;

3. 检索所有列

SELECT *

FROM products;

4. 排列数据(ORDER BY 必须是在语名最后)

SELECT name

FROM Products

ORDER BY name;

5. 按多个列排序(先按第一列排,第一列中有相同的再按第二列排,以此类推)

SELECT id, name, price

FROM Products

ORDER BY price, name;

6. 按列位置排序

SELECT id, price, name

FROM Products

ORDER BY 2, 3;

7. 指定排序方向(DESC是降序,ASC是升序,默认是ASC

SELECT id, price, name

FROM Products

ORDER BY price DESC;

8. 过滤数据(使用WHERE 子句)

SELECT name, price

FROM Products

WHERE Price = 3.49;

Where子句操作符

=

等于

< >

不等于

!=

不等于

<

小于

<=

小于等于

!<

不小于

>

大于

>=

大于等于

!>

不大于

BETWEEN

在指定两个值之间

IS NULL

NULL

 

9. 组合where 子句(AND, OR, IN , NOT

--同时成立

SELECT id, price, name

FROM Products

WHERE id = DLL01 AND price <= 4;

--其中一个成立

SELECT id, price, name

FROM Products

WHERE id = DLL01 OR id = DLL02 ;

--AND OR组合,注意计算优先级,加()明确

SELECT id, price, name

FROM Products

WHERE ( id = DLL01 OR id = DLL02 )

AND price <= 4

--指定条件范围

SELECT id, price, name

FROM Products

WHERE id IN ( DLL01DDL02)

ORDER BY name;

--否定后跟条件

SELECT id, price, name

FROM Products

WHERE NOT id = DLL01

ORDER BY name;

阅读(618) | 评论(0) | 转发(0) |
0

上一篇:Ubuntu 安装LAMP 好简单

下一篇:getopts 简介

给主人留下些什么吧!~~