一、什么是数据库
数据库是按照数据结构来组织、存储和管理数据库的仓库。每个数据库都有一个活多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
二、术语
数据库:数据库是一些关联表的集合。
数据表:表是数据的矩阵。在一个数据库中表看起来像一个简单的电子表格。
列:一列包含了相同类型的数据。
行:一行是一组相关的数据。
冗余:存储俩倍数据,冗余降低了性能,但提高了数据的安全性。
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键查询数据。
外键:外键用于关联俩个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引
索引:使用索引可以迅速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
SQL(Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。
SQL 通过一系列的语句和命令来执行数据定义、数据查询、数据操作和数据控制等功能,包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。
三、数据库连SQL基本操作
演示数据库
下面是选自 "Websites" 表的数据:
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |
| 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN |
| 4 | 微博 | http://weibo.com/ | 20 | CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
+----+--------------+---------------------------+-------+---------+
1、SELECT
SELECT 语句用于从数据库中选取数据。
结果被存储在一个结果表中,称为结果集。
SELECT column1(字段名), column2, ...
FROM table_name(表名);
SELECT *(通配符,表示选择表中所有的列) FROM table_name;
2、SELECT DISTINCT
SELECT DISTINCT 语句用于返回唯一不同的值。
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值,也就是去掉 "XX" 列重复值。
DISTINCT 关键词用于返回唯一不同的值。
SELECT DISTINCT column1, column2, ...
FROM table_name;
3、WHERE
WHERE 子句用于提取那些满足指定条件的记录。
SELECT column1, column2, ...
FROM table_name
WHERE condition;
SELECT * FROM Websites WHERE country='CN';
4、AND & OR
AND & OR 运算符用于基于一个以上的条件对记录进行过滤。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
SELECT * FROM Websites
WHERE country='CN'
AND alexa > 50;
也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式)。
下面的 SQL 语句从 "Websites" 表中选取 alexa 排名大于 "15" 且国家为 "CN" 或 "USA" 的所有网站: