【MySQL学习笔记】系列三:演示使用MySQL、介绍图形化管理工具、MySQL的目录结构与源码(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【MySQL学习笔记】系列三:演示使用MySQL、介绍图形化管理工具、MySQL的目录结构与源码(一)

一、MySQL的登录


1.1 服务的启动与停止


MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库。


在前面的配置过程中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也自动启动、停止。


方式1:使用图形界面工具

步骤1:打开windows服务


方式1:计算机(点击鼠标右键)→ 管理(点击)→ 服务和应用程序(点击)→ 服务(点击)

方式2:控制面板(点击)→ 系统和安全(点击)→ 管理工具(点击)→ 服务(点击)

方式3:任务栏(点击鼠标右键)→ 启动任务管理器(点击)→ 服务(点击)

方式4:单击【开始】菜单,在搜索框中输入“services.msc”,按Enter键确认

步骤2:找到MySQL80(点击鼠标右键)→ 启动或停止(点击)


df6306a20442a5a174bbd934c28203e6_35fe9765cf5848af92f63b5a53f7756c.png


方式2:使用命令行工具


# 启动 MySQL 服务命令:
net start MySQL服务名
# 停止 MySQL 服务命令:
net stop MySQL服务名


fe14c8291077b63a73aa63f2dfbaedff_ff129d71750e4d72b2a1f2b79d22e708.png


说明:


start和stop后面的服务名应与之前配置时指定的服务名一致。


如果当你输入命令后,提示“拒绝服务”,请以系统管理员身份打开命令提示符界面重新尝试。


1.2 自带客户端的登录与退出


当MySQL服务启动完成后,便可以通过客户端来登录MySQL数据库。注意:确认服务是开启的。


登录方式1:MySQL自带客户端

开始菜单 → 所有程序 → MySQL → MySQL 8.0 Command Line Client


a256800daed23be4517a9c9dc468ecb4_9304ec9026da49718d9bdb90a3a1f6bb.png


说明:仅限于root用户


登录方式2:windows命令行

格式:


mysql -h 主机名 -P 端口号 -u 用户名 -p密码


举例:


mysql -h localhost -P 3306 -u root -pabc123  # 这里我设置的root用户的密码是abc123


976d231a9bfbefac6cf9d4926583dc93_8cfcb51f4bcc43efbb6d16cd4aa02978.png


注意:


(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格。如:


mysql -hlocalhost -P3306 -uroot -pabc123


(2)密码建议在下一行输入,保证安全


mysql -h localhost -P 3306 -u root -p
Enter password:****


(3)客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1。同时,因为是连接本机:

-hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略


简写成:


mysql -u root -p
Enter password:****


连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。


也可以在命令行通过以下方式获取MySQL Server服务版本的信息:


c:\> mysql -V


c:\> mysql --version


或登录后,通过以下方式查看当前版本信息:


mysql> select version();


退出登录


exit
quit


二、MySQL演示使用


2.1 MySQL的使用演示


1、查看所有的数据库


show databases;


“information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息,比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件 所在的文件夹和系统使用的文件夹,等等


“performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。


“sys”数据库是 MySQL 系统自带的数据库,主要作用是以一种更容易被理解的方式展示 MySQL 数据库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL 的技术性能。


“mysql”数据库保存了 MySQL 数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的字符集、约束检查信息,等等


为什么 Workbench 里面我们只能看到“demo”和“sys”这 2 个数据库呢?


这是因为,Workbench 是图形化的管理工具,主要面向开发人 员,“demo”和“sys”这 2 个数据库已经够用了。如果有特殊需求,比如,需要监控 MySQL 数据库各项性能指标、直接操作 MySQL 数据库系统文件等,可以由 DBA 通过 SQL 语句,查看其它的系统数据库。


2、创建自己的数据库


create database 数据库名;
#创建atguigudb数据库,该名称不能与已经存在的数据库重名。
create database atguigudb;


3、使用自己的数据库


use 数据库名;
#使用atguigudb数据库
use atguigudb;


说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”(没有选择数据库)


使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。


4、查看某个库的所有表格


show tables;  #要求前面有use语句
show tables from 数据库名;


5、创建新的表格


create table 表名称(
  字段名  数据类型,
  字段名 数据类型
);


说明:如果是最后一个字段,后面就用加逗号,因为逗号的作用是分割每个字段。


#创建学生表
create table student(
  id int,
    name varchar(20)  #说名字最长不超过20个字符
);


6、查看一个表的数据


select * from 数据库表名称;


#查看学生表的数据
select * from student;


7、添加一条记录


insert into 表名称 values(值列表);
#添加两条记录到student表中
insert into student values(1,'张三');
insert into student values(2,'李四');


报错:


mysql> insert into student values(1,'张三');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
mysql> insert into student values(2,'李四');
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'name' at row 1
mysql> show create table student;


字符集的问题。


8、查看表的创建信息


show create table 表名称\G
#查看student表的详细创建信息
show create table student\G


#结果如下
*************************** 1. row ***************************
       Table: student
Create Table: CREATE TABLE `student` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)


上面的结果显示student的表格的默认字符集是“latin1”不支持中文。


9、查看数据库的创建信息


show create database 数据库名\G
#查看atguigudb数据库的详细创建信息
show create database atguigudb\G


#结果如下
*************************** 1. row ***************************
       Database: atguigudb
Create Database: CREATE DATABASE `atguigudb` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)


上面的结果显示atguigudb数据库也不支持中文,字符集默认是latin1。


10、删除表格


drop table 表名称;


#删除学生表
drop table student;


11、删除数据库


drop database 数据库名;


#删除atguigudb数据库
drop database atguigudb;


2.2 MySQL的编码设置


MySQL5.7中

问题再现:命令行操作sql乱码问题


mysql> INSERT INTO t_stu VALUES(1,'张三','男');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'sname' at row 1


问题解决


步骤1:查看编码命令


show variables like 'character_%';
show variables like 'collation_%';


步骤2:修改mysql的数据目录下的my.ini配置文件


[mysql]  #大概在63行左右,在其下添加
... 
default-character-set=utf8  #默认字符集
[mysqld]  # 大概在76行左右,在其下添加
...
character-set-server=utf8
collation-server=utf8_general_ci


注意:建议修改配置文件使用notepad++等高级文本编辑器,使用记事本等软件打开修改后可能会导致文件编码修改为“含BOM头”的编码,从而服务重启失败。


步骤3:重启服务


步骤4:查看编码命令


show variables like 'character_%';
show variables like 'collation_%';



682771e3a48ee822aad3186caa53e46e_69d9c707af9748e3a6c458b9433b8ae3.png


685f31e025f6f720904b62e3a14c4f45_1ef054bd944d431a87840255aa7b8213.png


如果是以上配置就说明对了。接着我们就可以新创建数据库、新创建数据表,接着添加包含中文的数据了。

MySQL8.0中

在MySQL 8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL 8.0开始,数据库的默认编码改为utf8mb4,从而避免了上述的乱码问题。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
canal 消息中间件 关系型数据库
Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
【9月更文挑战第1天】Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
88 4
|
14天前
|
SQL 关系型数据库 MySQL
推荐一款高颜值的MySQL管理工具:Sequel Pro
推荐一款高颜值的MySQL管理工具:Sequel Pro
|
1月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
44 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
1月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
53 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
20天前
|
SQL 关系型数据库 MySQL
在Linux中,mysql 数据备份工具有哪些?
在Linux中,mysql 数据备份工具有哪些?
|
23天前
|
SQL 存储 关系型数据库
MySQL备份:mydumper 备份恢复工具生产实战
MySQL备份:mydumper 备份恢复工具生产实战
|
23天前
|
关系型数据库 MySQL 数据库
MySQL回滚工具:binlog 闪回工具 MyFlash工具
MySQL回滚工具:binlog 闪回工具 MyFlash工具
|
24天前
|
存储 自然语言处理 关系型数据库
MySQL全文索引源码剖析之Insert语句执行过程
【8月更文挑战第17天】在MySQL中,处理含全文索引的`INSERT`语句涉及多步骤。首先进行语法解析确认语句结构无误;接着语义分析检查数据是否符合表结构及约束。随后存储引擎执行插入操作,若涉及全文索引则进行分词处理,并更新倒排索引结构。此外,事务管理确保了操作的完整性和一致性。通过示例创建含全文索引的表并插入数据,可见MySQL如何高效地处理此类操作,有助于优化数据库性能和提升全文搜索效果。
|
28天前
|
NoSQL 关系型数据库 MySQL
SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
70 2
|
29天前
|
SQL 关系型数据库 MySQL
MySQL学习笔记
这篇文章是一份关于MySQL数据库操作的学习笔记,涵盖了数据库的终端操作、数据类型、建表约束、事务处理以及SQL的连接查询等基础知识点。

热门文章

最新文章