- 从电子邮件地址簿里查找名字时,使用数据库。
- 从百度站点进行搜索,也是在使用数据库。
- 工作中登录网络,也需要数据库验证自己的名字和密码。
- 在自动取款机上使用ATM卡,也要利用数据库进行PIN码验证和余额查询。
1.数据库基础
1.1什么是数据库
数据库是一个以某种有组织的方式存储的数据集合。
理解数据库最简单的办法是将其想象为一个文件柜。此文件柜是一个存放数据的物理位置。
数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件)
数据库软件称为DBMS(数据库管理系统),数据库是通过DBMS创建和操纵的容器。
数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据库;
你使用的是DBMS,它替你访问数据库。
1.2表
表是一种结构化的文件,可用来存储某种特定类型的数据。
举例:表可以保存顾客清单表,产品目录表,其他信息清单。
表(table)某种特定类型数据的结构化清单。
注意:存储在表中的数据是一种类型的数据或一个清单。
决不应该将顾客的清单与订单的清单存储在同一个数据库表中。
这样做将使以后的检索和访问很困难。应该创建两个表,每个清单一个表。
数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的。
相同数据库中的表名不能相同,不同数据库中的表名可以使用相同的表名。
表具有一些特性:
- 数据在表中如何存储
- 可以存储什么样的数据
- 数据如何分解
- 各部分信息如何命名
描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表以及整个数据库。
模式(schema):关于数据库和表的布局及特性的信息。
1.3列和数据类型
表由列组成。列中存储着表中某部分的信息。
列(column):表中的一个字段。所有表都是由一个列或多个列组成的。
举例:在顾客表中,一个列存储着顾客编号,另一个列存储着顾客名,地址,城市,州,邮政编码全都存储在各自的列中。
分解数据:正确地将数据分解,有利于排序和过滤。
数据库中每个列都有相应的数据类型,定义哪种类型,存储就该是哪种类型。
举例:
- 如果列中存储的为数字(订单表中的物品数),则相应的数据类型应该为数值类型。
- 如果类中存储的是注释,则相应的数据类型应该为字符串类型。
数据类型:所容许的数据类型。每个表列都有相应的数据类型,它限制(或容许)该类中存储的数据。
数据类型优点:
- 帮助正确的排序数据
- 优化磁盘使用方面起重要作用
在创建表时必须对数据类型给予特别的关注。
1.4行
表中的数据是按行存储的,所保存的每个记录,存储在自己的行内。
如果将表想象为网格,网格中垂直的列为列表,水平行为表行。
行(row)表中的一个记录。
从技术上来说,行才是正确的术语。
1.5主键
主键(primary key)一列(或一组列),其值能够唯一区分表中每一行。
例子:
- 订单表的订单ID
- 雇员表的雇员ID
- 雇员社会保险ID
唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示一个特定的行。
没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关行。
注:虽然并不总是都需要主键,但大多数数据库设计人员都应该保证他们创建的每个表具有主键,
主键以便以后的数据操纵和管理。
表中列作为主键,需要满足俩个条件:
- 任意俩行都不具有相同的主键值
- 每个行都必须具有一个主键值(主键列不允许NULL值)
主键通常定义在表的列上,但这并不是必须的,也可以使用多个列作为主键。在使用多个列作为主键时,上述条件必须应用到构成主键的所有列,所有列的组合必须是唯一的(但单个列的值可以不唯一)。
主键的好习惯:
- 不更新主键列中的值
- 不重用主键列的值
- 不在主键列中使用可能会更改的值
例如,如果使用一个名字作为主键,以标识某个供应商。当该供应商合并和更改其名字时,必须更改这个主键。
提示:还有一种非常重要的键,称为外键。
2.什么是SQL
SQL是结构化查询语言(Structured Query Language)的缩写。
SQL是一种专门用来与数据库通信的语言。
设计SQL目的:很好的完成一项任务,即提供一种从数据库中读写数据的简单有效的方法。
SQL优点:
- SQL简单易学。
- SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道。
- SQL尽管看上去很简单,但它实际上是一种强有力的语言,可以进行非常复杂和高级的数据库操作。
DBMS专用的SQL SQL不是一种专利语言,而且存在一个标准委员会,他们试图定义可供所有DBMS使用的SQL语法,但事实上任意两个DBMS实现的SQL都不完全相同。
3.动手实践
3.1MySQL的安装
注:MySQL版本是5.7.x版
1.打开安装文件,执行安装步骤,接受条款.
2.选择自定义安装
3.选择安装MySQL Server, 注意自己操作系统位数
4.勾选掉其他的服务,保留MySQL Server 和 Client Programs 即可
5.这里会选择要安装的产品,在这一步,如果有缺少依赖的,可以自动安装。
缺少依赖,可以到这里下载,下载一个X86的安装即可
https://www.microsoft.com/zh-cn/download/details.aspx?id=40784
6.安装完成
7.保持默认即可
8.保持默认即可。注意,这里尽量不要修改端口号!
9.设置root用户的密码,不要忘记!!!
10.保持默认即可。这里的服务名字也不要修改!
3.2MySQL的卸载
- 控制面板 -> 程序 -> 卸载程序
- 找到 MySQL Server -> 右键 -> 卸载
- 打开C盘 -> 打开文件夹 ProgramData(隐藏文件夹) -> 删除 MySQL 文件夹
- 清除注册表信息 (打开注册表: Win + r, 输入: regedit)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQLHKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application\MySQL(有的机器可能没有,则可不选)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL
3.3启动、停止MySQL服务
1.我的电脑 -> 右键 -> 管理 -> 服务 -> 找到MySQL57 -> 右键
2.以管理员的身份运行终端
- Win+R,输入cmd,进入运行终端。
- 输入相应的指令来开启服务和停止服务。
net start mysql57 // 开启服务
net stop mysql57 // 关闭服务
4.小结
学习了:
- 什么是数据库,DBMS
- 表
- 列和数据类型
- 行
- 主键
- 什么是SQL
- 安装MYSQL和卸载MYSQL
多思考,多总结,多输出,一键四连~
但行好事,莫问前程,我们下篇见~