1、数据库介绍
1.1 什么是数据库
存储数据用文件就可以了,为什么还要弄个数据库
?
文件保存数据有以下几个缺点:
- 文件的安全性问题
- 文件不利于数据查询和管理
- 文件不利于存储海量数据
- 文件在程序中控制不方便
数据库存储介质:
- 磁盘
- 内存
为了解决上述问题,专家们设计出更加利于管理数据的软件——
数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
1.2 数据库分类
数据库大体可以分为
关系型数据库
和
非关系型数据库
关系型数据库(RDBMS):是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
1. Oracle
:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如
ERP
、
OA
等企业信息系
统。收费。
2. MySQL
:属于甲骨文,不适合做复杂的业务。开源免费。
3. SQL Server
:微软的产品,安装部署在
windows server
上,适用于中大型项目。收费。
非关系型数据库: (了解)不规定基于SQL实现。现在更多是指
NoSQL
数据库,如:
1.
基于键值对(
Key-Value
):如
memcached
、
redis
2.
基于文档型:如
mongodb
3.
基于列族:如
hbase
4.
基于图型:如
neo4j
关系型数据库与非关系型数据库的
区别
:
注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical
Processing
)是指联机分析处理。
2、MySQL服务器安装
2.1 Windows绿色安装
- 解压MySQL:如解压到D:\Tools\mysql-5.7.27-winx64(注意不要放在中文路径、有空格或特殊字符的路径中)
- 配置环境变量:
1.
右键
此电脑
->
高级系统设置
->
环境变量
->
在下面
系统变量栏
点击
新建
->
变量名:MYSQL_HOME变量值:为MySQL解压的根目录,我这里为D:\Tools\mysql-5.7.27-winx64
2.
在
系统变量栏
找到
Path
变量并双击:
Win10
中点击
新建
以添加新的路径:
%MYSQL_HOME%\bin
Win7
中直接添加到
Path
的最前面:
%MYSQL_HOME%\bin;
说明:需要执行某个指令,如D:\Tools\mysql-5.7.27-winx64\bin\mysqld.exe,需要在cmd中输入全路径,或切换到D:\Tools\mysql-5.7.27-winx64\bin目录下执行mysqld.exe。为方便操作,如在cmd可以直接输入mysqld执行该指令,可以按以上配置:1. 以上配置 %MYSQL_HOME% 代表引用的 MYSQL_HOME 环境变量,即D:\Tools\mysql-5.7.27-winx64。2. 配置在 Path 中,表示设置 %MYSQL_HOME%\bin 路径为全局路径,全局路径下的指令可以直接执行。
- 配置MySQL初始化文件:
1.
在
MySQL
根目录下创建初始化文件
my.ini
,即
D:\Tools\mysql-5.7.27-winx64\my.ini
。内容
如下:
[mysql]# 设置 mysql 客户端默认字符集default-character-set = utf8[mysqld]# 设置 3306 端口port = 3306# 设置 mysql 的安装目录basedir = D : /Tools/mysql-5.7.27-winx64# 设置 mysql 数据库的数据的存放目录datadir = D : /Tools/mysql-5.7.27-winx64/data# 允许最大连接数max_connections = 200# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集character-set-server = utf8# 创建新表时将使用的默认存储引擎default-storage-engine = innodb
2.
将以上
basedir
和
datadir
后的内容替换成自己的路径。
3.
注意
:需要保存为
ANSI
编码。方法一:使用记事本打开,保存
/
另存为,选择
ANSI
编码。方
法二:使用
Notpad++
打开,点击编码
->
转为
ANSI
编码
->
保存。
- 初始化MySQL
右键点击
cmd
,选择
以管理员身份运行
,执行以下命令
mysqld --initialize-insecure
如果出现找不到mysqld
或是
mysql
命令,这是环境变量没有配置正确。检查环境变量,如果正
确,则重新打开
cmd
,因为
cmd
会缓存系统变量,没有更新。以上初始化操作完成后,可以看到在MySQL
根目录下生成了
data
目录。初始化的MySQL
会生成超级管理员,账户名
root
,密码为空。
- 安装MySQL服务:
如果以前安装过
MySQL
,会默认安装
MySQL
的系统服务,点击开始菜单,输入
services.msc
,进
入系统服务界面,搜索是否有
mysql
服务(可以在英文状态输入
mysql
快速定位),如果有
mysql
服务,需要先删除,有以下两种删除方法:
1. cmd管理员权限打开,输入
sc delete mysql
2. 如果以上命令执行失败,还可以直接使用注册表删除,点击开始菜单,输入
regedit
,查找
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
中的
mysql
,将其删除。
在以上
mysql
服务删除后,可以安装新解压的
mysql
服务了,在
cmd
执行:
mysqld install
此时执行
win+r ,
输入
services.msc
打开服务管理器,可以看到
MySQL
服务
- 运行/停止MySQL服务端
cmd
执行
net start mysqlnet stop mysql
2.2 Windows中重装MySQL
- 重装相同版本的MySQL很简单,不用真正卸载,只需要删除MySQL根目录下data文件夹,之后按照 2.1 中的内容,从 初始化MySQL 内容开始重新执行即可。
- 重装不同版本的MySQL,需要卸载以前安装的MySQL:如果以前通过解压方式安装的MySQL,需要重新安装或卸载时,需要如下操作:右键点击cmd,选择 以管理员身份运行
net stop mysqlmysqld - remove mysql
之后重新执行
2.1
的安装步骤。
3、Mac中常见的安装问题
1. mac
系统安装
mysql
,只需要安装
dmg
文件就行,安装完毕,打开系统偏好设置,可以看到
mysql服务,点击可以查看服务状态。
2.
在
mac
中安装好
mysql
后,要在终端使用
mysql
,需要配置环境变量:
- 切换到bash shell:
chsh -s /bin/bash
- 查找mysql目录:
find / -name mysql
- 新建用户功能设置文件:
vim ~/.profile
打开的文件中点击i
,输入以下内容:
export MYSQL_HOME = 查找到的 mysql 目录(一般是 /usr/local/mysql )export PATH = $MYSQL_HOME : $PATH
再点击":wq"
保存退出
- 刷新环境变量
source ~/.profile
4、客户端连接MySQL服务器
MySQL
默认只允许在服务器本机 使用
root
用户登录,要开启
root
用户的远程登录,在
MySQL
服务器本机执行:
mysql -u root -p
要求输入密码,没有设置密码则直接回车
进入
MySQL
命令行以后,可以看到
mysql>
-- 使用 mysql 数据库use mysql;-- 更新用户表的 root 账户,设置为任意 ip 都可以访问,密码修改为 123456update user set host= "%" ,authentication_string=password( 'root' ) whereuser= "root" ;-- 刷新权限flush privileges;
退出
quit;
5、SQL分类
- DDL数据定义语言,用来维护存储数据的结构
代表指令:
create, drop, alter
- DML数据操纵语言,用来对数据进行操作
代表指令: insert
,
delete
,
update
DML中又单独分了一个
DQL
,数据查询语言,代表指令:
select
- DCL数据控制语言,主要负责权限管理和事务
代表指令: grant
,
revoke
,
commit
以上
SQL
我们主要会在后面学习
DDL
和
DML
的操作