sql必知必会笔记(1-3章)
第一章
数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。
表:某种特定类型数据的结构化清单。
模式:关于数据库和表的布局及特性的信息。
列:表中的一个字段。存储着表中某部分信息。
主键:一列(或一组列),其值能够唯一标识表中每个行。
成为主键的条件:
1.任意两行都不具有相同的主键值;
2.每个行都必须有一个主键值(主键列不允许空值);
3.主键列中的值不允许修改或更新;
4.主键值不能重用.
SQL(Structured Query Language,结构化查询语言)是一种专门用来与数据库通信的语言。
第二章
关于SQL:
处理SQL语句时,所有空格都被忽略,SQL语句可以在一行上给出,也可以分成许多行,通常认为分成许多行更容易阅读和调试。
多条SQL语句必须以分号(;)分隔,多数DBMS(database management system,数据库管理系统)不需要在单条语句后加分号,但加上也可以。
SELECT语句:从一个或多个表中检索信息。
例:
SELECT prod_name
FROM Products;
从Products表中检索名为prod_name的列。
选择多个列:
SELECT prod_id, prod_name, prod_price
FROM Products;
选择多个列时一定要在列名之间用逗号分隔,但最后一个列名后不加。
检索所有列:
SELECT *
FROM Products;
给定一个通配符(*)则返回表中所有列。
第三章
排序语句:ORDER BY
例:
SELECT prod_name
FROM Products
ORDER BY prod_name
该例对prod_name列以字母表排序,在指定 ORDER BY子句时,应保证它是SELECT语句中的最后一条子句。
按多个列排序:
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price, prod_name;
首先对prod_price进行排序,当prod_price相同时按prod_name排序。
按列的位置排序:
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY 2, 3;
该例所表达的内容及输出结果与上例相同。按位置排序时不需输入列名,但是当需要排序的列不在SELECT清单中时则不可以使用。
降序排序的关键字:DESC
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price DESC;
DESC关键字只应用到直接位于其前面的列名,如果想在多个列上降序排序,必须对每个列指定DESC关键字。