当前位置: 首页 > news >正文

第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.lryc.cn/news/476144.html

相关文章:

  • 【C++动态规划】2435. 矩阵中和能被 K 整除的路径|1951
  • 三、Kafka集群
  • [数据结构]堆
  • UDP-鼠李糖合成酶基因的克隆与鉴定-文献精读76
  • 【H2O2|全栈】JS进阶知识(四)Ajax
  • Spring IOC的工作流程
  • 从新手到专家:7款电脑平面设计软件评测
  • 【C++】如何让C++字符串更快、C++的小字符串优化
  • C++《list》
  • strongswan中METHOD定义
  • Rive 动画框架竟然支持响应式布局,全平台动画框架开启全新 UI 交互能力
  • MQ的详细大全知识点
  • AI图像相似性搜索对比:VIT, CLIP, DINO-v2, BLIP-2
  • 【tomcat系列漏洞利用】
  • 前端学习-盒子模型(十八)
  • 【C++】类和对象(十二):实现日期类
  • 文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《提升系统频率支撑能力的“车-氢”柔性可控负荷协同构网控制》
  • 异或的性质
  • 新一代Webshell管理器
  • 「iOS」——知乎日报一二周总结
  • windows C#-匿名类型
  • CryptoHack 简介
  • transformControls THREE.Object3D.add: object not an instance of THREE.Object3D.
  • 游戏开发与游戏运营:哪个更难?
  • 大模型在自动化渗透测试中的应用
  • 《AI在企业战略中的关键地位:以微软和阿里为例》
  • C语言 | Leetcode C语言题解之第537题复数乘法
  • Vue如何实现数据的双向绑定和局部更新?
  • java学习1
  • 如何缩小PPT演示文稿的大小?