1. 数据库和SQL
为什么需要数据库?因为应用程序需要保存用户的数据,比如Word需要把用户文档保存起来,以便下次继续编辑或者拷贝到另一台电脑。
而且有了专门管理数据的数据库,应用程序不需要自己管理数据,而是通过数据库软件提供的接口来读写数据。至于数据本身如何存储到文件,那是数据库软件的事情,应用程序自己就不需要关心了:
┌──────────────┐
│ application │
└──────────────┘
▲│
││
read││write
││
│▼
┌──────────────┐
│ database │
└──────────────┘
数据库按照数据结构来组织、存储和管理数据,实际上,数据库一共有三种模型:
- 层次模型
- 网状模型
- 关系模型
1.1 关系数据库
基于关系模型的关系数据库获得了最广泛的应用。关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个Excel表:
┌─────┬─────┬─────┬─────┬─────┐
│ │ │ │ │ │
├─────┼─────┼─────┼─────┼─────┤
│ │ │ │ │ │
├─────┼─────┼─────┼─────┼─────┤
│ │ │ │ │ │
├─────┼─────┼─────┼─────┼─────┤
│ │ │ │ │ │
└─────┴─────┴─────┴─────┴─────┘
目前,主流的关系数据库主要分为以下几类:
- 商用数据库,例如:Oracle,SQL Server,DB2等;
- 开源数据库,例如:MySQL,PostgreSQL等;
- 桌面数据库,以微软Access为代表,适合桌面应用程序使用;
- 嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。
1.2 SQL——Structured Query Language
什么是SQL?SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。
不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。
如果只使用标准SQL,理论上所有数据库都可以支持,但如果使用某个特定数据库的扩展SQL,换一个数据库就不能执行了。例如,Oracle把自己扩展的SQL称为PL/SQL,Microsoft把自己扩展的SQL称为T-SQL。
SQL语言关键字不区分大小写!!!但是,针对不同的数据库,对于表名和列名,有的数据库区分大小写,有的数据库不区分大小写。同一个数据库,有的在Linux上区分大小写,有的在Windows上不区分大小写。
2. MySql
MySQL是目前应用最广泛的开源关系数据库。
MySQL官方版本分了好几个版本:
- Community Edition:社区开源版本,免费;
- Standard Edition:标准版;
- Enterprise Edition:企业版;
- Cluster Carrier Grade Edition:集群版。
2.1 安装MySQL
1.下载ZIP安装包
要在Windows或Mac上安装MySQL,首先从MySQL官方网站下载最新的MySQL Community Server版本:
选择对应的操作系统版本,下载即可。在安装过程中,MySQL会自动创建一个root
用户,并提示输入root
口令。
2. 解压到目标安装文件夹
将MySQL压缩包解压到自己的目标安装文件夹目录下,解压结果如:
解压后的文件夹路径不能出现中文
3. 创建data文件夹和my.ini配置文件
ZIP压缩格式的msyql文件需要用户自己手动在MySQL安装目录里面,即bin的同级目录下创建data文件夹和my.ini配置文件
(data即是用来存储MySQL数据库数据的文件夹;my.ini是MySQL安装时候回去配置信息的配置文件。主要记录用户信息、系统信息、数据库参数设置等)
例如:新建文件.txt——》my.ini
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录--需要改
basedir= E:\MySql\mysql-8.0.32-winx64
# 设置mysql数据库的数据的存放目录--需要改
datadir= E:\MySql\mysql-8.0.32-winx64\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
my.ini使用文本编辑器,如使用notepad展示:
4. 配置环境变量——MySql系统变量
添加:
变量名:MYSQL_HOME
变量值:E:\MySql\mysql-8.0.32-winx64 #这里是你自己的安装路径
编辑:
变量名:path
最后添加上:;%MYSQL_HOME%\bin;
5. 命令行安装mysql服务
以管理员的身份打开cmd,切换目录E:\mysql\mysql-8.0.19-winx64\bin
的bin目录下
接下来初始化mysql数据库
mysqld --initialize --user=mysql --console
初始化结果会给你一个随机的MySQL数据库密码,切记要复制下来这个临时密码
1. 输入安装命令:mysqld --install
2. MySQL服务启动,使用:net start mysql
3. 安装成功后使用临时密码进入mysql数据库: mysql -uroot -p
4. 修改登录密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
5. 输入`exit`退出MySQL命令行
2.2 运行MySQL
MySQL安装后会自动在后台运行。为了验证MySQL安装是否正确,我们需要通过mysql
这个命令行程序来连接MySQL服务器。
在命令提示符下输入
mysql -u root -p
,然后输入口令密码,如果一切正确,就会连接到MySQL服务器,同时提示符变为mysql>
。
输入exit
退出MySQL命令行。注意,MySQL服务器仍在后台运行。
3 数据库图形化工具——测试数据库
Navicat
或者MySQL Workbench