一、数据库概述
数据库(database)是一个以某种有组织的方式存储的数据集合。分五个层级:服务器、库、表、字段(列)、行。
- 数据库服务器。是指用来运行数据库服务的一台电脑。
- 数据库。一个数据库服务器里面有可以有多个数据库。
-
表(table)是一种结构化的文件,可用来存储某种特定类型的数据。存储在表中的数据是同一种类型的数据或清单。每个表都有一个名字来标识自己。这个名字是唯一的。
-
数据字段,也叫数据列(column)。就是我们日常所见表格里面的列。每个列都有相应的数据类型。
-
数据行(row),真正的数据存在每一个表的行里面。字段(列)划分出来了一个表应该按照什么样的格式存数据。而行,是真正的数据。每一行需要遵循数据字段(列)的规范和要求进行存入数据。
-
主键(primary key),一列(或一组列),其值能够唯一标识表中每一行。表中的任何列都可以作为主键,只要它满足以下条件:任意两行都不具有相同的主键值; 每一行都必须具有一个主键值(主键列不允许NULL值); 主键列中的值不允许修改或更新;主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)
-
外键,用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性(参考:https://blog.csdn.net/f45056231p/article/details/81070437)
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
二、检索数据(入门)
1、select 语句
SQL 语句是由简单的英语单词构成的。这些单词称为关键字,每个 SQL 语句都是由一个或多个关键字构成的。
(1)检索列
- 单列
SELECT prod_name
FROM Products;
从 Products 表中检索 prod_name 列,并返回该列所有行。
多条 SQL 语句必须以分号(;)分隔。SQL 语句不区分大小写,在处理 SQL 语句时,其中所有空格都被忽略。如以上代码可写作:
SELECT prod_name FROM Products;
- 检索多个列时
SELECT prod_id, prod_name, prod_price FROM Products;
在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。如果在最后一个列名后加了逗号,将出现错误。
全部列
SELECT * FROM Products;
列的顺序一般是列在表定义中出现的物理顺序,但并不总是如此。
- 只返回不同的值
SELECT DISTINCT prod_name FROM Products;
使用 DISTINCT 关键字,顾名思义,它指示数据库只返回 prod_name 列不同的值。 DISTINCT 关键字作用于所有的列,不仅仅是跟在其后的那一列。
- 限制返回多少行
SELECT prod_name FROM Products LIMIT 5;
limit 关键字,只返回前 5 行。
第一个被检索的行是第 0 行,而不是第 1 行。
2、条件查寻
select 字段 from 表 where 条件;
where后可接的条件:比较运算符、逻辑运算符
3、排序查询
select 字段1,字段2 from 表 order by 字段2 排序关键词
从表中查询 字段1、字段2,将指定字段按排序关键字排序。排序关键字:
- asc:升序排列,从小到大(默认)
- desc:降序排列,从大到小
4、分组查询
select * from 表 group by 字段
将表分组显示
三、注释
1、行内注释
SELECT prod_name -- 这是一条注释
FROM Products;
注释使用 --(两个连字符)嵌在行内。-- 之后的文本就是注释。
2、多行注释
/* SELECT prod_name, vend_id
FROM Products; */
注释从 /* 开始,到 */ 结束,/* 和 */ 之间的任何内容都是注释。
参考资料:
- SQL必知必会(第4版)
- 3天入门MySQL(千峰教育)
- https://blog.csdn.net/f45056231p/article/details/81070437