官方定义:mysql
数据库是将数据按照必定的数据模型组织, 描述和存储, 具备较小的冗余, 较高数据独立性和易扩展性, 并做为各类用户共享的数据集合sql
不过, 我更喜欢我本身的理解:数据库
数据库, 顾名思义, 就是数据的仓库windows
其实相关概念还有不少, 举个栗子吧...bash
假设你有一个工厂, 用来生产电视机, 那么确定也须要一个仓库来存储电视, 还须要招聘一个管理仓储的王大爷...工具
那么问题来了, 你为何须要一个仓库?post
数据管理
)数据持久化
)这里的电视机就是DATA(数据)
优化
存放电视机的仓库就是DB(数据库)
spa
这里的王大爷就是DBA(数据库管理员)
操作系统
你问:"老王, 我们今天有多少电视机入库?"
王大爷说: "稍等, 老总, 我用管理软件查一下..."
这里的管理软件就是DBMS(数据库管理系统)
, 常见DMS: MySQL, Oracle, SQL server
有下面一个公式:
DBS = DBA 使用 DBMS 管理 DB
数据库系统
就是数据库管理员
使用数据库管理系统
来管理数据库
简单来讲, 就是想办法不让数据丢失.
可能你会好奇, 什么数据存在计算机里, 还会丢失?
答案是: 可能会, 也可能不会...主要看你把它存到了哪里
这里须要引出两个概念内存
,硬盘
内存的特色, 速度快, 很是之快, 断电数据丢失
硬盘的特色, 容量大, 很是之大, 断电数据不丢失
简单的说, 内存小而快, 硬盘慢而大, 4000G(4T)硬盘的价格约等于16G内存的价格, 4000:16
因此, 要想数据持久化, 就必须把数据存到硬盘里
若是你是用数据库管理系统的话, 它会自动完成数据持久化
最著名的数据库管理系统DBMS, 就是前面老王使用的管理软件
固然DBMS不止MySQL一个, MySQL为何能在众多DBMS中脱颖而出呢?
这里只讲windows系统的压缩包安装方式, 由于这种方式最简单,最流行
把压缩包解压到D:\test_mysql_57
(路径随意)
把bin目录的路径()添加到环境变量, 由于该文件夹下有msyql.exe(命令行工具-客户端)
和msyqld.exe(服务端)
一路点击肯定
, 关闭刚才全部的弹窗
建立配置文件: D:\test_mysql_57\my.ini
建立数据存储文件夹: D:\test_mysql_57\data
内容以下
[client]
port=3306 # 默认端口号
[mysql]
default-character-set=utf8 # 默认字符集
[mysqld]
port=3306
basedir="D:/test_mysql_57/" # mysql路径
datadir="D:/test_mysql_57/data/" # mysql数据路径
character-set-server=utf8 # 默认字符集
default-storage-engine=innodb # 默认数据库引擎
复制代码
windows+X
打开命令行(管理员身份),
输入命令: mysqld install 链接名 --defaults-file="配置文件路径"
mysqld install mysql3306 --defaults-file="D:\test_mysql_57\my.ini"
复制代码
输入以下命令
mysqld --initialize
复制代码
输入以下命令
net start mysql3306
复制代码
再从文件中找到默认密码
D:\test_mysql_57\data\USER-20170622RQ.err
使用默认密码登陆mysql, 重置密码
mysql -h localhost -u root -p
复制代码
SET PASSWORD = PASSWORD('你的新密码');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
复制代码
启动mysql:输入 net start mysql;
中止mysql:输入 net stop mysql;
windows下不能直接重启(restart),只能先中止,再启动。
存放数据的仓库, 因此本质上是一个容器
经过列
和行
组成二维表, 来存储数据
一列称为一个字段
一行称为一个记录
每个格子
存一个数据
数据库
里有数据表
, 数据表
里有行
和列
, 行来存储数据
, 列来描述数据
用户表和用户详情表
「用户详情表表」,其字段包含:姓名、性别、年龄、身高、体重、籍贯和居住地等
国家表,城市表
学生表, 课程表
须要中间表创建联系
设计数据表遵照的规范
是为了解决数据的存储和优化问题
冗余和效率
符合范式, 数据不容易重复, 可是查询起来比较费事
为了速度, 能够多买点硬盘...