SQL学习之--《SQL必知必会》

SQL学习之–《SQL必知必会》

《SQL必知必会》是入门SQL的一本绝佳教材,简洁明了,当然学习还是要做笔记的!
MySQL教程
MARKDOWN教程

了解数据库

其实我们一直都在使用数据库,只是我们不自知,像我们要在登录一些网站,便需要依靠数据库验证用户名和密码。
数据库(database)是一个以某种有组织的方式存储的数据集合。数据库就如同一个文件柜,在这个柜子中有很多文件夹,这个文件夹就是表(table),代表某种特定类型数据的结构化清单。这里的类型并非是数据类型的意思,而是顾客的清单和订单的清单,这样的类型的区别。最初对我是有些混淆的。一个数据库中不能有相同的表名,不同的数据库是可以有的。表中当然有列代表表中的字段,一列的数据类型是固定的。 行则是表中的一个记录。
还有两个较为重要的概念:

  • 主键(primary key):一列(或一组列),其值能够唯一标识表中每一行。
  • 外键(foreign key):表A的主键列,在表B中有一列L其取值于主键列,把两个表关联在一起,列L是表B的外键。

用本书中用到的5个表,并利用MySQL workbench导出其关系图,如下图:
SQL学习之--《SQL必知必会》_第1张图片

表通过主键和外键进行连接。(导出方法链接。)

SELECT语句

检索数据

检索一列:

SELECT prod_name
FORM Products;

检索多列,逗号分隔:

SELECT prod_id,prod_name
FROM Products;

检索全部列:

SELECT *
FROM Products;

检索不同的值:

SELECT DISTINCT 一行或两行

检索前几行,后几行:

SELECT 列名
FROM 表名
LIMIT 5;     #前五行,一个SELECT语句结束后加分号
LIMIT 5 OFFSET 5;      #后五行,偷懒的不重复前两行的写法

排序数据

SELECT 列名
FROM 表名
ORDER BY 某一列或多列;       #必须放在select语句的最后一行,多列时先按第一列排,再按第二列...

关键字 DESC降序排列,ASC升序排列;

过滤数据

SELECT 列名
FROM 表名
WHERE 条件;        #例 prod_price=3.4

WHERE 字句操作符:

操作符 说明 操作符 说明
= 等于 > 大于
<> 不等于 >= 大于等于
!= 不等于 !> 不大于
< 小于 BETWEEN 在指定的两个值之间(要用AND)
<= 小于等于 IS NULL 为NULL值
!< 不小于

在建立这个表中遇到了一些符号的转义,在此可以找到。

你可能感兴趣的:(mysql,数据库,mysql,sql)