目录

数据库课程设计MySQL管理与应用

目录

数据库课程设计(MySQL管理与应用)

第一章 数据库概述

01 数据库和Mysql简介

1、什么是数据库?

你可还没有意识到,每当每个同学从自己手机的联系人中查找想要通话的姓名时,这就是在使用数据库。如果在某个搜索引擎查找资料,也是在使用数据库。每个同学到银行的取款机上取钱,这其实也是在使用数据库。

数据库实质是一个数据的集合,数据的仓库。

2、与数据库有关的几个概念

①数据data;凡是可以被计算机处理的对象。如:字母、汉字、声音、符号、动画等

②信息information:计算机用户或程序员或数据库管理员将数据经过加工处理后对人们的决策起到帮助作用的有用数据。

③数据处理:数据–>数据处理–>信息

3、数据库系统的组成

DBS: database system,由数据库管理系统DBMS、数据库Database、数据库管理员DBA、计算机、数据库应用系统DBAS。

DBMS——MySQL、Oracle、Access、VFP、DB2、Ms-SQL属于系统软件的范围

DBAS—–数据库应用系统如学生管理系统、教务管理系统

4、为什么要有数据库

●程序设计数据类型(整型、浮点型、双精度、字符型、数组、字符串、结构体)

.计算机基础 excel电子表格

5、没有数据库会产生的问题

●存在大量的冗余数据,浪费资源

●数据共享程度低

●无法及时更新

●无适应业务的扩展、业务需求

小结:

1.数据库:数据的仓库

2.数据库中存放数据库对象(数据库表、视图、存储过程、函数等)

3.用户的数据是存放在数据库表中的

6、常见的关系型数据库

● Oracel

●Mysql

●Ms-SQL server

● DB2

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F206%2FWEBRESOURCE4e42a5b07df5e701b4ac43036c6ad15b&pos_id=bW7mafZJ

7、关系型数据库的基本概念

●关系:用二维表的方式来表示实体和实体集之间的关系,

●实体:客观存在的并且可以相互区别的事物。如1个人、1本书

●实体集:一本书实体100本书实体集

关系型数据库特征:二维表的组成行和列,行列存储数据。

行表示一条记录,也称为元组、实体信息,—-除了第1行

列表示一个字段,也称为属性。–只有第1行

姓名性别年龄
张三19
李四20
王五21
赵六18

●非关系型数据库:文档数据库、键值对数据库等。

8、库

理解为文件柜、房子、容器。

专业的理解:库理解为存储数据的最大的分类,一般在项目的开发过程中会根据项目来创建相应的库(一个项目创建一个库)

9、表

将用户数据存储到数据库表中,数据库表存放到数据库中。

数据库表就是数据库中的一个对象,一般在开发软件项目的过程中会根据功能模块或业务需求来创建相应的表。

10、行与列

二维表 行 列

●元组:二维表中的每1特,除了第1行

●属性:二维表中的每1列,只有第1行

学号姓名学院
001小A明理学院
002小B明理学院
003小C明理学院

11、Mysql简介

Mysql属于数据库管理系统,属于系统软件,是DBMS。现在被Oracle公司收购。

企业为什么选择Mysql?

从公司运营角度的来讲,选择uysql有着多种原因:

●oracel是收费的;Mysql是免费的

●Mysql主要从数据安全、稳定、技术服务

●Mysql是开源的(源代码开放、免费)

从技术角度来看,Mysql由于开源,可以带来两大优势:

1.可以更加了解软件运作的原理,更好的设置Mysql,一旦出现故障也可以很快定位。

2.可以更容易的开发周边产品。

所以Mysql对于初创公司、互联网公司和很多传统行业不管从功能还是性能,更多的是从成本的角度来讲Mysql是一个很好的选择。

12、Mysql数据库引擎

数据库引擎是用于存储、处理和保护数据的核心服务。Mysql数据库引擎非常多,使用 show Engines可以查看当前数据库的引擎信息。

https://i-blog.csdnimg.cn/direct/9fc8f402edad4e919781a429b80cfe73.jpeg

https://i-blog.csdnimg.cn/direct/2dc1e86d85e14b9bb0a038e5b943122e.jpeg

数据库概述小结

一、Mysql简介

1、介绍

1.1什么是数据库?

数据库:database,数据的仓库(用来存放数据库对象)按照一定的数据结构来组织、存储和管理的数据的仓库,简单来说就是存储数据的仓库。

数据库系统组成:DBS是由DB和DBMS两部分组成。

计算机硬件、DBMS、DB、DBA、DBAS。

DBS: 数据库系统

DBMS: 数据库管理系统—–系统软件,用来管理数据库的软件系统,常见的 DBMS有Mysql、oracle、Ms SQL server、DB2、sysbase、Access等。

1.2什么是mysql?

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

特点:体积小、速度快、成本低、开源,中小型网站都使用Mysql数据库。

版本:企业版Enterprise、社区版Community

DBA: Database Administrator数据库管理员

1.3数据、数据库、表

用户数据—>表(行、列)—>数据库

2、安装Mysql

2.1版本

分平台:windows、Linux、MAC-OS

分版本: 5.x、6.x、7.x、8.x

2.2安装

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

●bin:可执行文件

●data:数据库文件

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

2.3服务

安装Mysql之后,会在操作系统中添加一个mysql服务

需要先启动服务才能使用mysql

第二章 学习环境介绍

一、Vmware虚拟机介绍与学习环境规划 1、什么是虚拟机? 虚拟机(virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 虚拟机系统是一个操作系统镜像,它具有与真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立环境上进行,可以独立安装应用软件、保存数据、拥有自己的独立桌面,不会对真正的系统产生影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。 流行的虚拟机厂家有Vmware、Oracle virtual box、微软virtual PC等,它们都能在windows系统上虚拟出多个计算机(windows/linux)。 2、使用虚拟机的好处有哪些? 演示环境,可以安装各种演示环境,便于做实验—-实验、学习环境 保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序或者测试的程序可以在虚拟机上运行 避免每次重新安装操作系统 体验不同版本的操作系统,如Mac-OS、Linux、windows server 3、Vmware workstation虚拟机介绍 Vmware workstation中文名威睿工作站。是一款功能强大的桌面虚拟化软件(KVM、hyper-V、cytrix思杰),提供用户可以在单一桌面上运行不同的操作系统,和进行开发、测试、部署新的应用程序的最佳解决方案。 Vmware workstation收费,非开源(源代码不开放、收费的)

4、实战内容

· Vmware Workstation安装与配置

①官方网站下载

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F202%2FWEBRESOURCEb7ca0cf7c2edb9f720750b5736a61623&pos_id=5KHaUDz8

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

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

5.· Vmware安装windows server 2019或windows server 2016

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

②步骤

文件..>新建虚拟机–>“自定义"

③安装windows server 2019

④windows server 2019激活与优化

a.安装vmware tools

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

c.激活windows server 2019

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

· Vmware安装CentOS Linux

①新建虚拟机

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

③安装操作系统

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

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

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

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

3、将下载好的系统镜像文件,使用UltralsO(软碟通)制作操作系统安装盘

4、设置笔记本电脑的启动顺序,第1启动设置为优盘启动(按F12或ESC)

5、同在虚拟机中安装windows server 2019相同,一路下一步进行安装

6、使用系统激活工具来激活操作系统

三、学习环境规划

1、物理拓扑

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F203%2FWEBRESOURCE198963533475f96874f22802a54caf2a&pos_id=hLPo1Yxy

2、逻辑规划

主机名IP地址网关系统类型
Test-MySQL-windows192.168.121.128192.168.121.1windows server 2019
Test-Mysql-linux192 168.121.129192.168.121.1Centos linux 7.6

第三章 Windows 快速安装MySQL

一、Vmware虚拟机介绍与学习环境规划 1、什么是虚拟机? 虚拟机(virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 虚拟机系统是一个操作系统镜像,它具有与真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立环境上进行,可以独立安装应用软件、保存数据、拥有自己的独立桌面,不会对真正的系统产生影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。 流行的虚拟机厂家有Vmware、Oracle virtual box、微软virtual PC等,它们都能在windows系统上虚拟出多个计算机(windows/linux)。 2、使用虚拟机的好处有哪些? 演示环境,可以安装各种演示环境,便于做实验—-实验、学习环境 保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序或者测试的程序可以在虚拟机上运行 避免每次重新安装操作系统 体验不同版本的操作系统,如Mac-OS、Linux、windows server 3、Vmware workstation虚拟机介绍 Vmware workstation中文名威睿工作站。是一款功能强大的桌面虚拟化软件(KVM、hyper-V、cytrix思杰),提供用户可以在单一桌面上运行不同的操作系统,和进行开发、测试、部署新的应用程序的最佳解决方案。 Vmware workstation收费,非开源(源代码不开放、收费的)

4、实战内容

· Vmware Workstation安装与配置

①官方网站下载

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F202%2FWEBRESOURCEb7ca0cf7c2edb9f720750b5736a61623&pos_id=2OrkhAj2

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

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

5.· Vmware安装windows server 2019或windows server 2016

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

②步骤

文件..>新建虚拟机–>“自定义"

③安装windows server 2019

④windows server 2019激活与优化

a.安装vmware tools

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

c.激活windows server 2019

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

· Vmware安装CentOS Linux

①新建虚拟机

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

③安装操作系统

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

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

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

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

3、将下载好的系统镜像文件,使用UltralsO(软碟通)制作操作系统安装盘

4、设置笔记本电脑的启动顺序,第1启动设置为优盘启动(按F12或ESC)

5、同在虚拟机中安装windows server 2019相同,一路下一步进行安装

6、使用系统激活工具来激活操作系统

三、学习环境规划

1、物理拓扑

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F203%2FWEBRESOURCE198963533475f96874f22802a54caf2a&pos_id=mj4AWYTA

2、逻辑规划

主机名IP地址网关系统类型
Test-MySQL-windows192.168.121.128192.168.121.1windows server 2019
Test-Mysql-linux192 168.121.129192.168.121.1Centos linux 7.6

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

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

  • Mysql用户存储在mysql数据库的user表中,该表在mysq|服务启动时自动加载到内存,控制用户的登录。
  • 查看当前连接的mysq的用户

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@’localhost’ identified by ‘abc..123’;

• 练习:

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

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远程登录

2、数据库命名规范

二、基本操作

1、连接Mysql

语法:

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

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

  • 显示登录
  • 隐式登录

2、 查看数据库和表

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

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

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

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

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

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

3.导入初始数据

3.1导入数据

准备好1个以.sq|结尾的文件是数据库脚本文件

先连接登陆mysql数据库。然后执行如下命令:

source E:/init.sql;

3.2表结构

desc 表名;—–直看表结构

select *from 表名;——查看表中的所有记录

知识点:

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

表记录:所有记录的集合

EMP表 雇员表

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F198%2FWEBRESOURCE79e5097da715333c16fc6fd34eb34c9b&pos_id=u0VSbwFU

DEPT 部门表

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F199%2FWEBRESOURCEd09a8ccbb09e70276ed7c3f00371f94d&pos_id=lcADiE49

SALGRADE工资等级表

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F200%2FWEBRESOURCEdff041bad84ec2e2a029f701a2716575&pos_id=Th0VMDce

bonus资金表

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

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

  • Mysql用户存储在mysql数据库的user表中,该表在mysq|服务启动时自动加载到内存,控制用户的登录。
  • 查看当前连接的mysq的用户

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@’localhost’ identified by ‘abc..123’;

• 练习:

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

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远程登录

2、数据库命名规范

二、基本操作

1、连接Mysql

语法:

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

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

  • 显示登录
  • 隐式登录

2、 查看数据库和表

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

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

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

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

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

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

3.导入初始数据

3.1导入数据

准备好1个以.sq|结尾的文件是数据库脚本文件

先连接登陆mysql数据库。然后执行如下命令:

source E:/init.sql;

3.2表结构

desc 表名;—–直看表结构

select *from 表名;——查看表中的所有记录

知识点:

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

表记录:所有记录的集合

EMP表 雇员表

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F198%2FWEBRESOURCE79e5097da715333c16fc6fd34eb34c9b&pos_id=dkMNVb1T

DEPT 部门表

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F199%2FWEBRESOURCEd09a8ccbb09e70276ed7c3f00371f94d&pos_id=K3VKm3bn

SALGRADE工资等级表

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F200%2FWEBRESOURCEdff041bad84ec2e2a029f701a2716575&pos_id=I2DCq9sI

bonus资金表

第六章

一、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

二、表和库的管理

1.数据类型

整数型:smallint、int bigint

小数型:float、double

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

字符串:varchar、char、text

其他:clob存储文本大数据

blod存储二进制大数据

2.创建表

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F180%2FWEBRESOURCE2edaf5d72a54fb8eae3b43911ec7931f&pos_id=SOJoC762

示例:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F175%2FWEBRESOURCE9d333ef517e1c7f10462cc3a667cf57e&pos_id=KfB3E0dB

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F184%2FWEBRESOURCEc9a43b62f76ecafa6bfec923eaa5b623&pos_id=F7p56ZUq

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F177%2FWEBRESOURCE0b0f08f75ca9ef3252cc888429da0199&pos_id=nA4h4Ng2

3.修改表

  • 添加列

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F182%2FWEBRESOURCE1b245974988747bb5759a656879f3bbf&pos_id=4A3wjTCU

示例:

在t-student表中增加1名为weight体重字段,类型为双精度

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F183%2FWEBRESOURCEed8a3c5d44143389129874201922ba00&pos_id=ud3KiTcr

  • 修改列的类型

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F174%2FWEBRESOURCE4f35279b85333ec1f1684e86a36cc70f&pos_id=kcTWexuX

示例:

将t-student表中name姓名字段的宽度修改为250。

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F189%2FWEBRESOURCE5d59b2b6460c4921d4a043cdc60773ed&pos_id=Fh2Ecvr0

  • 修改列名

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F178%2FWEBRESOURCE6c16cde866a31f1164951b1d10431e9b&pos_id=msqg7F7p

示例:

将t-student表中的sex字段修改为gender。

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F176%2FWEBRESOURCE6ef1f672e2f556443065d41ea594cb2d&pos_id=U2YbGH77

  • 删除列

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F173%2FWEBRESOURCE638e5872b70ac28e2478d0b4ee723597&pos_id=CxRcJvWD

示例:

删除t-student表中的weight列(字段)。

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F188%2FWEBRESOURCE93754309bd258abe3842320bce555304&pos_id=whFCtjuV

  • 修改表名

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F179%2FWEBRESOURCE4951cc86dd4a5e1710a41a47c6f245e6&pos_id=3tk2wNDL

示例:

将t-student表名修改为student。

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F194%2FWEBRESOURCE4330bef14463a682ea04daae78cca281&pos_id=15Waea7i

4.删除表

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F192%2FWEBRESOURCE3c6cdba5231561d17573dad98339336f&pos_id=zLuvLxHo

示例:

删除test数据库中的t-user表?

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F185%2FWEBRESOURCEf975860e18f629de55e29646d2e4b678&pos_id=NDaYNXej

5、截断表

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

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F191%2FWEBRESOURCEdc3e2426c2b4d6bb9bff5e37ad8bba53&pos_id=BJ4lrzlh

示例:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F186%2FWEBRESOURCEdd96278712540449548118dc7aac4b8e&pos_id=ZcQ69Mgh

delete与truncate的区别:

  • delete会记录日志,所以速度慢,而truncate不记录日志,清空表并释放资源,速度快

  • delete可以指定条件只删除部分数据,而truncate只能用来清空表中所有数据

  • delete不会将自动增长列归零,而truncate会使自动增长的列如id列归零

6.创建库

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F193%2FWEBRESOURCE3e80821a0ad5c9b293f16024ca026569&pos_id=DsKn0CJB

示例:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F181%2FWEBRESOURCEd8212c7f1f1a727d1b9c7a7736610c93&pos_id=AymGCdzK

7、删除库

语法:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F187%2FWEBRESOURCE6f992c70b9b8acf55e84beb00810a1ab&pos_id=X1ufL7Ic

示例:

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F190%2FWEBRESOURCE8da552517fab252000c0694a3aea62f2&pos_id=d9YlrqWg

第七章

7.1什么是乱码

彻底搞定mysql乱码问题

1.什么是乱码?

乱码是指字符数据显示不正确或无法正常识别的现象。

https://i-blog.csdnimg.cn/direct/afec17a4695e4f5b93caab835e0b3921.png

7.2字符集、字符序和常见字符集

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

  • 字符集合:charset  一组字符

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

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F303%2FWEBRESOURCE3f341d37dd7b3e645d6aac3783112810&pos_id=xOGp8VvC

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

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F301%2FWEBRESOURCE5887fd00eb93057c59961bea2d61fd1c&pos_id=07S8FxmL

GB2312   简体中文

BIG5   繁体中文

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

  • 字符编码  给字符集合中的每1个字符指定1个二进制数字来标识。

  • 字符集:字符集合+编码=字符集

  • 字符序:字符的排序规则   1个字符集,可以有多个排序规则即多个字符序

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

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

  • Ascii字符集

  • 扩展Ascii字符集   latin1   8位二进制  包括Ascii字符集中的全部字符

  • GB2312  BIG5  GBK    16位二进制

  • unicode  字符集  全球语言   16位二进制

  • 扩展Ascii字符集  latin1  latin2

  • unicode字符集    unicode编码   一个字符2个字节

utf8    一个英文字符  占一个字节

一个中文字符使3个字节

  • utf8mb3   utf8mb4    more bit

  • 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.3、Mysql支持的字符集

语法:

show character set;–查看mysql支持的字符集

show variables like’character_set_%;–查看当前masql使用的字符集

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F297%2FWEBRESOURCE4f7da73161bef459a2ddc7225855a231&pos_id=5mUKcTgs

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F296%2FWEBRESOURCEae37aa13435021ca36525aaff1f672c5&pos_id=4dloxQJT

  • character set client 客户端字符集
  • character set connection连接字符集"character set
  • database数据库字符集characterset results返回结果的字符集
  • character_set server服务器字符集
  • characterset system系统字符集

创建数据库时,如果没有指定数据的字符集,则会使用服务器字符集;

创建表时,如果不指定表的字符集,则会使用数据库字符集;

创建表中字段时,如果不指定字段的字符集,则会使用表的字符集

7.4利用字符集知识解决实训室乱码

1.安装mysql

2.win+r—cmd—mysql -u root -p

输入密码

show databases;

show character set;查看支持的字符集

show variables like ‘char%’;查看当前支持的字符集

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F304%2FWEBRESOURCEf62019cf2be4407cda32f0cd263e42f1&pos_id=vGDdPyt8

set names utf8;修改所产生的字符集

show variables like ‘char%’;查看当前支持的字符集

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F305%2FWEBRESOURCE9c33037c4b5d2a9ea02fab9966037a48&pos_id=89NvoEsT

手动修改(临时修改):

set character_set_database=utf8;

set character_set_server=utf8;

show variables like ‘char%’;查看当前支持的字符集

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F302%2FWEBRESOURCE50487734b1d4a1528e0068b757b6b680&pos_id=kR0w7cEX

source d:\init.sql;

发现汉字还是乱码

show databases;

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F299%2FWEBRESOURCE0eb081a7dd0724d033ac378828728b94&pos_id=JYEOMAqU

use schooldb;

select * from tstudent;发现是乱码

设置—区域和语言—区域—管理—更改系统区域设置—打对勾Beta—重启系统

https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fnote.youdao.com%2Fyws%2Fres%2F298%2FWEBRESOURCE564ed13df421b71526501349c496b886&pos_id=t8GIeBOQ

3.win+r—cdm—重新登录

set names utf8;

show variables like ‘char%’;确保都用的是utf8

如果不是手动修改(临时修改):

set character_set_database=utf8;

set character_set_server=utf8;

查看show variables like ‘char%’;

use schooldb;

show tables;

select * from tstudent;汉字可以正常显示了

select * from tsubject;也正常了