MySQL基础介绍以及操作指南

第一章 数据库描述

一、学习环境的介绍

1.windows 10/11非家庭版

内存:8G

2.VMware workstation 16.0

3.LAMP——Linux Aparche mysql php.

LNMP——Linux nignx mysql php.

WAMP——windows Aparache mysql php.

WNMP——windows nignx mysql php.

注意:windows是非客户端操作系统,而不是服务器

  1. 1台windows server2019,2台Linux

二、数据库系统概述

1.数据Data:凡是能被计算机处理的东西,如字母、数字、汉字、符号、声音、图片、动画均认为是数据。

2.信息information:数据——数据处理——信息,对人们的决策有帮助作用的有用的数据。

3.数据处理:将数据→信息的过程

4.数据库Database:数据的仓库,容器级别的概念,存放数据库对象的容器

5.数据库系统的组成:数据库系统(DBS)是数据库Database、数据库管理系统DBMS,数据库管理员DBA、数据库应用系统DBAS和计算机硬件5部分组成。

6.数据库管理系统DBMS:MsSQLServer 2019、MicrosoftAccess、VFP\Mysql、Oracel DB2等属于系统软件。

7.数据库应用系统DBAS:教务系统、一卡通消费系统、进销存管理系统、OA办公自动化系统等,属于应用软件。

三、数据库发展史

1.人工管理系统 20世纪40——50年代 磁带纸带等存储设备相对落后数据处理也比较落后。

2.文件系统阶段 20世纪50——60年代 磁盘文件系统FAT16、FAT32、NTFS、EXT,相比人工管理阶段而言有进步,存在大量的冗余(重复)数据 数据独立性差

3.数据库系统阶段 20世纪60年代中后期 提高了数据的冗余度,提高了数据的独立性,数据与程序是独立分开的。

提示:一定不是消除了冗余

四、数据库系统的三级模式和两级映像

1.模式 学生表(学号、姓名、性别、年龄)

2.内模式 excel工作薄存放在计算机的什么地方

3.外模式 视图 从学生表中查询age

总结:内模式是靠近计算机硬件,外模式是靠近计算机用户的

五、数据类型

1.层次模型:组织结构图

2.网状模型:地图

3.关系模型:用二维码的方式来表示实体和实体集之间关系的一种模型

4.实体:客观存在的并且可以互相区别的事物 eg:1个人,一本书 与面向对象程序“对象”概念相同

5.实体集:实体的集合

6.属性:二维表中,每1列的名称,描述实体的自身属性,特殊的字段,如学生表(学号,姓名,性别)中的学号、姓名、性别都是属性。

7.实体之间的关系

a.一对一:班长和班级、一夫一妻

b.一对多:班级与学生

c.多对多:图书与学生 老师与学生

8.关系模型的相关概念

a.元组:二维表中的每一行,除了第一行——也成为记录

b.属性:二维表中的每一列,只有第一行——也成为字段

c.主键:在一个表中至少有这样一个字段,这个字段所对应的值一不能有空值(NULL值:不确定的值)二不能有重复,这个字段所对应的值能够起到唯一标识表中记录的作用,这个字段就称为主关键字,

d:外键:在一个表中某一个字段,它不是表中的关键字,但它却是其他表的关键字,叫外键。

9.数据库设计

概念设计(将客观世界的事物抽象为计算机可以识别的事物的过程)

逻辑设计将概念模型中的E——R图转化为关系数据库管理系统中的关系模型——(数据模型:层次模型、网状模型、关系模型)

物理设计(在mysql这个数据库管理系统中新建数据库、新建数据库对象、视图、存储过程、函数等)

六、MySQL安装简单叙述

1、安装Mysql

1.1版本

分平台:windows、Linux、MAC-OS分版本: 5.x、6.x、7.x、8.x

1.2安装

安装位置:D:\mysql-8.0.39-winx64\bin

●bin:可执行文件

●data:数据库文件

omy.ini or my.cnf核心配置文件

1.3服务

安装Mysql之后,会在操作系统中添加一个mysql服务需要先启动服务才能使用mysql;

第二章       V-Mware的介绍以及安装

一、Vmware虚拟机介绍与学习环境规划

1.1、什么是虚拟机?

· 虚拟机(virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

· 虚拟机系统是一个操作系统镜像,它具有与真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立环境上进行,可以独立安装应用软件、保存数据、拥有自己的独立桌面,不会对真正的系统产生影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。

· 流行的虚拟机厂家有Vmware、Oracle virtual box、微软virtual PC等,它们都能在windows系统上虚拟出多个计算机(windowsЛinux)。

1.2、使用虚拟机的好处有哪些?

· 演示环境,可以安装各种演示环境,便于做实验…-实验、学习环境申保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序或者测试的程序可以在电廖拟机上运行避免每次重新安装操作系统。

体验不同版本的操作系统,如Mac-OS、Linux、windowsserver

1.3、Vmware workstation虚拟机介绍

Vmware workstation中文名威睿工作站。是一款功能强大的桌面虚拟化软件,提供用户可以在单一桌面上运行不同的操作系统,和进行开发、测试、部警新的应用程序的最佳解决方案。

Vmware workstation收费,非开源

1.4、实战内容

Vmware Workstation安装与配置

①官方网站下载www.vmware.com/cn

②提示:如果检查产品更新,会从官网下载最新安全补丁;

加入客户体验会造成个人信息泄露

Vmware安装windows server 2019或windows server 2016

①在“此电脑”非系统盘如E盘或F盘,新建一个虚拟机系统目录Vm-Server (E:\VM-Server)

②步骤

(1)安装Vmware

3安装windows server2019

4windows server 2019激活与优化

a.安装vmware tools

b.显示windows server2019的桌面图标:桌面空白处-->右键-->个性化->主题--桌面图标

c.激活windows server2019

提示:先要给新装的操作系统安装必要的工具软件如winrar、office等常用工具

Vmware女装CentOS Linux

①新建虚拟机

②)将系统光盘镜像文件插入光驱中

③安装操作系统

提示:KUMP内核崩澳选项将其禁用;安装时选择GUI带图形画界面1inux系统,生产环境中可以选择最小化安装。

补充:如何将自己的计算机重装系统

1、先到MSDN我告诉你下载windows 10或windows 11

2、准备一个32G或64G的优盘

3、将下载好的系统镜像文件,使用Ultrals0(软碟通)制作操作系统安装盘4、设置笔记本电脑的启动顺序,第1启动设置为优盘启动(按F12或ESC)5、同在虚拟机中安装windowsserver 2019相同,一路下一步进行安装6、使用系统激活工具来激活操作系统

学习环境规划

二、学习环境规划

2.1、物理拓扑

2.2、逻辑规划

主机名                             IP地址                   网关 系                     统类型

Test-MySQL-windows   192.168.121.128  192.168.121.1     windows server 2019

Test-Mysql-linux          192 168.121.129            192.168.121.1                   Centos linux 7.6

第三章 windows快速安装mysql8.0

MySQL简介

1.介绍

1.1什么是数据库?

数据库:Database,按照数据结构来组织、存储和管理数据的仓库,简单来说就是存储数据的仓库。------用来存放数据库对象(表、视图、函数、存储过程等)的一个容器

数据库管理系统DBMS:用来管理数据的系统软件,常见:MySQL、0racle、MSSQLServer、DB2、Sysbase、Access等数据库系统的组成:数据库和数据管理系统。

1.2什么是MySQL?

MySQL:是一个开源的关系型数据库管理系统。由瑞典MVSQLAB公司开发,后来被0racle公司收购,所以目前属于0racle公司

特点:体积小、速度快、成本低、开源(源代码是开放的),中小型网站都使用MySQL数据库。

版本:企业版Enterprise(收费的)、社区版community(免费的)

DBA:DatabaseAdministrator数据库管理员

二、实战部分

1、准备-台windows server 2019的主机

2、安装windowsserver 2019

3、下载mysql 8.0版本

提示:第1、2步,在第2章已做过介绍

MySQL :: MySQL Community Downloads!4、MysqI8.0数据库配置

①Mysq1 server 8.0.39数据库服务器配置②Mysql router 8.0.39读写分离的配置③数据库实例配置

注意:使用8.0密码策略,要选择“高级认证“方式出错。提示:使用navicat图形化工具访问mysqI服务器时出错'1251错误5、MysqI8.0数据库管理入门

修改root密码

说明:上述修改用户密码的命令中withmysql native password是mysql 5.7的方式

允许root远程登录

、MySQL登录与退出

1、MySQL登录

本地登录

mysql-u用户名(root)-p 密码显式登录mysql-u用户名(root)-p 隐式登录远程登录mysql-h主机名或ip地址-u用户名(root)-p 密码

2、MySQL退出

3、当mysq18.0安装完成后的相关配置查看mysqI服务

WIN+R-->运行-->services.msc

windows+R--->运行-->输入netstat -an

windows+R===>运行-->输入wf.msc

mysq1服务的开启与停止

①鼠标的方式

windows+R--->services.msc-->mysq180-->右键-->启动或停止上

②)命令的方式

初学者不建议修改

提示:若要修改配置文件my.ini,就需要重启mysqI服务

四、Mysq1安装方式之配置方式

1、mysql卸载

控制面板

win+R-->运行-->输入control-->卸载程序-->与mysql有关组件-->卸载

安装包

双击mysql-installer-community-8.0.39.0.msi

2、用配置文件来安装mysq1

Lmysqld];

设置3306端口

port=3306

设置mysql的安装目录

basedir "C:\mysql-8.0.39-winx64"

设置mysql数据库的数据的存放目录datadir=C:mysql-8.0.39-winx64\Data;允许最大连按数

max connections=200

允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统

max connect errors=10

服务端使用的字特集默认为UTF8

character-set-server=utf8

创建新表时将使用的默认存储引整default-storage-engine INNODB,默认使用“mysqlnative_password”插件认证defaultauthenticationplugin-mysql nativepasswordlmysql设置mysq1客户端默认字符集

default-character set utf8[client]设置mysql

客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8

五、环境变量

右键-->此电脑-->高级系统设置-->环境变量-->path-->新建-->将mysq1的安装目录bin路径放到path下即可。

六.、Mysq1目录和配置文件

Mysq1安装目录包括启动文件,配置文件,数据库文件和命令文件,具体如下:bin目录:存放一些客户端程序和可执行脚本data目录:存放一些日志文件以及数据库

docs目录:存储一些版本信息

include目录:存放一些头文件

1ib目录:存放一些库文件

share目录:存储错误消息文件、字符集等

MySQL简介

1.介绍

1.1什么是数据库?

数据库:Database,按照数据结构来组织、存储和管理数据的仓库,简单来说就是存储数据的仓库。------用来存放数据库对象(表、视图、函数、存储过程等)的一个容器

数据库管理系统DBMS:用来管理数据的系统软件,常见:MySQL、0racle、MSSQLServer、DB2、Sysbase、Access等数据库系统的组成:数据库和数据管理系统。

1.2什么是MySQL?

MySQL:是一个开源的关系型数据库管理系统。由瑞典MVSQLAB公司开发,后来被0racle公司收购,所以目前属于0racle公司

特点:体积小、速度快、成本低、开源(源代码是开放的),中小型网站都使用MySQL数据库。

版本:企业版Enterprise(收费的)、社区版community(免费的)

DBA:DatabaseAdministrator数据库管理员

二、实战部分

1、准备-台windows server 2019的主机

2、安装windowsserver 2019

3、下载mysql 8.0版本

提示:第1、2步,在第2章已做过介绍

MySQL :: MySQL Community Downloads!4、MysqI8.0数据库配置

①Mysq1 server 8.0.39数据库服务器配置②Mysql router 8.0.39读写分离的配置③数据库实例配置

注意:使用8.0密码策略,要选择“高级认证“方式出错。提示:使用navicat图形化工具访问mysqI服务器时出错'1251错误5、MysqI8.0数据库管理入门

修改root密码

说明:上述修改用户密码的命令中withmysql native password是mysql 5.7的方式

允许root远程登录

、MySQL登录与退出

1、MySQL登录

本地登录

mysql-u用户名(root)-p 密码显式登录mysql-u用户名(root)-p 隐式登录远程登录mysql-h主机名或ip地址-u用户名(root)-p 密码

2、MySQL退出

3、当mysq18.0安装完成后的相关配置查看mysqI服务

WIN+R-->运行-->services.msc

windows+R--->运行-->输入netstat -an

windows+R===>运行-->输入wf.msc

mysq1服务的开启与停止

①鼠标的方式

windows+R--->services.msc-->mysq180-->右键-->启动或停止上

②)命令的方式

初学者不建议修改

提示:若要修改配置文件my.ini,就需要重启mysqI服务

四、Mysq1安装方式之配置方式

1、mysql卸载

控制面板

win+R-->运行-->输入control-->卸载程序-->与mysql有关组件-->卸载

安装包

双击mysql-installer-community-8.0.39.0.msi

2、用配置文件来安装mysq1

Lmysqld];

设置3306端口

port=3306

设置mysql的安装目录

basedir "C:\mysql-8.0.39-winx64"

设置mysql数据库的数据的存放目录datadir=C:mysql-8.0.39-winx64\Data;允许最大连按数

max connections=200

允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统

max connect errors=10

服务端使用的字特集默认为UTF8

character-set-server=utf8

创建新表时将使用的默认存储引整default-storage-engine INNODB,默认使用“mysqlnative_password”插件认证defaultauthenticationplugin-mysql nativepasswordlmysql设置mysq1客户端默认字符集

default-character set utf8[client]设置mysql

客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8

五、环境变量

右键-->此电脑-->高级系统设置-->环境变量-->path-->新建-->将mysq1的安装目录bin路径放到path下即可。

六.、Mysq1目录和配置文件

Mysq1安装目录包括启动文件,配置文件,数据库文件和命令文件,具体如下:bin目录:存放一些客户端程序和可执行脚本data目录:存放一些日志文件以及数据库

docs目录:存储一些版本信息

include目录:存放一些头文件

1ib目录:存放一些库文件

share目录:存储错误消息文件、字符集等

第四章     数据库创建与常用操作

一、Mysql用户登录过程和管理mysql用户

1.1、Mysql8.0本地登录访问数据库

Mysql用户存储在mysql数据库的user表中,该表在mysql服务启动时自动加载到内存,控制用户的登录。

查看当前连接的mysql的用户

select user();

use mysql();

select user,host from user;

创建mysql用户账户

create user hector@'localhost';

alter user hector@'localhost' identified by 'abc..123'; 修改hector用户的密码

为新建本地登录用户赋权

grant all privileges on . to hector@'localhost' with grant option;

create user hector;

select host,user from user;

主机可以使用通配符,规则和标准的SQL语法中定义的完全相同

%表示任意长度的字符

_表示1位的任意字符

设置hector@'localhost'的密码为'abc..123';

alter user hector@'localhost' identified by 'abc..123';

创建用户时指定密码

create user hector@cra'localhost' identified by 'abc..123';

练习:

创建1个新用户设置密码并实现本地登录,注意授权。

create user chen@'localhost' identified by 'abc..123'; grant all privileges on . to chen@'localhost' with grant option;

1.2 Mysql8.0远程访问数据库的设置

修改root密码

mysql -u root -p

use mysql;

alter user 'root'@'localhost' identified by 'abc..123';

exit;

alter user 'root'@'localhost' identified with mysql_native_password by 'abc..123';

允许root远程登录

mysql -u root -p;

use mysql;

select host,user from user where user 'root';

create user 'root'@'192.168.x.%' identified by 'abc..123';

grant all privileges on . to 'root'@'192.168.x.%' with grant option; exit;

1.3、数据库命名规范数据库命名不能超过30个字符,推荐使用下划线命名方式

数据库命名必须为项目英文名称或有意义的缩写

数据库创建时必须加默认字符集和字符序

utf8:utf8_general_ci不区分大小写

utf8_general_cs区分大小写 utf8_bin二进制

命名应使用小写

unicode 万国码,统一码,单一码:ucs2,utf16,utf161e,utf8,utf8mb4,utf32

utf8:1个字符占1-3个字节 升级,老系统 utf8mb4:1个字符占1-4个字节 新系统

二、基本操作

2.1、连接mysql

语法:

mysql -u 用户名 -p 密码 -h 数据库服务器的地址 -D 数据库名

安装Mysql以后,默认有一个管理员root

显示登录

隐式登录

2.2、查看数据库和表

show databases;-----查看当前所有数据库

use 数据库名;-------切换数据库

show tables;-------查看当前数据库中的所有表

select user();-----显示当前登陆的用户

select database();----显示当前操作的数据库

mysql库属于系统数据库,包含mysql的相关系统信息,不要修改

这个我们前面已经说过了,但是这一部分至关重要,所以我们在这里进行了二次说明。

3.导入初始数据

3.1导入数据

准备好1个以.sql结尾的文件是数据库脚本文件先连接登陆mysql数据库。然后执行如下命令:

source E:/init.sql;

3.2表结构

desc 表名;…---直看表结构select*from 表名:-----查看表中的所有记录知识点:

表结构:只有列名称(属性)的空表

表记录:所有记录的集合

EMP表 雇员表

DEPT部门表

第五章 Linux快速安装Mysql8.0

一、Centos 8.4.2105系统下使用yum方式安装mysql 8.4

1.1、查看CenteOS系统版本

1.2、配置yum源(由于CenteOS默认yum源镜像链接有误无法直接进入第3步,所以需要更新配置yum源)

vim /etc/yum.repos.d/CentOS-Linux-AppStream.repo

[appstream]

name=CentOS Vault - AppStream

baseurl=http://vault.centos.org/8.4.2105/AppStream/x86 64/os/

enabled=1

gpgcheck=1

1.3、下载mysql源安装包

root@LinuxServer ~]# wget https://repo.mysql.com/mysql84-community-release-el8-

1.noarch.rpm

1.4、安装mysql源

下载完成后使用下面的命令安装源:

yum localinstall mysql84-community-release-el8-1.noarch.rpm

1.5、检查是否安装成功

使用yum repolist命令检查是否安装成功

1.6、安装mysql

yum install -y mysql-server

1.7、安装成功,启动mysql

1.8、设置开机自动运行

1.9、查看mysql运行进程

ps -eflgrep mysql

1.10、关闭防火墙

在此我以关闭防火墙的方式实现。

firewall-cmd .-state systemctl stop firewalld.service systemctl disable firewalld.service firewall-cmd .state

第六章  表和库的管理以及数据引擎的介绍

一、SQL简介

SQL:Structured Query Languagege 结构化的查询语言,用来对数据库进行查询、更新和管理的一种特殊的语言。DML是SQL语言的核心。

包含三个部分:

DML

Data Manipulation language数据操纵语言

用于检索或更新数据库表:insert、delete、update、select增删改查

DDL

Data Defination language数据定义语言用于定义的数据的结构:create alter drop

DCL

Data Control language数据控制语言

用于定义数据库用户的权限:grant revoke

二、表和库的管理

2.1、数据类型

整数型:smallint、int bigint

小数型:float、double

日期时间:date、time、datetime、timestamp

字符串:varchar、char、text

其他:clob存储文本大数据

blod存储二进制大数据

2.2、创建表

2.3、修改表

示例:

将t-student表名修改为student。

2.4、删除表

2.5、截断表

清空表中的数据,作法类似于无条件的delete语句

delete与truncate的区别:

  • delete会记录日志,所以速度慢,而truncate不记录日志,清空表并释放资源,速度快
  • delete可以指定条件只删除部分数据,而truncate只能用来清空表中所有数据
  • delete不会将自动增长列归零,而truncate会使自动增长的列如id列归零

2.6、创建库

第七章   字符集和排序规则

7.1彻底搞定MySQL的乱码问题

什么是乱码?

乱码是指由于编码、解码过程中的不匹配或错误,导致文本或数据在显示或解读时出现无意义、混乱或不可读的字符序列。简单来说,当你打开一个文件或接收一段信息时,如果看到的字符不是预期的文字,而是一串无法理解的符号或乱码,这通常意味着信息的编码方式与你所使用的解码方式不一致。

7.2预备知识

——字符 character eg:abcd 1234,.()

——字符集合:charset一组字符

ASCII字符集合(7bit,最高位是0),标准的——可打印的

扩展Ascii字符集合(8bit)  拉丁语系,扩展----不可打印的字符  

GB2312 简体中文

BIG5 繁体中文

GBK 包含简体中文和繁体中文

  • 字符编码 给字符集合中的每1个字符指定1个二进制数字来标识。
  • 字符集:字符集合+编码=字符集
  • 字符序:字符的排序规则 1个字符集,可以有多个排序规则即多个字符序

以_ci结尾,大小写不敏感,不区分大小写

以_cs结尾,大小写敏感,区分大小写

7.3常见的字符集

utf-8是一种变长的字节编码方式,对于某一个字符的utf-8编码,如果只有一个字节则其最高位二进制位为0;如果是多字节,其第一个字符节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头,utf8最多可以用到6个字节。

示例:

1字节 0xxx xxxx

2字节 110x xxxx 10xx xxxx

3字节 1110 xxxx 10xx xxxx 10xx xxxx

4字节 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx

5字节 1111 10xx 10xx xxxx 10xx xxxx 10xx xxxx 10xx xxxx

6字节 1111 110x 10xx xxxx 10xx xxxx 10xx xxxx 10xx xxxx 10xx xxxx

1110 0101 1000 1000 1001 1010

E58896

A

0100 0001

41

示例:

新建文本文件,使用utf-8编码来保存,验证字符的字节数。

GBK字符集,一个英文占1个字节,一个汉字占2个字节。

7.4mysql支持的字符集

语法:

7.6设置mysql字符集

7.6.1查看服务器和客服端字符集

show variableslike'character set %';查看默认字符集

7.6.2修改mysql默认字符集

临时修改

set names字符集名称;--临时修改

提示:此方法可以临时修改3个字符集

character set clientcharacter set connection

character set results

set character set database=utf8;使用此方法分别修改

永久修改--修改配置文件

windows server my.ini

linux my.cnf

重要提示:修改配置文件后,必须重启mysql服务

net start mysql;

net stop mysql;

7.7指定数据库和表以及字段的字符集

7.7.1创建数据库时,指定数据库的默认字符集create database dbdefault charset lantin1;

7.7.2创建表时,指定表的默认字符集

create tablestudent(sid int,sname char(30))default charset utf8;

7.7.3创建列(字段)时,指定列(字段)的字符集

create tablestudent1 (sid int,sname char(30),address char(20) character set latin1)defaultcharset utf8.回忆:

创建数据库时,如果不指定默认字符集,就会使用服务器字符集characterset server

创建表时,如果不指定表的默认字符集,就会使用数据库字符集character set datbase

创建列时,如果不指定列的字符集,就会使用表的字符集

7.8修改数据库、表和列的字符集

7.8.1修改数据库的字符集

语法:

alter database dbcharacter set'lantin1';

结论:

更改数据库的默认字符集对已存在数据库中的表没有影响,但是会影响新建表的默认字符集。

7.8.2修改表的字符集

语法:

alter table student1character set'utf8';

结论:修改表的默认字符集,对表中现有的字符集没有影响,但是会影响在表中新插入列的默认的字符集7.8.3修改表中列的字符集

语法:

alter table student1cgange dz dz char(20)character set "antin1';

7.9指定客户端使用的字符集

语法:

set nameslatin1;

7.10字符集的兼容性

结论:utf8兼容latin1

GBK兼容utf8

更改数据库字段字符集 由latin1可以转换为utf8;由utf8转换为latin1,汉字会变为??

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值