第03章 MySQL的简单使用命令

一、MySQL的登录

1.1 服务的启动与停止

        MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库。 在前面的配置过程中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也 自动启动、停止。

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

步骤1:打开windows服务

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

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

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

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

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

方式2:使用命令行工具

# 启动 MySQL 服务命令:

net start MySQL服务名

# 停止 MySQL 服务命令:

net stop MySQL服务名

说明:

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

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

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

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

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

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

注意:仅限于root用户。

登录方式2:Windows命令行

格式:

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

#注意:参数和值之间的空格可省略。“-p密码”是明文显示密码,直接-p之后回车则能够密文输入。

举例:

mysql -h localhost -P 3306 -u root -pabc123

注意:

(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标识。

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

方式一   c:\> mysql -V

方式二   c:\> mysql --version

方式三   mysql> select version();        登录后使用的方式。

退出登录mysql

exit 或 quit

二、MySQL演示使用

2.1 MySQL的使用演示

2.1.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.1.2 创建自己的数据库

命令:create database 数据库名;

举例:#创建atguigudb数据库,该名称不能与已经存在的数据库重名。

create database atguigudb;

2.1.3 使用自己的数据库

命令:use 数据库名;

举例:#使用atguigudb数据库

use atguigudb;

说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”(没有选择数据库)。使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另 一个数据库操作,那么要重新use。

2.1.4 查看某个库的所有表格

命令方式一:show tables; #要求前面有use语句使用了某个库

命令方式二:show tables from 数据库名;

2.1.5 创建新的表格

create table 表名称(

        字段名 数据类型,

        字段名 数据类型

);

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

举例:

#创建学生表

create table student(

        id int,

        name varchar(20) #说名字最长不超过20个字符

);

2.1.6 查看一个表的数据

命令:select * from 数据库表名称;

举例:#查看学生表的数据

select * from student;

2.1.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;        #查看表的创建信息

2.1.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”不支持中文。

2.1.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。(8.0的默认字符集是utf-8已经支持中文)

2.1.10 删除表格

命令:drop table 表名称;

举例:删除学生表

drop table student;

2.1.11 删除数据库

命令:drop database 数据库名;

举例:#删除atguigudb数据库

drop database atguigudb;

2.2 MySQL的编码设置

2.2.1 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

问题解决:

步骤一:查看编码命令

show variables like 'character_%';        #查看字符集

show variables like 'collation_%';        #查看字符比较规则

步骤二:修改mysql的数据目录(data)下的my.ini配置文件

[mysql] #大概在63行左右,在其下添加

...

default-character-set=utf8 #默认字符集

...

[mysqld] # 大概在76行左右,在其下添加

...

character-set-server=utf8

collation-server=utf8_general_ci

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

步骤三:重启服务

步骤四(同步骤一):查看编码命令

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

2.2.2 MySQL8.0

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/463297.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 24 (wayland)如何实现无显示器远程桌面

ubuntu 24默认采用的是wayland而非x11,查过文档vnc对wayland的支持不是很好,折腾了好久,弄了一个如下的方案供参考: 硬件条件 需要一个显卡欺骗器或者可以接HDMI口作为视频信号源输出的设备。 将ubuntu的主机的HDMI输出接到该硬…

Python Matplotlib 如何处理大数据集的绘制,提高绘图效率

Python Matplotlib 如何处理大数据集的绘制,提高绘图效率 在数据分析和可视化的过程中,处理大数据集常常是我们面临的挑战。绘制大数据集不仅需要时间和计算资源,还可能导致图形显示不流畅,甚至崩溃。Matplotlib 是 Python 中一个…

【Linux】网络编程:初识协议,序列化与反序列化——基于json串实现,网络通信计算器中简单协议的实现、手写序列化与反序列化

目录 一、什么是协议? 二、为什么需要有协议呢? 三、协议的应用 四、序列化与反序列化的引入 什么是序列化和反序列化? 为什么需要序列化和反序列化? 五、序列化推荐格式之一:JSON介绍 六、网络版计算器编程逻…

ZYNQ7045之YOLO部署——FPGA-ZYNQ Soc实战笔记1

一、简介 1、目标检测概念 2、目标检测应用 3、目标检测发展历程 二、YOLO V1 1、输入 必须为448x448分辨率 2、网络结构 卷积 池化 卷积 池化 3、输出 最终7x7x30表示,7x7个各自,每个格子有30个数据,30个数据包含两个部分 1:…

服务器数据恢复—SAN环境中LUN映射错误导致文件系统一致性出错的数据恢复案例

服务器数据恢复环境: SAN光纤网络环境,存储由一组6块硬盘组建的RAID6阵列构成,划分为若干LUN,MAP到跑不同业务的SUN SOLARIS操作系统服务器上。 服务器故障&分析: 因为业务需要,用户在该光纤存储环境中…

聪明的你能从千门八将108局学到什么,对你的未来人生有哪些深远的影响?

千门八将108局:智慧的启迪与人生指引 在古老智慧的宝库中,千门八将108局犹如璀璨星辰,闪耀着神秘而深邃的光芒。那些认真钻研过这些局的人,仿佛经历了一场穿越时空的智慧洗礼,从中收获了无价的人生财富。 一、从千门八…

Launcher3 去掉桌面搜索索框

文章目录 需求实现需求说明 参考资料修改文件实现思路首页显示的搜索框去除应用列表中的搜索框去除解决方案代码跟踪代码扩展 需求 Launcher3 去掉搜桌面索框 实现需求说明 每个平台平台源码有区别,比如:MTK、高通、展讯、RK、谷歌…单个平台下 不同A…

qt QDoubleSpinBox详解

1、概述 QDoubleSpinBox是Qt框架中的一个控件,专门用于浮点数(即小数)的输入和调节。它提供了一个用户界面元素,允许用户在预设的范围内通过拖动滑块、点击箭头或使用键盘来递增或递减浮点数值。QDoubleSpinBox通常用于需要精确数…

NVR小程序接入平台/设备EasyNVR多个NVR同时管理视频监控新选择

在数字化转型的浪潮中,视频监控作为安防领域的核心组成部分,正经历着前所未有的技术革新。随着技术的不断进步和应用场景的不断拓展,视频监控系统的兼容性、稳定性以及安全性成为了用户关注的焦点。NVR小程序接入平台/设备EasyNVR&#xff0c…

qt QAction详解

1、概述 QAction是Qt框架中的一个抽象类,用于表示用户界面中的一个动作(action)。这些动作可以绑定到菜单项、工具栏按钮或快捷键上,提供了一种灵活的方式来处理用户交互。QAction不仅包含了动作的名称、图标、提示信息等属性&am…

【快速上手】pyspark 集群环境下的搭建(Standalone模式)

目录 前言 : 一、spark运行的五种模式 二、 安装步骤 安装前准备 1.第一步:安装python 2.第二步:在bigdata01上安装spark 3.第三步:同步bigdata01中的spark到bigdata02和03上 三、集群启动/关闭 四、打开监控界面验证 前…

python如何调字体大小

1、打开电脑上的IDLE程序。 2、默认字体大小给出一个直观的展示。小编自认为还是比较小的,觉得调整大一点比较好。 3、点击菜单栏的【Options】。 4、然后点击【Configure IDLE】。 5、默认字体是新宋体,大小是size4。 6、根据自己需要设置字体大小后&am…

创造、竞争、征服:成为 The Sandbox 的创作者

Alpha 第 4 季将改变创作者在 The Sandbox 中实现激情的方式!本季有 40% 的体验由我们的社区打造,The Sandbox 是你打造难忘冒险的平台,并在元宇宙中激励他人。无论你的梦想是制作惊险刺激的任务,还是设计自己生机勃勃的风景&…

Nico,从零开始干掉Appium,移动端自动化测试框架实现

开头先让我碎碎念一波~去年差不多时间发布了一篇《 UiAutomator Nico,一个基于纯 adb 命令实现的安卓自动化测试框》(https://testerhome.com/topics/37042), 由于种种原因 (详见此篇帖子) 当时选择了用纯 adb 命令来实现安卓自动…

Vue项目开发:Vuex使用,表单验证配置,ESLint关闭与常见问题解决方案

文章目录 vuexvue配置form表单验证移除vue中表单验证的两种方法关闭vue项目的eslint代码校验做vue项目出现的问题 vuex Vue提供的状态管理工具,用于统一管理我们项目中各种数据的交互和重用,存储我们需要用到的数据对象属性 state:vuex的基本…

波尼音乐 2.3.0-b1 | 开源免费的音乐播放器,附两个公共接口

波尼音乐最初作为一个毕设项目,凭借其实现了本地与网络音乐播放的能力而受到许多用户的喜爱。随着百度在线音乐API的关闭,波尼音乐逐渐失去在线音乐播放功能。在开源社区的支持下,开发者发现新的网易云音乐API,重启项目并进行全面…

“死鱼眼”,不存在的,一个提词小技巧,拯救的眼神——将内容说给用户,而非读给用户!

视频录制时,死鱼眼问题常见 即便内容再好,眼神死板也会减分 痛点真痛:拍视频时容易紧张 面对镜头,许多人难免紧张 神情僵硬,眼神无光,甚至忘词 这不仅影响表现,还让人难以专注 忘我场景&#x…

Java | Leetcode Java题解之第525题连续数组

题目&#xff1a; 题解&#xff1a; class Solution {public int findMaxLength(int[] nums) {int maxLength 0;Map<Integer, Integer> map new HashMap<Integer, Integer>();int counter 0;map.put(counter, -1);int n nums.length;for (int i 0; i < n;…

C语言 | Leetcode C语言题解之第526题优美的排列

题目&#xff1a; 题解&#xff1a; int countArrangement(int n) {int f[1 << n];memset(f, 0, sizeof(f));f[0] 1;for (int mask 1; mask < (1 << n); mask) {int num __builtin_popcount(mask);for (int i 0; i < n; i) {if (mask & (1 <<…

HarmonyOS第一课 06 构建更加丰富的页面-习题解析

判断题 1. Tabs组件可以通过接口传入一个TabsController&#xff0c;该TabsController可以控制Tabs组件进行页签切换。T 正确(True) 错误(False) 使用 this.tabsController.changeIndex(this.currentIndex); 可以切换页签 WebviewController提供了变更Web组件显示内容的接口…