linux系统环境下mysql安装和基本命令学习
此篇文章为蓝桥云课--MySQL的学习记录
块引用部分为自己的实验部分,其余部分是课程自带的知识,链接如下:
MySQL 基础课程_MySQL - 蓝桥云课
本课程为 SQL 基本语法及 MySQL 基本操作的实验,理论内容较少,动手实践多,可以快速上手 SQL 及 MySQL 服务。
一、基础安装和介绍
1.1 实验内容
本次课程对数据库、SQL、MySQL 做了简单介绍,并介绍了 Ubuntu Linux 下 MySQL 的安装。完成本实验,可以对这门课程和 MySQL 有了简单的了解,接下来的实验也将在此基础上进行。
1.2 实验知识点
- 数据库的概念
- MySQL 的安装
1.3 实验环境
课程使用的实验环境为 Ubuntu Linux 16.04 64 位版本。实验中会用到程序:
- Mysql 5.7.22
- Xfce 终端
- Gedit
2.1 数据库和 SQL 概念
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它的产生距今已有六十多年。随着信息技术和市场的发展,数据库变得无处不在:它在电子商务、银行系统等众多领域都被广泛使用,且成为其系统的重要组成部分。
数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增、删、改、查等操作。
结构化查询语言(Structured Query Language)简称 SQL,是上世纪 70 年代由 IBM 公司开发,用于对数据库进行操作的语言。更详细地说,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。
2.2 MySQL 介绍
MySQL 是一个 DBMS(数据库管理系统),由瑞典 MySQLAB 公司开发,目前属于 Oracle 公司,MySQL 是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发者都选择 MySQL 作为网站数据库。MySQL 使用 SQL 语言进行操作。
检查是否安装mysql
先要检查 Linux 系统中是否已经安装了 MySQL,输入命令尝试打开 MySQL 服务:
sudo service mysql start
输入密码后,如果出现以下提示,则说明系统中已经安装有 MySQL:

如果提示是这样的,则说明系统中没有 MySQL,需要继续安装:
mysql: unrecognized service
我试了一下是这样的结果
在 Ubuntu 上安装 MySQL,最简单的方式是在线安装。只需要几行简单的命令( # 号后面是注释):
#安装 MySQL 服务端、核心程序
sudo apt-get install mysql-server#安装 MySQL 客户端
sudo apt-get install mysql-client
在安装过程中会提示确认输入 YES,设置 root 用户密码(之后也可以修改)等,稍等片刻便可安装成功。
安装结束后,用命令验证是否安装并启动成功:
sudo netstat -tap | grep mysql
如果出现如下提示,则安装成功:

此时,可以根据自己的需求,用 gedit 修改 MySQL 的配置文件(my.cnf),使用以下命令:
sudo gedit /etc/mysql/my.cnf
至此,MySQL 已经安装、配置完成,可以正常使用了。
1). 打开 MySQL:
使用如下两条命令,打开 MySQL 服务并使用 root 用户登录:
# 启动 MySQL 服务
sudo service mysql start# 使用 root 用户登录,实验楼环境的密码为空,直接回车就可以登录
mysql -u root
执行成功会出现如下提示:

我的运行
2). 查看数据库:
使用命令 show databases;,查看有哪些数据库(注意不要漏掉分号 ;):

可见已有三个数据库,分别是 “information-schema”、“mysql”、“performance-schema”。
我的运行
3). 连接数据库:
选择连接其中一个数据库,语句格式为 use <数据库名>,这里可以不用加分号,这里我们选择 information_schema 数据库:
use information_schema

4). 查看表:
使用命令 show tables; 查看数据库中有哪些表(注意不要漏掉“;”):

5). 退出:使用命令 quit 或者 exit 退出 MySQL。
我的使用
![]()
二、创建数据库并插入数据
1.1 实验内容
本次课程将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识。本节实验将创建一个名为 mysql_shiyan 的数据库,其中有两张表 employee 和 department。
1.2 实验知识点
- 基本数据类型
- 插入数据
1.3 实验环境
课程使用的实验环境为 Ubuntu Linux 16.04 64 位版本。实验中会用到程序:
- Mysql 5.7.22
- Xfce 终端
实验准备
在使用实验楼 Linux 环境进行本次实验之前,先用以下两条命令打开 MySQL 服务并使用 root 登录:
# 打开 MySQL 服务
sudo service mysql start#使用 root 用户登录,密码为空
mysql -u root
如果你理解了上述代码的含义, -u 和 root 之间可以不要空格
后续的实验都在 MySQL 的控制台输入命令进行操作。
3.1新建数据库
首先,我们创建一个数据库,给它一个名字,比如 mysql_shiyan,以后的几次实验也是对 mysql_shiyan 这个数据库进行操作。 语句格式为 CREATE DATABASE <数据库名字>;,(注意不要漏掉分号 ;),前面的 CREATE DATABASE 也可以使用小写,具体命令为:
CREATE DATABASE mysql_shiyan;
创建成功后输入命令 show databases; (注意不要漏掉;)检查一下:

在大多数系统中,SQL 语句都是不区分大小写的,因此以下语句都是合法的:
CREATE DATABASE name1;
create database name2;
CREATE database name3;
create DAtabaSE name4;
但是出于严谨,而且便于区分保留字(保留字(reserved word):指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。)和变量名,我们把保留字大写,把变量和数据小写。
3.2 连接数据库
接下来的操作,就在刚才创建的 mysql_shiyan 中进行,由于一个系统中可能会有多个数据库,要确定当前是对哪一个数据库操作,使用语句 use <dbname>:
use mysql_shiyan;
如图显示,则连接成功:

输入命令 show tables; 可以查看当前数据库里有几张表,现在 mysql_shiyan 里还是空的:

3.3 数据表
数据表(table)简称表,它是数据库最重要的组成部分之一。数据库只是一个框架,表才是实质内容。
而一个数据库中一般会有多张表,这些各自独立的表通过建立关系被联接起来,才成为可以交叉查阅、一目了然的数据库。如下便是一张表:
| ID | name | phone |
|---|---|---|
| 01 | Tom | 110110110 |
| 02 | Jack | 119119119 |
| 03 | Rose | 114114114 |
3.4 新建数据表
在数据库中新建一张表的语句格式为:
CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
我们尝试在 mysql_shiyan 中新建一张表 employee,包含姓名,ID 和电话信息,所以语句为:
CREATE TABLE employee (id int(10),name char(20),phone int(12));
然后再创建一张表 department,包含名称和电话信息,想让命令看起来更整洁,你可以这样输入命令:

这时候再 show tables; 一下,可以看到刚才添加的两张表:

3.5 数据类型
在刚才新建表的过程中,我们提到了数据类型,MySQL 的数据类型和其他编程语言大同小异,下表是一些 MySQL 常用数据类型:
| 数据类型 | 大小(字节) | 用途 | 格式 |
|---|---|---|---|
| INT | 4 | 整数 | |
| FLOAT | 4 | 单精度浮点数 | |
| DOUBLE | 8 | 双精度浮点数 | |
| ENUM | -- | 单选,比如性别 | ENUM('a','b','c') |
| SET | -- | 多选 | SET('1','2','3') |
| DATE | 3 | 日期 | YYYY-MM-DD |
| TIME | 3 | 时间点或持续时间 | HH:MM:SS |
| YEAR | 1 | 年份值 | YYYY |
| CHAR | 0~255 | 定长字符串 | |
| VARCHAR | 0~255 | 变长字符串 | |
| TEXT | 0~65535 | 长文本数据 |
整数除了 INT 外,还有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。
CHAR 和 VARCHAR 的区别: CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10),表示存储的字符将占 10 个字节(包括 7 个空字符),而同样的 VARCHAR(12) 则只占用 4 个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。
ENUM 和 SET 的区别: ENUM 类型的数据的值,必须是定义时枚举的值的其中之一,即单选,而 SET 类型的值则可以多选。
想要了解更多关于 MySQL 数据类型的信息,可以参考下面两篇博客。
- MySQL 中的数据类型介绍
- MySQL 数据类型
3.6 插入数据
刚才我们新建了两张表,使用语句 SELECT * FROM employee; 查看表中的内容,可以看到 employee 表中现在还是空的:

刚才使用的 SELECT 语句将在下一节实验中详细介绍
我们通过 INSERT 语句向表中插入数据,语句格式为:
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
我们尝试向 employee 中加入 Tom、Jack 和 Rose:
INSERT INTO employee(id,name,phone) VALUES(01,'Tom',110110110);INSERT INTO employee VALUES(02,'Jack',119119119);INSERT INTO employee(id,name) VALUES(03,'Rose');
你已经注意到了,有的数据需要用单引号括起来,比如 Tom、Jack、Rose 的名字,这是由于它们的数据类型是 CHAR 型。此外 VARCHAR,TEXT,DATE,TIME,ENUM 等类型的数据也需要单引号修饰,而 INT,FLOAT,DOUBLE 等则不需要。
第一条语句比第二条语句多了一部分:(id,name,phone) 这个括号里列出的,是将要添加的数据 (01,'Tom',110110110) 其中每个值在表中对应的列。而第三条语句只添加了 (id,name) 两列的数据,所以在表中 Rose 的 phone 为 NULL。
现在我们再次使用语句 SELECT * FROM employee; 查看 employee 表,可见 Tom 和 Jack 的相关数据已经保存在其中了:

总结
经过本次实验,我们已经有了一个名为 mysql_shiyan 的数据库,其中有两张表,我们已经向其中插入了一些数据。务必完整地操作一遍,以熟练 SQL 语句的使用。下一节我们将进入 SQL 约束的学习。
课后习题
新建一个名为 library 的数据库,包含 book、reader 两张表,根据自己的理解安排表的内容并插入数据。保存截图。
我的尝试
相关文章:
linux系统环境下mysql安装和基本命令学习
此篇文章为蓝桥云课--MySQL的学习记录 块引用部分为自己的实验部分,其余部分是课程自带的知识,链接如下: MySQL 基础课程_MySQL - 蓝桥云课 本课程为 SQL 基本语法及 MySQL 基本操作的实验,理论内容较少,动手实践多&am…...
Monitor 原理
每个 Java 对象都可以关联一个 Monitor 对象,如果使用 synchronized 给对象上锁(重量级)之后,该对象头的 Mark Word 中就被设置指向 Monitor 对象的指针。 Monitor组成内容 EntryList(入口列表) 当一个线…...
Java核心知识点整理大全7-笔记
目录 4.1.9. JAVA 锁 4.1.9.1. 乐观锁 4.1.9.2. 悲观锁 4.1.9.3. 自旋锁 4.1.9.4. Synchronized 同步锁 Synchronized 作用范围 Synchronized 核心组件 Synchronized 实现 4.1.9.5. ReentrantLock Lock 接口的主要方法 非公平锁 公平锁 ReentrantLock 与 synchronized …...
Flink Operator 使用指南 之 全局配置
背景 在上一个章节中已经介绍了基本的Flink-Operator安装,但是在实际的数据中台的项目中,用户可能希望看到Flink Operator的运行日志情况,当然这可以通过修改Flink-Operator POD的文件实现卷挂载的形势将日志输出到宿主机器的指定目录下,但是这种办法对数据中台的产品不是…...
手把手教你通过CODESYS V3进行PLC编程(一)
教程背景 宏集MC系列模块化控制器是基于Raspberry Pi的高性能4核控制器,运动控制循环时间最快可达500微秒,实现了计算能力和成本之间的最佳平衡,适用于多轴运动控制和CNC控制。 教程目的 本系列教程将使用宏集MC系列控制器,详细…...
《算法通关村—进制转换问题处理模板》
《算法通关村—进制转换问题处理模板》 先来一个题热热身 504. 七进制数 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。 示例 1: 输入: num 100 输出: "202"示例 2: 输入: num -7 输出: "-10"提示: …...
python接口自动化测试之接口数据依赖
一般在做自动化测试时,经常会对一整套业务流程进行一组接口上的测试,这时候接口之间经常会有数据依赖,那又该如何继续呢? 那么有如下思路: 抽取之前接口的返回值存储到全局变量字典中。初始化接口请求时,…...
s28.CentOS、Ubuntu、Rocky Linux系统初始化脚本v6版本
CentOS、Ubuntu、Rocky系统初始化脚本 Shell脚本源码地址: Gitee:https://gitee.com/raymond9/shell Github:https://github.com/raymond999999/shell 可以去上面的Gitee或Github仓库代码拉取脚本。 版本功能v6版更新内容1.由于CentOS 6…...
go同步锁 sync mutex
goroutine http://127.0.0.1:3999/concurrency/11 go tour 到此 就结束了. 继续 学习 可以 从 以下网站 文档 https://golang.org/doc/ https://golang.org/doc/code https://golang.org/doc/codewalk/functions/ 博客 https://go.dev/blog/ wiki 服务器教程 服务器…...
使用项目自动生成的dokcerfile第一次构建时把加载aps5.0失败无法找到加载的文件
第一次构建初始化项目自带的dockerfile,内容如下: #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.#FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base #WORKDIR /a…...
ACREL DC energy meter Application in Indonesia
安科瑞 华楠 Abstract: This article introduces the application of Acrel DC meters in base station in Indonesia.The device is measuring current,voltage and energy together with hall current sensor. 1.Project Overview This company is located in Indonesia a…...
报错!Jupyter notebook 500 : Internal Server Error
Jupyter notebook 报错 500 : Internal Server Error 问题背景 tensorflow-gpu环境,为跑特定代码专门开了一个环境,使用conda安装了Jupyter notebook,能够在浏览器打开Jupyter notebook,但是notebook打开ipynb会报错。 问题分析…...
2023.11.21使用<button>元素来触发form表单和数据提交
2023.11.21使用<button>元素来触发form表单和数据提交 除了使用<input>中的submit方式进行form表单和数据提交,还可以使用button方式,两种方式视使用场景,各有优点。 方法一:可以将<button>放…...
leetcode:504. 七进制数
一、题目: 链接: 504. 七进制数 - 力扣(LeetCode) 函数原型: char* convertToBase7(int num) 二、思路 本题要将十进制数转换为二进制数,只要将十进制num数模7再除7,直到num等于0 每次将模7的结…...
centos安装指定版本docker
centos7安装指定版本的docker 官方文档 https://docs.docker.com/engine/install/centos/ 1、卸载旧版本 $ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2、设…...
PPT幻灯片里的图片,批量提取
之前分享过如何将PPT文件导出成图片,今天继续分享PPT技巧,如何提取出PPT文件里面的图片。 首先,我们将PPT文件的后缀名,修改为rar,将文件改为压缩包文件 然后我们将压缩包文件进行解压 最好是以文件夹的形式解压出来…...
《Fine-Grained Image Analysis with Deep Learning: A Survey》阅读笔记
论文标题 《Fine-Grained Image Analysis with Deep Learning: A Survey》 作者 魏秀参,南京理工大学 初读 摘要 与上篇综述相同: 细粒度图像分析(FGIA)的任务是分析从属类别的视觉对象。 细粒度性质引起的类间小变化和类内…...
【网络安全】伪装IP网络攻击的识别方法
随着互联网的普及和数字化进程的加速,网络攻击事件屡见不鲜。其中,伪装IP的网络攻击是一种较为常见的攻击方式。为了保护网络安全,我们需要了解如何识别和防范这种攻击。 一、伪装IP网络攻击的概念 伪装IP网络攻击是指攻击者通过篡改、伪造I…...
redis非关系型数据库
1.redis redis:开源的,使用c语言编写的NQL数据库 redis:基于内存运行,支持持久化(数据恢复)。采用的就是key-value(键值对)的存储形式,目前在分布式架构中,…...
LeetCode 0053. 最大子数组和:DP 或 递归(线段树入门题?)
【LetMeFly】53.最大子数组和:DP 或 递归 力扣题目链接:https://leetcode.cn/problems/maximum-subarray/ 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
java+webstock
maven依赖 <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.5</version></dependency><dependency><groupId>org.apache.tomcat.websocket</groupId&…...
基于谷歌ADK的 智能产品推荐系统(2): 模块功能详解
在我的上一篇博客:基于谷歌ADK的 智能产品推荐系统(1): 功能简介-CSDN博客 中我们介绍了个性化购物 Agent 项目,该项目展示了一个强大的框架,旨在模拟和实现在线购物环境中的智能导购。它不仅仅是一个简单的聊天机器人,更是一个集…...
VSCode 没有添加Windows右键菜单
关键字:VSCode;Windows右键菜单;注册表。 文章目录 前言一、工程环境二、配置流程1.右键文件打开2.右键文件夹打开3.右键空白处打开文件夹 三、测试总结 前言 安装 VSCode 时没有注意,实际使用的时候发现 VSCode 在 Windows 菜单栏…...
21-Oracle 23 ai-Automatic SQL Plan Management(SPM)
小伙伴们,有没有迁移数据库完毕后或是突然某一天在同一个实例上同样的SQL, 性能不一样了、业务反馈卡顿、业务超时等各种匪夷所思的现状。 于是SPM定位开始,OCM考试中SPM必考。 其他的AWR、ASH、SQLHC、SQLT、SQL profile等换作下一个话题…...
基于django+vue的健身房管理系统-vue
开发语言:Python框架:djangoPython版本:python3.8数据库:mysql 5.7数据库工具:Navicat12开发软件:PyCharm 系统展示 会员信息管理 员工信息管理 会员卡类型管理 健身项目管理 会员卡管理 摘要 健身房管理…...










