MySQL 软件安装及数据库基础

Day1 MySQL 软件安装及数据库基础

参考资料:

一、软件安装及服务器设置

  1. 安装教程请查阅,不做详细介绍:http://www.runoob.com/mysql/mysql-install.html

  2. 常见错误:

  • MySQL服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助
    在这里插入图片描述
    解决方法可参考:https://segmentfault.com/a/1190000014781074
    • 进入mysql的安装目录,即bin目录下
    • 输入mysqld --console 可查询到具体的日志信息,从日志中的报错信息定位失败原因,针对错误内容进行修改调整

二、使用图形界面软件 Navicat for SQL

推荐Navicat for SQL,具体使用方式根据个人习惯而定。

  • 简易步骤:

    • 解压缩文件,复制key
    • 打开文件夹中的navicat.e
    • 用户名随意,输入key,然后连d接数据库
    • 输入密码,连接名改成自己喜欢的
  • 实例:连接本地数据库

  1. 打开软件,选择File----》New Connection----》根据使用场景选择需要打开的数据库(如MySQL)
    在这里插入图片描述
  2. 输入具体的数据库地址、端口、用户名及密码,点击测试连接测试连通性,如果返回成功即点击OK就可以完成这次新建任务(如需要通过SSH登录,需要到SSH页面填写对应信息)
    在这里插入图片描述

三、数据库基础知识

1. 数据库定义

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

2. 关系型数据库

现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。

所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  1. 数据以表格的形式出现
  2. 每行为各种记录名称
  3. 每列为记录名称所对应的数据域
  4. 许多的行和列组成一张表单
  5. 若干的表单组成database

3. 二维表

在关系模型中,数据结构表示为一个二维表,一个关系就是一个二维表(但不是任意一个二维表都能表示一个关系,例如两个元组的候选键相同即表中的任意两行相同,就不能表示一个关系。),二维表名就是关系名。

表中的第一行通常称为属性名,表中的每一个元组和属性都是不可再分的,且元组的次序是无关紧要的。

注意: 针对二维数据表每一列都严格定义了约束条件的就是结构化数据表,一个或多个结构化数据表组成的文件就是数据库。

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |  
+----+----------+-----+-----------+----------+  
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |  
|  2 | Khilan   |  25 | Delhi     |  1500.00 |  
|  3 | kaushik  |  23 | Kota      |  2000.00 |  
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |  
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |  
|  6 | Komal    |  22 | MP        |  4500.00 |  
|  7 | Muffy    |  24 | Indore    | 10000.00 |  
+----+----------+-----+-----------+----------+  

4. 行

一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。

数据行是存在于数据表中的独立条目。例如,下面是客户信息表中的一条记录:

+----+----------+-----+-----------+----------+  
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |  
+----+----------+-----+-----------+----------+  

5. 列

一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。

列是表中竖直排列的实体,它包含了表中与某一特定字段相关的所有信息。

例如,上面的客户信息表中有字段为 ADDRESS 的列,存储了客户的地址,其内容如下所示:

+-----------+  
| ADDRESS   |  
+-----------+  
| Ahmedabad |  
| Delhi     |  
| Kota      |  
| Mumbai    |  
| Bhopal    |  
| MP        |  
| Indore    |  
+----+------+  

6. 主键

主键是数据表中唯一确定一条记录的字段。主键必须包含唯一值,并且不能为 NULL。

每张数据表只能有一个主键,不过一个主键可以包含一个或者多个字段。如果主键由多个字段组合而成,这些字段就被称作组合键。

如果一个字段被定义为了某表的主键,则任意两条记录在该字段处不能相同。

7. 外键

外键用于将两个数据表连接在一起,有时候也被称作“参照键”。

外键为单一字段或者多个字段的组合,并与另外一个数据表的主键相匹配。

两个表之间的关系是:一个表的主键与另一个表的外键相匹配。
在这里插入图片描述

四、MySQL数据库管理系统

1. 数据库

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 系统。

2. 数据表

在关系数据库中,数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。

表是构成表空间的基本结构,由区间构成。数据表由行(row)和列(column)组成,是一个二维的网格结构,每个列都是一个字段,字段由字段名称和字段的数据类型以及一些约束条件组成,表中至少要有一列,可以有多行或0行,表名要唯一 。

例如一个有关作者信息的名为 authors 的表中,每个列包含的是所有作者的某个特定类型的信息,比如“姓氏”,而每行则包含了某个特定作者的所有信息:姓、名、住址等等。

对于特定的数据库表,列的数目一般事先固定,各列之间可以由列名来识别。而行的数目可以随时、动态变化,每行通常都可以根据某个(或某几个)列中的数据来识别,称为候选键。

# 常用表相关操作

## 创建表
	CREATE TABLE [IF NOT EXISTS] tabName(
	   字段名称 字段类型 [约束条件],
	   字段名称 字段类型 [约束条件],
	   ...
	)ENGINE=存储引擎 CHARSET=编码方式;

## 查看当前数据库下的所有表
	SHOW TABLES;

## 查看表结构
	DESC user;
	DESCRIBE user;
	SHOW COLUMNS FROM user;

## 删除表
	DROP TABLE user;

3. 视图

数据库视图是一个数据库子集,基于对一个或多个数据库表运行的查询。数据库视图作为命名的查询保存在数据库中,可用于保存频繁使用的复杂查询。

视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

注释: 数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

作用:

  • 简化了操作,把经常使用的数据定义为视图。
  • 安全性,用户只能查询和修改能看到的数据。
  • 逻辑上的独立性,屏蔽了真实表的结构带来的影响。

缺点:

  • 性能差
  • 修改限制

参考地址:http://www.w3school.com.cn/sql/sql_view.asp

4. 存储过程

存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。

存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。

存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

参考地址:
(菜鸟教程)http://www.runoob.com/w3cnote/mysql-stored-procedure.html
(W3Cschool)https://www.w3cschool.cn/sql/sql-storage.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值