一、软件安装及服务器设置
- 我是在Mac下使用MySQL的,安装教程网上很多,在这推荐一个:https://www.jianshu.com/p/07a9826898c0
- 安装成功后,通过命令行运行:
二、使用图形界面软件 Navicat for SQL
- Mac平台Navicat下载:https://xclient.info/s/navicat-premium.html
- 下载后新建数据库连接,连接到本地数据库即可:
- 连接成功后,即可进行相关操作:
三、数据库基础知识
- 数据库定义:数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。
- 关系型数据库:所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)
关系模型是我们生活中能经常遇见的模型,存储这类数据一般用关系型数据库
关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。 - 二维表:在关系模型中,数据结构表示为一个二维表,一个关系就是一个二维表(但不是任意一个二维表都能表示一个关系,例如两个元组的候选键相同即表中的任意两行相同,就不能表示一个关系。)二维表名就是关系名。表中的第一行通常称为属性名,表中的每一个元组和属性都是不可再分的,且元组的次序是无关紧要的。
- 行:一行是一组相关的数据,例如一条网张的信息数据。
- 列:一列包含了相同的数据, 例如邮政编码的数据。列是表中竖直排列的实体,它包含了表中与某一特定字段相关的所有信息。
- 主键:主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
- ** 外键**:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。
四、MySQL数据库管理系统
- 数据库:
- MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- MySQL 是开源的,所以你不需要支付额外的费用。
- MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL 使用标准的 SQL 数据语言形式。
- MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、 - Ruby 和 Tcl 等。
- MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
- MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
- MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。
- 数据表:
在关系数据库中,数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。
表是构成表空间的基本结构,由区间构成。数据表由行(row)和列(column)组成,是一个二维的网格结构,每个列都是一个字段,字段由字段名称和字段的数据类型以及一些约束条件组成,表中至少要有一列,可以有多行或0行,表名要唯一 。 - 视图:
数据库视图是一个数据库子集,基于对一个或多个数据库表运行的查询。数据库视图作为命名的查询保存在数据库中,可用于保存频繁使用的复杂查询。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。 - 存储过程:
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。