day 33
数据库 MySQL
1. 什么是数据库
数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。
2. 为什么用数据库
-
使用文件管理数据的弊端:
- 数据量级别大只会使用困难
- 不能并发操作同一个文件
- 安全性
-
使用数据库管理软件的优点:
- 数据结构化
- 数据共享,冗余度低,易扩充
- 数据独立性高
- 数据由DBMS统一管理和控制
- 数据的安全性保护
- 数据的完整性检查
- 并发控制
- 数据库恢复
3. 数据库的分类
-
关系型数据库
有表结构的数据库。
例如:
- MySQL,maridb:免费,使用较多
- SQL server:微软收费,用于大学、政府
- Oracle:甲骨文收费,金融公司、阿里
- sqlite:小型的文件数据库,个人使用
-
非关系型数据库
以key-value形式存储,没有表结构。
例如:
- memcache:新浪早期使用
- mongodb:文档行数据库
- redis:微博
区别:关系型数据库把数据存在硬盘中,非关系型数据库把数据存在内存中。
4. MySQL的架构
MySQL是一个关系型数据库管理系统。
是一个基于socket编写的C/S架构的软件。
工作流程:
- MySQL服务端先启动,监听在某一个特定端口(3306)
- MySQL客户端启动,连接服务端
- 客户端通过向服务端发送SQL指令,操作服务端存储的数据
5. MySQL的安装
5.1 下载
在MySQL官方下载渠道选择适合自己电脑环境的安装包下载。
5.2 安装
将下载好的安装包放到想要安装的目录,解压安装。
5.3 添加环境变量
安装完毕后,将MySQL的bin目录的文件路径添加到系统环境变量中。
5.4 初始化MySQL
打开 cmd 命令行,输入 mysqld --initialize-insecure
回车
运行成功后可以看到安装目录下出现了一个 data 文件夹。
5.5 启动MySQL服务端
打开 cmd 命令行窗口,输入 mysqld
回车
另打开一个窗口 cmd 命令行窗口,输入 mysql -u root -p
连接服务端
5.6 将mysql的服务端做成windows服务
在执行 mysqd
启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题:
以管理员身份打开 cmd 命令行窗口,执行命令 mysqld的绝对路径 --install
设置完成后,启动或关闭MySQL服务端,只需要以管理员权限打开 cmd 命令行窗口,执行以下命令:
-
启动服务端
net start mysql
-
关闭服务端
net stop mysql
启动服务端后,就可以关掉服务端的 cmd 窗口,使用时只需要打开一个窗口即可。
6. MySQL的基本使用
SQL指令:主要用于存取数据、查询数据、更新数据、和管理关系数据库系统。
每条SQL指令都以分号 ;
结尾。
6.1 数据管理系统、数据库、表、记录
记录:多个字段组成的一条信息,称为记录,比如文件内的一行内容
表:文件
数据库:文件夹
数据管理系统:一个软件(如MySQL)
6.2 操作库
# 增:创建一个新的数据库并指定字符编码为utf-8
create database 数据库名称 charset utf8;
'''
库的命名规则:
由字母、数字、下划线、@、#、$组成
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位
'''
# 删:删除一个数据库
drop database 数据库名称;
# 改:删除再添加
如果数据库中有数据的话,直接drop会导致数据库中的数据丢失,在线上环境,不能够直接删除数据, 在删除之前,需要进行备份。
# 查:查询数据库
show databases; # 查看所有的数据库名称
select database();
show create database 数据库名称; # 查看指定的数据库信息
# 选择一个数据库
use 数据库名称