一.认识并安装MySQL,并回答以下问题:
MySQL有哪些版本和各自用途?
5.6x是之前使用频率最高的版本,也是使用最广泛的稳定版本
5.7x是目前正在逐步过渡使用的版本
8.0x是最新版本,本地用得较多,线上环境几乎不用,暂时不投入正常生产环境使用(其实很好用)
MySQL安装
(a)官网下载 MySQL8 安装包,有哪几种安装类型?
1、Server only:包括命令行客户端
2、developer default(开发者默认):安装MySQL开发所需的所有产品
3、server only(服务器):只安装没有服务器的MySQL客户端产品
4、client only(客户端):只安装没有服务器的MySQL客户端产品
5、full(完全):安装所有包含的MySQL产品和功能
6、custom(手动):手动选择系统上应安装的产品
(b)如选择 Full 完全安装,可选择安装的组件有哪些?说明各组件的用途。
MySQL Server:MySQL8数据库服务器
MySQL Shell:MySQL命令行工具
MySQL Router:MySQL路由器
MySQL Workbench:专为MySQL设计的集成化桌面软件
MySQL Connectors:ODBC C++ java .NET客户端程序连接MySQL需要的驱动程序
Examples and tutorials:MySQL 例子和教程
Documentation:MySQL 文档。
(c) MySQL 服务器安装的默认端口是什么?默认创建一个帐户是?
MySQL的默认端口是3306
默认创建一个账户是root
(d) 运行 MySQL8 来验证安装和配置是否成功,要求如何完成如下操作:
注意:在 Windows 平台安装时在 Windows 环境变量 path 中添加 MySQL 安装的 bin 目录。
如安装目录:C:\Program Files\MySQL\MySQL Server 8.0\bin
a)启动或停止 MySQL 服务:命令行和任务管理器窗口
b)本地连接 MySQL 数据库服务器。
注意:采用两种方法都可连接到 MySQL 服务器,包括 Windows 命令行和 CommandLineClient
客户端 。
Windows 命令行连接如:
c)操作 MySQL 数据库。
如:SHOW DATABASE; 并回答:MySQL8 安装后,自动生成了哪些系统数据库?
二、认识和安装 MySQL 的图形化界面工具:Navicat Premium
安装Navicat后,创建并打开MySQL连接:
三、使用命令实现本地数据库的创建、修改与删除。(在本机上完成 create database)
(1) 创建数据库 XSCJ:
使用命令 create database 创建数据库 XSCJ;
(2) 修改数据库 XSCJ,采用 UTF8 字符集和 UTF8_bin 排序规则。
(3) 创建 XSCJ 数据库后,查看数据库:
l 使用 SHOW DATABASES 命令查看数据库是否创建成功;
l 使用 SHOW CREATE DATABASE 语句显示数据库属性;
(3) 在操作系统中查看创建的数据库文件及所在目录
(3) 删除 XSCJ 数据库。
四、使用 SQL 语句实现表创建、修改与删除
(1)了解 MySQL 支持的数据类型,各种数据类型的长度及应用,并回答:
a. MySQL 支持哪两种字符串类型数据?分别列出各种类型的定义方式,说明各自的特
点和应用场景。
最常用的两种字符串类型有CHAR(N):定长数据类型 ,空位用空格填满
VARCHAR(N):变长字符串类型,最长为n的变长字符串
char 比varchar 的速度快。缺点是浪费空间,char的平均占用空间多余varchar
mysaim存储引擎:建议使用char
innodb存储引擎:建议使用varchar,因为innodb内部的行存储格式没有区分长度和可变长度
b.MySQL8 有哪些字符集,说明各自的特点和应用场景。
常见的MySQL字符集主要分为以下四种:
GBK :支持中文,但不是国际通用字符集
UTF-8:支持中英文混合场景,是国际通用字符集
Latin1:MySQL默认字符集
Utf8mb4:完全兼容UTF-8,用四个字节存储更多的字符
(2)在数据库中创建如下表:
Major(mno ,mname) 表示专业号,专业名,主键:mno
Stu(sno,sname,sex,birdate,mno,memo)分别表示学号,姓名,性别,出生年月有,所在的专
业号,简介;主键:sno;外键:mno,引用 Major 表的主键
Cou(cno,cname,credit,ptime,teacher)表示课号,课名,学分,学时,授课老师; 主键:cno;
Sc(sno,cno,grade) 表示学生学号,课程号,成绩;主键:(
sno,cno),外键:sno,cno 分 别引用 stu 表和 cou 表的主键。成绩的数值采用定点数,精度取 4 位,小数点后保留一位。
stu_credit(no,sno,sname,totalcredit),分别表示记录号、学号、姓名及当前已修学分合
计。其中记录号为 tinyint 类型,为主键,且按步长 1 自动增长。外键:sno
使用 CREATE TABLE 命令完成下列任务:
a)用命令 create table 创建上述的四个表。并用 primary key 关键字指明每个表的主
码,有外码用 foreign key....references 定义外码,注意定义非空约束
b)修改表 stu,为其添加表示学生 E-MAIL 号和存放照片的 photo 字段,应考虑采用合理的数据类型。修改 cou 表中 cname 字符长度为 30。
c) 创建 stu 表的副本 stu_copy(使用 LIKE 语句),再使用 drop 语句删除 stu 表。再
用表副本 stu_copy 重建 stu 表。提示:所有存在外码引用 stu.SNO 的表,需先删除外码引
用关系,才能删除 stu 表。
五、总结
在第一次的实验中安装了很多专业且方便的软件,掌握了用命令创建库 ,创建表的语句和方法,但是显然,有很多方便的工具供给我们使用,学习命令语句也是让我们更好的明白数据库底层的构造,且在运行命令行的过程中,经常出现字母,符号错误的问题,还有数据库的一些属性破坏的语句的正常运行,还需要更多的学习。