Task00/01: 数据库环境搭建及初步了解
Task00: 绪论 - 环境搭建
1. MySQL 8.0 安装
MySQL 8.0社区版的安装 | 安装 | 安装/启动关键信息 |
---|---|---|
Windows | 官网: https://dev.mysql.com/downloads/ * 最新版本:MySQL Installer for Windows * 历史版本:Download Archives 2 -> MySQL Installer 百度网盘: * 下载链接:https://pan.baidu.com/s/1SOtMoVqqRXwa2qD0siHcIg 提取码:80lf * 备用下载链接: https://pan.baidu.com/s/1zK2vj50DvuAee-EqAcl-0A 提取码:80lf | * Choosing a Setup Type: Full(完全安装模式) * High Availability: Standalone MySQL Server/Classic MySQL Replication * Type and Networking: ☑️Show Advanced and Logging Options * Authentication Method: Use Legacy Authentication Method (Retain MySQL 5.x Compatibility) * Advanced Options: Lower Case (default) |
Mac | 官网: https://dev.mysql.com/downloads/ * 最新版本:MySQL Community Server -> macOS * 历史版本:Download Archives 2 -> MySQL Installer 百度网盘: * 下载链接:https://pan.baidu.com/s/1ka22UtzqFdOaIosrpKz92w 提取码: 8xh4 * 备用下载链接:https://pan.baidu.com/s/1XeA_8PQvvRePEdZ5ayOT-Q 提取码:8xh4 | * 简单密码,如果强密码,截图保存 * 安装完成后,电脑系统偏好设置中会出现MySQL的服务标识 * 环境变量配置: PATH="$PATH":/usr/local/mysql/bin export PATH=$PATH:/usr/local/mysql/bin source ~/.bash_profile * 终端登录MySQL: mysql -u root -p |
Linux - Centos | * 下载:wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm * 用yum命令安装下载好的rpm包: yum -y install mysql80-community-release-el7-2.noarch.rpm * 安装MySQL服务器: yum -y install mysql-community-server | * 启动 MySQL: systemctl start mysqld.service * 查看MySQL状态: systemctl status mysqld.service * 重新启动 Mysql 和停止 Mysql 的命令如下: service mysqld restart #重新启动 Mysql systemctl stop mysqld.service #停止 Mysql * 查看临时密码: grep 'temporary password' /var/log/mysqld.log * 登录: mysql -u root -p |
1.1 macOS环境下MySQL环境变量iTerm失效
问题描述:在~/.bash_profile 中已经完成配置环境变量,且默认终端下环境变量有效;但在iTerm中无法直接调用mysql
解决办法:zsh加载的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并没有定义环境变量,因此可在在 ~/.zshrc文件最后,增加一行:
source ~/.bash_profile
2. MySQL的连接
命令行 | 图形界面 |
---|---|
Windows: MySQL 8.0 Command Line Client | * MySQL Workbench - Windows/macOS/Linux * HeidiSQL - Linux * DBeaver - Windows/macOS/Linux * Navicat * SQLyog * DataGrip- Windows/macOS/Linux |
Task01: 初识数据库
基础知识 | 说明 |
---|---|
数据库(Database,DB) | 将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合 |
数据库管理系统(Database Management System,DBMS) | 用来管理数据库的计算机系统 |
DBMS的种类 | DBMS 主要通过数据的保存格式(数据库的种类)来进行分类: * 层次数据库(Hierarchical Database,HDB) * 关系数据库(Relational Database,RDB) * 面向对象数据库(Object Oriented Database,OODB) * XML数据库(XML Database,XMLDB) * 键值存储系统(Key-Value Store,KVS) |
关系数据库管理系统(Relational Database Management System,RDBMS) | * Oracle Database:甲骨文公司的RDBMS * SQL Server:微软公司的RDBMS * DB2:IBM公司的RDBMS * PostgreSQL:开源的RDBMS * MySQL:开源的RDBMS |
RDBMS的常见系统结构 | 最常用的系统结构就是客户端 / 服务器类型(C/S类型)这种结构 |
表结构 | * 列名:数据的项目名称 * 行/记录:一条记录 * 列/字段:表中存储的数据项目 * 单元格:行和列交汇的地方称为单元格,一个单元格中只能输入一条记录 |
SQL语句 | * DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象 ** CREATE: 创建数据库和表等对象 ** DROP: 删除数据库和表等对象 ** ALTER: 修改数据库和表等对象的结构 * DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录 ** SELECT: 查询表中的数据 ** INSERT: 向表中插入新数据 ** UPDATE: 更新表中的数据 ** DELETE: 删除表中的数据 * DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定 ** COMMIT: 确认对数据库中的数据进行的变更 ** ROLLBACK: 取消对数据库中的数据进行的变更 ** GRANT: 赋予用户操作权限 ** REVOKE:取消用户的操作权限 |
2. 练习题(macOS环境)
2.1 创建表Addressbook(地址簿),并为regist_no(注册编号)列设置主键约束
创建表之前,先创建数据库
CREATE DATABASE DW;
USE DW;
结果:
创建Addressbook表:
CREATE TABLE Addressbook
(regist_no INTEGER NOT NULL,
name VARCHAR(128) NOT NULL,
address VARCHAR(256) NOT NULL,
tel_no CHAR(10),
mail_address CHAR(20),
PRIMARY KEY (regist_no));
查看Addressbook表结构:
DESC Addressbook;
结果:
2.2 假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中
列名 : postal_code
数据类型 :定长字符串类型(长度为 8)
约束 :不能为 NULL
ALTER TABLE Addressbook ADD COLUMN postal_code CHAR(8) NOT NULL;
查看更新后的表结构:
DESC Addressbook;
结果:
2.3 编写 SQL 语句来删除 Addressbook 表
删除前先查看数据库中的表:
SHOW TABLES;
结果:
删除Addressbook表:
DROP TABLE Addressbook;
查看删除后数据库的表:
SHOW TABLES;
结果:
2.4 编写 SQL 语句来恢复删除掉的 Addressbook 表
无法恢复