MySQL安装
搜索 MySQL官网 选择合适自己的版本,按照官网的指导进行下载安装。除此之外,为了方便以后对数据库进行操作与管理,还需要安装 Navicat
数据库基础知识
数据库定义
- 按照数据结构来组织、存储和管理数据的仓库
关系型数据库
- RDBMS,具备如下几个特点:
1. 数据以表格的形式出现
2. 每行为各种记录的名称
3. 每列为记录名称所对应的数据域
4. 许多的行和列组成一张表单
5. 若干的表单组成database - 以上为正式的定义,通俗地来说,关系型数据库指的是用于存储具备固定的连接格式与表结构的数据的数据仓库
二维表
- 即由数据构成的矩阵。具象的表现形式可以参考平常生活中使用的二维表格
行
- 一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据
列
- 一列(数据元素) 包含了相同类型以及相同内涵的数据, 例如邮政编码的数据
主键
- 主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。它的功能就像我们在图书馆里查阅文献时使用的索引号
外键
- 外键用于关联两个表
MySQL数据库管理系统
数据库
- 连接:在使用数据库之前,我们先要在执行命令之前登陆到客户机-服务器DBMS。为了连接到MySQL,需要以下信息:
- 主机名:如果连接到本地MySQL服务器,为localhost
- 端口 :(如果使用默认端口3306之外的端口)
- 一个合法的用户名
- 用户口令
- 选择数据库:在你执行任意数据库之前,需要选择一个数据库。
- 为了使用crashcourse数据库,应该输入以下内容:
- 输入:USE crashcourse;
- 输出:Database changed;
- 了解数据库与数据表:
- 数据库、表、列、用户、权限的信息被存储在数据库和表中。可用SHOW命令来显示这些信息
- 输入:SHOW DATABASES;
- 返回可用数据库的一个列表。
- 输入:SHOW TABLES;
- 返回数据库内的表的列表
- SHOW 也可以用来显示表列:
- SHOW COLUMNS FROM TABLE Customers
- 返回的结果为表 Customers 中存在的列相关信息
- 所支持的其他 SHOW 语句还有:
- SHOW STATUS:显示广泛的服务器信息
- SHOW CREATE DATABASE 和 SHOW CREATE TABLE:显示创建特定数据库或表的MySQL语句;
- SHOW GRANTS:显示授予用户(所有用户或特定用户)的安全权限
- SHOW ERRORS 和 SHOW WARNIGNS: 显示服务器错误或警告消息
视图
- 虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。视图就相当于一张预先定义好的表结构,仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据
- 作用:
- 重用SQL语句
- 简化复杂的SQL操作。编写查询后可以方便地重用它而不必知道它的基本查询细节
- 使用表的组成部分而不是整个表
- 保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限
- 更改数据格式和表示
- 创建:CREATE VIEW;
- 查看:SHOW CREATE VIEW viewname;
- 删除:DROP VIEW viewname;
- 更新:先 DROP 再 CREATE 或直接用 CREATE OR REPLACE VIEW;如果要更新的视图存在,则第2条更新语句会替换原有视图
存储过程
- 使用场景:
- 针对许多表的多条SQL语句
- 执行SQL语句次序不是固定的
- 简单来说,存储过程就是为以后使用而保存的一条或多条SQL文件
- 作用:
- 通过把一系列的处理封装在一个单元中来简化复杂的操作
- 保证数据的一致性。因为所有开发人员与应用程序都使用相同的存储过程
- 简化对变动的管理。如果表名、列名或业务逻辑有变化,就只需要更改存储过程的代码
- 存储过程经过编译,处理命令的工作量减少,性能提高
- 总结:简单、安全、高效能
存储过程 VS 视图
顾名思义,两者最明显的区别在于一个注重的是过程而另一个注重的是图。
注重过程意味着它涉及很多数据处理的工序及步骤,整个流程很复杂。它能够接受参数,就像一个函数一样,主要目的是用于数据处理;而注重图则意味着它更关心数据的展示。通过视图可以把现有的数据重新组合成新的形式展示出来,相当于一张虚拟的表,可以像表一样用于数据查询。而两者相同的地方就在于,SQL语句都是事先编译好的,两者都能提高工作效率