数据库简介

什么是数据库

官方定义:

数据库是将数据按照一定的数据模型组织, 描述和存储, 具有较小的冗余, 较高数据独立性和易扩展性, 并作为各种用户共享的数据集合

不过, 我更喜欢我自己的理解:

数据库, 顾名思义, 就是数据的仓库

其实相关概念还有很多, 举个栗子吧...

假设你有一个工厂, 用来生产电视机, 那么肯定也需要一个仓库来存储电视, 还需要招聘一个管理仓储的王大爷...

那么问题来了, 你为什么需要一个仓库?

存放电视机, 方便统计和管理(数据管理)

找个王大爷, 防止电视失窃(数据持久化)

这里的电视机就是DATA(数据)

存放电视机的仓库就是DB(数据库)

这里的王大爷就是DBA(数据库管理员)

你问:"老王, 咱们今天有多少电视机入库?"

王大爷说: "稍等, 老总, 我用管理软件查一下..."

这里的管理软件就是DBMS(数据库管理系统), 常见DMS: MySQL, Oracle, SQL server

有下面一个公式:

DBS = DBA 使用 DBMS 管理 DB

数据库系统 就是 数据库管理员 使用数据库管理系统 来管理 数据库

什么是数据持久化

简单来说, 就是想办法不让数据丢失.

可能你会好奇, 什么数据存在计算机里, 还会丢失?

答案是: 可能会, 也可能不会...主要看你把它存到了哪里

这里需要引出两个概念内存,硬盘

内存的特点, 速度快, 非常之快, 断电数据丢失

硬盘的特点, 容量大, 非常之大, 断电数据不丢失

简单的说, 内存小而快, 硬盘慢而大, 4000G(4T)硬盘的价格约等于16G内存的价格, 4000:16

所以, 要想数据持久化, 就必须把数据存到硬盘里

如果你是用数据库管理系统的话, 它会自动完成数据持久化

什么是mysql

最著名的数据库管理系统DBMS, 就是前面老王使用的管理软件

当然DBMS不止MySQL一个, MySQL为什么能在众多DBMS中脱颖而出呢?

体积小, 运行快

性价比高, 因为不要钱...

方便各个操作系统移植

对SQL语句支持的很好

运行速度很快

安装mysql

这里只讲windows系统的压缩包安装方式, 因为这种方式最简单,最流行

MySQL5.7官网下载地址

安装MySQL

1. 解压

把压缩包解压到D:\test_mysql_57 (路径随意)

2. 添加环境变量

把bin目录的路径()添加到环境变量, 因为该文件夹下有msyql.exe(命令行工具-客户端)和msyqld.exe(服务端)

一路点击确定, 关闭刚才所有的弹窗

3. 配置文件

创建配置文件: 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 # 默认数据库引擎

复制代码

4. 使用命令行, 安装mysql服务

windows+X 打开命令行(管理员身份),

输入命令: mysqld install 连接名 --defaults-file="配置文件路径"

mysqld install mysql3306 --defaults-file="D:\test_mysql_57\my.ini"

复制代码

5. 初始化mysql

输入如下命令

mysqld --initialize

复制代码

6. 启动mysql

输入如下命令

net start mysql3306

复制代码

7. 重置密码

再从文件中找到默认密码

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;

复制代码

8. 使用新密码, 重新登录, 开心的输命令吧

启动/关闭/重启mysql

启动mysql:输入 net start mysql;

停止mysql:输入 net stop mysql;

windows下不能直接重启(restart),只能先停止,再启动。

数据库基本概念

数据库

存放数据的仓库, 所以本质上是一个容器

数据表

通过列和行组成二维表, 来存储数据

字段

一列称为一个字段

记录

一行称为一个记录

数据

每一个格子存一个数据

总结

数据库里有数据表, 数据表里有行和列, 行来存储数据, 列来描述数据

表关系

一对一(1:1)

用户表和用户详情表

「用户详情表表」,其字段包含:姓名、性别、年龄、身高、体重、籍贯和居住地等

一对多/多对一(1:N/N:1)

国家表,城市表

多对多(N:N)

学生表, 课程表

需要中间表建立联系

范式

简介

什么是范式

设计数据表遵守的规范

意义何在?

是为了解决数据的存储和优化问题

特点

非必须

越来越严格

向下兼容

内容

数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性

满足 1NF 后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系

必须先满足第二范式(2NF),要求:表中的每一列只与主键直接相关而不是间接相关

说人话

一个字段只存一个数据

一张表只干一件事

不属于这个表的字段, 不要加到这个表里来

逆规范化

冗余和效率

符合范式, 数据不容易重复, 但是查询起来比较费事

为了速度, 可以多买点硬盘...

快速跳转

mysql怎么设置001,[MySQL光速入门]001 让MySQL跑起来相关推荐

  1. c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)...

    我的安装环境: (1)vs2013(32位版) (vs2013只有32位的 没有64位的,但是它可以编译出64位的程序)  : (2)mysql-5.7.15(64位) vs2013中的设置(按步骤来 ...

  2. 腾讯云mysql如何设置远程访问_腾讯云主机 MySQL 远程访问配置方法

    使用腾讯云主机安装 MySQL 之后,需要通过以下步骤进行配置以实现远程访问,主要分为两大部分 一.服务器端口配置 1.如果你的云主机配置了安全组,如果没有配置安全组就可以直接跳过"步骤1& ...

  3. mysql数据库财务_MySQL数据库——从入门到删库跑路(二)

    DQL 查询表中的记录 select .... from ..... 语法 select 需要查询的信息(列名1,列名2,.......列名n) / * from 表名 [where 条件]; 完善下 ...

  4. ubuntu下mysql编码格式设置_Ubuntu 16.04.1下修改MySQL默认编码

    在写Android程序的时候,使用中文传递数据时,SQL查询总是得不到结果,经过调试,request.getparameter可以得到中文结果,并且输入的SQL语句经检验没有问题,而且,使用非中文的时 ...

  5. mysql英文设置中文_英文操作系统下的MySQL中文设置

    我下载的MySQL-5.6.16没有my.ini文件,所以到以前的MySQL Server 5.6安装目录下拷贝了一个,然后修改其中的basedir和datadir. 最重要的是要写一句话:defau ...

  6. mysql 创建和删除库_mysql入门系列:mysql创建、删除和选择数据库

    mysql供给了三条数据库级的句子,它们分别是:createdatabase用于创立数据库,dropdatabase用于删去数据库,use用于挑选缺省数据库. 其中约束条件是该数据库的称号有必要是合法 ...

  7. lamp mysql数据库设置_LAMP环境搭建图形界面配置MySQL数据库

    MySQL 的 RPM 包或源码包在默认情况下并没有提供图形界面的管理工具,在这类工具中最著名是 phpMyAdmin.phpMyAdmin(官方网站: MySQL 的 RPM 包或源码包在默认情况下 ...

  8. 没有mysql不能设置root密码怎么办_无法给MySQL root用户修改密码的解决方法

    本人编译安装完MySQL数据库,想给root用户修改密码,结果无法修改,并且报错,报错大概信息如下: mysqladmin: connect to server at 'localhost' fail ...

  9. php mysql 超时时间_php mysql超时设置方法

    php mysql超时设置方法,源码,参数,底层,层面,都是 php mysql超时设置方法 易采站长站,站长之家为您整理了php mysql超时设置方法的相关内容. php mysql超时设置方法: ...

  10. spark-sql使用UDF函数实现ip映射省份,数据写出到mysql参数设置。

    spark-SQL使用广播变量以及应用数据库的UDF自定义函数的查询会比两张表的连接更加的优化的程序的执行. 两表连接是比较费效率的. spar-sql 2.x的数据读取,处理,添加schema信息, ...

最新文章

  1. 的日志在哪里_写给大忙人看的,MyBatis日志如何做到兼容所有常用的日志框架?...
  2. 利用gcc自带的功能-fstack-protector检测栈溢出及其实现
  3. SAP FSM 学习笔记(四) : 现场服务技师使用的移动应用
  4. oracle xe 最大连接数,解决Oracle XE报错ORA-12516(Oracle回话数超出限制)
  5. 集成LNMP/LAMP/FAMP的LuNamp2.1正式版开源发布
  6. 1 1 2 3 5 8 java_1 1 2 3 5 8 13 21 34规律:一个数据等于前两个数之和.用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值....
  7. 计算机系统-电路设计06-振荡器的内部电路实现
  8. python第三方插件pip是什么_Python怎么安装第三方模块?
  9. 如果输入的dll名字被改后应该手工删除dll
  10. uniapp换行符号_第15讲 : uni-app 组件 - 地图组件
  11. CKEditor富文本编辑器使用
  12. 统信操作系统 摄像头驱动程序
  13. debugger位置不对_console / debugger / alter
  14. TortoiseGit 如何使用 cherry-pick
  15. 推荐5款轻量级的小软件,界面简洁无广告
  16. 天边一朵云-徒手用html生成一朵云,很真的那种
  17. 得到QB的20种方法
  18. 二乘二取二安全计算机
  19. 程序猿的2019年终总结
  20. 测试之第四集找bug的专业与素养

热门文章

  1. centos7的scp命令_Linux scp命令
  2. 浙江大学求是科学班计算机,浙江大学竺可桢学院求是科学班、智慧能源班、公共管理英才班2018年招生简章...
  3. 自适应辛普森学习笔记
  4. python转txt到xml并编译为exe
  5. 为什么客户端最后还要等待2MSL?
  6. mac web服务器 修改默认,mac如何修改默认播放器-mac修改默认播放器的方法 - 河东软件园...
  7. 新型智慧城市的技术诠释
  8. 基于hyperleger fabric区块链的校园化妆品交易平台搭建
  9. python——operator详解
  10. 红帽企业linux8,红帽企业Linux8登场