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

数据库:Mysql数据库安装及使用

目录

一、数据库介绍

1、基本概念

2、数据库类型

3、版本演变

二、Mysql安装

1、官网下载yum安装

2、手动配置yum安装

三、Mysql基本操作

1、登录与改密

2、检测数据库健康

3、 库的创建与使用

4、数据类型

5、修饰符

6、表的创建与使用 

7、分组查询

8、查询排序及取值


一、数据库介绍

1、基本概念

①数据:描述事务的符号记录

②表:将不同的记录组织在一起

③数据库:表的集合

④主键:不能重复,每个表中只能有一个。且不能为空。

⑤唯一键:一个表可以有多个,且可以为空

⑥域:属性的额取值范围,如性别只能是男和女俩个值。

2、数据库类型

①关系型数据库:结构是二维数据库表,二维表当中每个字段(列)用来描述对象的一个属性,
每个记录(行)用来描述一个对象的信息(完整信息)表与表之间可能存在联系。

②非关系型数据库:是一种数据结构化存储方法的集合,可以是文档或者键值对等。

3、版本演变

MySQL:5.1--> 5.5 --> 5.6 --> 5.7 --> 8.0(没有6.0、7.0等)

MariaDB:5.1 -->5.5 -->10.0--> 10.1 --> 10.2 --> 10.3 --> 10.4 --> 10.5(从5.1开始,跳到10.0)

二、Mysql安装

1、官网下载yum安装

①由于centos7系统无Mysql的yum源只有MariaDB的,所以需要到官网下载yum源。

②访问官网网址mysql.com,选择DOWNLOADS。

③ 拉倒最下面选择MySQL Community(GPL) Downloads>>。

 ④选择MySQL Yum Repository,进入后选择自己对应的版本下载。

⑤ 下载若提示需要登录点击左下角No thanks,just start my download即可。

⑥下载完成后将文件拖入机器中,然后rpm -ivh 文件名安装后就可以yum install mysql -y安装mysql了。 

 ⑦补充:以上步骤是安装最新版mysql,若需要安装特定版本则在第三步选择MySQL Community(GPL) Downloads>>后选择右下角的Download Archives,进入后选择MySQL Community Server,根据自己的需求下载对应版本包。

2、手动配置yum安装

①手写配置文件清华大学源,5.7.41版本,无初始密码。

tee /etc/yum.repos.d/mysql.repo <<EOF
[mysql]
name=mysql5.7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0
EOF
#多行重定向写mysql.repo配置清华大学mysql的yum源。
yum  install  mysql-community-server -y
#安装mysql数据库

②手写配置文件官方源,5.7.3版本,有初始的随机密码。

tee /etc/yum.repos.d/mysql.repo <<EOF
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF
#多行重定向写mysql.repo配置官网mysql的yum源。
yum -y install  mysql-community-server
#安装mysql数据库
systemctl start mysqld
#启动数据库
grep password /var/log/mysqld.log
#在/var/log/mysqld.log日志文件中过滤password关键字查看初始的登录密码,注意无前面的空格
mysql -uroot -p'查到的随机密码'
#登录数据库,注意密码有特殊符号是使用引号

三、Mysql基本操作

1、登录与改密

①启动服务并在日志中过滤出初始密码登录数据库。

systemctl start mysqld
#启动服务
grep  password /var/log/mysql.log
#过滤password寻找初始密码,如下图
mysql -uroot -p'初始密码'
#登录数据库,-uroot指登录数据库的用户是root -p密码是数据库用户root的密码。

②登录成功后修改数据库密码

alter user root@localhost identified  by 'Admin@123';
#修改用户root@localhost的密码为Admin@123,注意数据库的sql语句需要以;结尾才能执行成功
quit。root@localhost和root@10.0.0.1是俩个用户。
#退出数据库
mysql -uroot -p'Admin@123'
#使用新密码登录数据库成功,密码修改成功

2、检测数据库健康

mysqladmin -uroot -p'密码'  ping
#使用mysqladmin管理命令ping数据库若正常返回mysql is alive。
若数据库不正常则返回连接失败。

3、 库的创建与使用

①登录数据库后输入 show databases;  (注意分号结尾)表示查看所有数据库,如下是默认库截图。

②show  create database 库名;查看某个库信息,如下查看默认库sys信息。

③create database  库名; 创建数据库XX,如下创建class库。

⑤ use 库名;进入某个库,如下进入class库。

4、数据类型

①整数型:

tinyint(m) 1个字节 范围(-128~127) 有一个正或负的表示符。

smallint(m) 2个字节 范围(-32768~32767)。

int(m) 4个字节 范围(-2147483648~2147483647)。

②字符串:

char(n) 固定长度,最多255个字符,注意不是字节。

varchar(n) 可变长度,最多65535个字符。

5、修饰符

①NULL:数据列可包含NULL值,默认值。

②NOT NULL:数据量不允许为NULL值,*为必填项。

③DEFAULT:默认值,若定义某个为默认值则不填写字段即为此值。

④PRIMARY KEY:主机,所有记录中此字段不能重复且不能为nulll。

⑤UNIQUE KEY :唯一键,所有记录中此字段的值不能重复,可以为null。

⑥AUTO_INCREMENT:自动递增,适用于整数数据类型。

⑦ENUM:多选,如(‘M’,‘F’),字段只能从M和F中选一个。

⑧UNSIGNED:取消负数

6、表的创建与使用 

①创建表:create table  表名(字段1 字段类型 修饰符,字段2 字段类型  修饰符);如下创建一个test表包含id,name,age,gender字段。且id为主键自增长,gender设置多选M和F默认为M。

② 查看库中所有表:show tables;

③查看表结构:describe  表名; 

④修改表名:alter table 旧表名 rename 新表名; 

⑤表中添加字段:alter table 表名   add   字段 数据类型;

⑥修改字段:alter table 表名  change  旧字段名   新字段名 数据类型不能变;

⑦表中添加数据:insert   表名(字段1,字段2...)  values(字段1值,字段2值),(字段1值,字段2值)

    查看表中数据:select 字段(*表示全部)  from  表名;

⑧修改字段内容:update 表名  set  修改字段=修改字段值   范围;

范围:不填写则表示该字段所有值全修改为某个值,where  字段=限制条件,例如where id=2。则表示修改id字段为2的,where age=19则表示修改age字段为19的字段值。 

⑨删除表中内容:delete from 表名 范围;

   清空表中内容:delete from 表名;

   库中删除表:drop  table  表名; 

7、分组查询

①分组:GROUP BY 

使用分组,则必须显示分组内容或聚合函数内容。

格式:select 字段,(使用聚合函数是加逗号)   聚合函数或分组字段,from 表,group by 字段

②聚合函数

avg():平均数  

count():数量

sum():求和

max():最大值

min():最小值

8、查询排序及取值

 ①ORDER BY:根据指定的字段对查询结果进行排序。

升序:ASE默认可以不写

降序:DESC

②LIMIT:对查询结果进行输出行数数量限制。

使用格式:查询语句  limit   范围

范围1:limit  数字      表示只显示多少行;

范围2:limit  数字,数字) 表示从第一个数字结束后显示几个数字;

相关文章:

数据库:Mysql数据库安装及使用

目录 一、数据库介绍 1、基本概念 2、数据库类型 3、版本演变 二、Mysql安装 1、官网下载yum安装 2、手动配置yum安装 三、Mysql基本操作 1、登录与改密 2、检测数据库健康 3、 库的创建与使用 4、数据类型 5、修饰符 6、表的创建与使用 7、分组查询 8、查询排…...

【冲刺蓝桥杯的最后30天】day7

大家好&#x1f603;&#xff0c;我是想要慢慢变得优秀的向阳&#x1f31e;同学&#x1f468;‍&#x1f4bb;&#xff0c;断更了整整一年&#xff0c;又开始恢复CSDN更新&#xff0c;从今天开始更新备战蓝桥30天系列&#xff0c;一共30天&#xff0c;如果对你有帮助或者正在备…...

REG.EXE修改注册表-解决win10微软输入法默认中文,将其全局修改为英文

REG.EXE修改注册表-解决win10微软输入法默认中文&#xff0c;将其全局修改为英文 使用REG.EXE 可以直接强制修改注册表字段 修改注册表&#xff1a; REG.EXE ADD 注册表路径 /v 注册表项字段 /t 注册表字段类型 /d 注册表值 /f 例如&#xff1a; REG. EX ADD HKLM\System\C…...

hive之正则函数研究学习regex/regex_replace/regex_extract

首先学习这个之前要先知道一些正则的基本知识。 随便百度一下正则表达式 – 元字符 | 菜鸟教程 字符描述\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如&#xff0c;n 匹配字符 "n"。\n 匹配一个换行符。序列 \\ 匹…...

Codeforces Round 854 by cybercats (Div. 1 + Div. 2) C、D1

C. Double Lexicographically Minimum 题意 字符串sss&#xff0c;你可以把它按任意顺序组合&#xff0c;保留的是你组合的字符串和它的倒序之间大的那一个&#xff0c;问你在满足上面条件的前提下字典序最小的字符串。 思路 分析不难发现在没达到一个关键的点的时候肯定是…...

API 网关日志的价值,你了解多少?

本文介绍了 API 网关日志的价值&#xff0c;并以知名网关 Apache APISIX 为例&#xff0c;展示如何集成 API 网关日志。 作者钱勇&#xff0c;API7.ai 技术工程师&#xff0c;Apache APISIX Committer。 原文链接 网关日志的价值 在数字化时代&#xff0c;软件架构随着业务成…...

华大单片机、STM32单片机如何做printf串口打印格式化输出

第一种方法&#xff1a;使用标准C库&#xff0c;但使用标准C库你必须关闭半主机模式&#xff08;1&#xff09;添加下面代码就是关闭半主机模式/* 告知连接器不从C库链接使用半主机的函数 */ #pragma import(__use_no_semihosting)/* 定义 _sys_exit() 以避免使用半主机模式 */…...

unity 面试汇总

1、什么是协同程序&#xff1f;答&#xff1a;在主线程运行时同时开启另一段逻辑处理&#xff0c;来协助当前程序的执行。换句话说&#xff0c;开启协程就是开启一个可以与程序并行的逻辑。可以用来控制运动、序列以及对象的行为。2、Unity3D中的碰撞器和触发器的区别&#xff…...

Spring SpringBoot中使用Mybatis-plusDemo1

官网:https://baomidou.com GitHub:GitHub - baomidou/mybatis-plus: An powerful enhanced toolkit of MyBatis for simplify development Gitee:mybatis-plus: mybatis 增强工具包&#xff0c;简化 CRUD 操作。 文档 http://baomidou.com低代码组件库 http://aizuda.com My…...

【18.04Ubuntu中解决无法识别显示屏】

【18.04Ubuntu中解决无法识别外接显示屏】1. 问题来源2. 检查Ubuntu是否识别出外接显示器3. 解决没有识别出外接显示器问题4. 显示器扩展屏幕设置1. 问题来源 实验室的一个dell显示器&#xff0c;通过HDMI连接电脑后&#xff0c;在Windows上连接上就直接可以使用了。由于我电脑…...

Python 协程详解,都在这里了

什么是协程 协程&#xff08;co-routine&#xff0c;又称微线程、纤程&#xff09; 是一种多方协同的工作方式。 协程不是进程或线程&#xff0c; 其执行过程类似于 Python 函数调用&#xff0c; Python 的 asyncio 模块实现的异步IO编程框架中&#xff0c; 协程是对使用 asy…...

百家号如何写文章赚钱,百家号写文章真的赚钱?

随着互联网的快速发展&#xff0c;越来越多的人开始关注到写文章赚钱这个领域。而在众多写作平台中&#xff0c;头条号无疑是最受欢迎的一个。那么&#xff0c;百家号写文章赚钱是真的吗&#xff1f;如何写文章赚钱呢&#xff1f;下面我们就来一一解答。 首先&#xff0c;百家号…...

【HDFS】datanodeReport RPC优化

cat datanodeReport.txt | awk ‘{print $8}’ | sort | uniq | wc -l 结果15,说明我们有15个router。 每15秒一个router8次调用这个rpc。15秒是我们的监控采集间隔。 看下router为什么要调用这个rpc。 顺着这个配置项去寻找:dfs.federation.router.dn-report.time-out 一…...

【数据结构】研究链表带环问题

&#x1f4af;&#x1f4af;&#x1f4af;&#x1f4af; 本篇主要研究的是链表带环问题&#xff0c;快慢指针的应用&#xff0c;分析不同解法对带环链表的处理&#xff0c;梳理完本篇你将对链表的理解更加透彻Ⅰ.研究链表带环问题Ⅱ.扩展带环问题1.为什么慢指针和快指针一定会相…...

数据仓库的设计思想

数据仓库设计 知识点01&#xff1a;设计大纲与学习目标 #内容大纲1、数据仓库基础知识&#xff08;回顾&#xff09;什么是数仓为什么有数仓数仓的特点是什么OLTP和OLAP系统区别&#xff08;数据库和数仓的区别&#xff09;2、数仓系统的架构与核心流程核心1&#xff1a;ETL核…...

【JavaSE】数组的定义与使用详解

目录 1.数组的基本概念 1.1数组的好处 1.2什么是数组 1.3数组的定义及初始化 1.3.1数组的创建 1.3.2数组的初始化 1.4数组的使用 1.4.1访问数组中的元素 1.4.2遍历数组 2.数组的类型 2.1认识JVM的内存分布 2.2基本类型变量与引用类型变量 2.3认识null 3.数组的应…...

Kubernetes14:Helm为了部署像微服务这种的大型项目

Kubernetes14&#xff1a;Helm介绍&#xff08;为了部署像微服务这种的大型项目&#xff09; 1、Helm的引入 (1)之前方式部署应用基本过程 编写yaml文件 1、deployment kubectl create deployment nginx --imagenginx --dryrun -o yaml > nginx.yaml2、Service kubect…...

2.3操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则

2.3操作系统-存储管理&#xff1a;页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则页式存储逻辑地址、物理地址如何判断物理地址和逻辑地址它们之间的地址关系&#xff1f;页面大小与页内地址长度的关系…...

设计模式3——结构型模式

结构型模式描述如何将类或对象按某种布局组成更大的结构&#xff0c;它分为类结构型和对象结构型模式&#xff0c;前者采用继承机制来组织接口和类&#xff0c;后者采用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低&#xff0c;满足“合成复用原则”&…...

css——图片缩放,拉伸,变形的解决办法

你的图片即将变得超级丝滑图片为什么会拉伸变形&#xff1f;怎么解决&#xff1f;css的object-fit属性object-fit属性有什么用介绍一下object-position举个小栗子图片为什么会拉伸变形&#xff1f; 前端布局时&#xff0c;图片会出现拉伸、缩放和变形的原因可能有多种: 1.例如图…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...