1. 数据库的基本概念
1.1 什么是数据库
- 数据库(database)是用来组织,存储,和管理数据的仓库.
- 当今世界充斥着大量的数据.为了方便管理互联网中的数据,就有了数据库管理系统的概念.
- 用户可以对数据库中的数据进行新增,查询,更新,删除等操作.
1.2 常见的数据库
- MySQL 数据库 (目前使用最广泛,流行度最高的开源免费数据库)
- Oracle 数据库 (收费)
- SQL Server 数据库 (收费)
- Mongodb 数据库?
其中, MySQL , Oracle , SQL Server 属于传统数据库 (关系型数据库 或 SQL 数据库) , 这三者的设计理念相同, 用法比较类似.
而 Mongodb 属于新型数据库 (非关系型数据库 或 NoSQL 数据库) , 它在一定程度上弥补了传统型数据库的缺陷.
在传统型数据库中,数据的组织结构分为数据库(database),数据表(table),数据行(row),字段(field)这四大部分组成.
- ?数据库 类似于 Excel 的工作簿
- ?数据表 类似于 Excel 的工作表
- ?数据行 类似于 Excel的每一行数据
- ?字段 类似于 Excel 的列
- ?每个字段都有对应的数据类型
1.3 库, 表, 行, 字段的关系
- ?在实际项目开发中,一般情况下,每个项目都对应独立的数据库
- ?不同的数据,要存储到数据库的不同表中
- 每个表中具体存储哪些信息,由字段来决定
- 表中的行,代表每一条具体的数据
2. 使用 SQL 管理数据库
2.1 什么是 SQL
SQL (Structured Query Language) 是结构化查询语言, 专门用来访问和处理数据库的编程语言,能够让我们以编程的形式,操作数据库里面的数据
三个关键:
- ?SQL 是一门数据库编程语言
- ?使用 SQL 语言编写出来的代码,叫做 SQL 语句
- ?SQL 语言只能在关系型数据库中使用
2.2 SQL 语句的增删改查
注意: SQL 语句中的关键字对大小写不敏感.
- ?SELECT 语句用于从表中查询数据,执行的结果被存储在一个结果表中,称为结果集
-- 注释
select * from 表名
-- 从from 指定的表中,查询出所有的数据. *表示所有列
select 列名称 from 表名称
-- 从指定表中, 查询指定 列名称(字段) 的数据 - ?INSERT INTO 语句用于向数据表中插入新的数据行
insert into 表名称 (列1,列2...) values (值1,值2...)
-- 向指定的表中,插入如下几列数据, 列的值通过 values 一一指定
-- 列和值要对应, 多个列和多个值之间用英文逗号隔开
insert into 表名称 set 列1=值1,列2=值2...
-- 另一种写法 - ?Update? 语句用于修改表中的数据
update 表名称 set 列名称 = 新值 where 列名称 = 某值
-- 用 update 指定要更新哪个表的数据
-- 用 set 指定列对应的新值
-- 用 where 指定更新的条件
-- 也可同时更新多列数据,中间用逗号隔开
- ?delete 语句用于删除表中的行
delete from 表名称 where 列名称 = 值
-- 从指定的表中,根据 where 条件,删除对应的数据行
-- 由于删除的数据不可恢复,项目中一般不要用
2.3 SQL 的 where 子句
where 子句用于限定选择的标准,在 select , update, delete 语句中,都可使用 where 子句来限定选择的标准
?注意: 在某些版本中的 SQL , 操作符<>可以写为 !=
2.4 SQL 的 and 和 or 运算符
and 和 or 可在 where 子语句中把两个或多个条件结合起来
- and 表示必须同时满足多个条件,相当 JS 中的 && 运算符
- or 表示只要满足任意一个条件即可,相当于 JS 中的 || 运算符
2.5 SQL 的 order by 子句
- ?order by 语句用于根据指定的列对结果集进行排序
- ?order by 语句默认按照升序(esc)对记录进行排序
- ?如果希望按照降序排序,可以使用 desc 关键字
select * from users order by id desc
-- 降序排列
2.6 SQL 的 count(*) 函数
count(*) 函数用于返回查询结果的总数据条数
select count(*) from 表名称
可以使用 as 关键字给查询出来的列名称设置别名
select count(*) as total from 表名 where 列名 = 某值
|