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

news2024/9/28 3:20:45

目录

一、数据库介绍

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  数字,数字) 表示从第一个数字结束后显示几个数字;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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

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

残酷现实:大部分的App小程序,日活<100

残酷现实:99%的APP小程序&#xff0c;日活<100 日活跃用户数量(DAU&#xff09;是一个核心指标 Daily Active Users 互联网的难度系数一路拉高 只有流过血的战士&#xff0c;才能意识到战场的残酷 趣讲大白话&#xff1a;赵本山小品台词&#xff0c; 残酷的现实已直逼我心理…

千访 | 互动千万!小红书博主修炼手册

采访手记&#xff1a; 截止到目前&#xff0c;姜老师的护肤成分室在小红书的粉丝量已达150W。在赛道内卷的美妆区&#xff0c;突破真人出镜讲解&#xff0c;采用二次元漫画&#xff0b;变美内容结合&#xff0c;成为护肤动画领域的头部大号。 接下来&#xff0c;就让我们通过…

[算法]希尔排序——插入排序的升级

参考&#xff1a;《漫画算法-小灰的算法之旅》 目录 1、希尔排序的思想 2、例子 3、希尔排序代码 4、希尔排序的优化 5、希尔排序是不稳定排序 问&#xff1a;什么情况下插入排序的工作量会比较小呢&#xff1f; 答&#xff1a;首先&#xff0c;当数组元素较小时&#xf…

基于Halcon的MLP(多层感知神经网络)分类器分类操作实例

一、介绍 人工神经网络(Artificial Neural Network,ANN)简称神经网络(Neural Network,NN)或类神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。 MLP神经网络是一种基于神经网络、动态的分类器。MLP分类器使用神经…

C51---智能感应垃圾桶

1.器件&#xff1a;C51、蜂鸣器、SG90舵机、HC-SR04超声波测距 2.实现功能&#xff1a;超声波感应&#xff0c;舵机转动打开垃圾桶&#xff0c;蜂鸣器发出提示&#xff0c;LED灯亮 3.代码&#xff1a; #include "reg52.h" #include "intrins.h" //距离小…

关于进程与进程调度

目录什么是进程进程管理进程的结构体(PCB)里的属性并行与并发什么是进程 一个运行起来的程序就是进程. 比如文件名是以 exe 结尾的就是一可执行文件(程序) 双击QQ.exe文件, 这个程序就跑起来了, 它在系统中形成了一个进程, 那我们怎么看到进程呢? 可以打开任务管理器, 点开进…

Spark MLlib 模型训练

Spark MLlib 模型训练决策树随机森林GBDTSpark MLlib 开发框架下 : 监督学习 : 回归 (Regression) , 分类 (Classification) , 协同过滤 (Collaborative Filtering)非监督学习 : 聚类 (Clustering) 、频繁项集 (Frequency Patterns) 例子分类 : 算法分类 : 算法分类算法子分类…

探究SMC局部代码加密技术以及在CTF中的运用

前言 近些日子在很多线上比赛中都遇到了smc文件加密技术,比较出名的有Hgame杭电的比赛,于是我准备实现一下这项技术&#xff0c;但是在网上看了很多文章&#xff0c;发现没有讲的特别详细的&#xff0c;或者是无法根据他们的方法进行实现这项技术&#xff0c;因此本篇文章就是…

Springboot怎么快速集成Redis?

前言其实在Springboot中集成redis是一个非常简单的事情&#xff0c;但是为什么要单独输出一篇文章来记录这个过程呢&#xff1f;第一个原因是&#xff0c;我记性不是太好&#xff0c;这次把这个过程记录下&#xff0c;在新的项目搭建的时候或者需要在本地集成redis做一些其他相…

51红外循迹智能车——红外循迹模块设计

目录 赛道环境 红外传感器的特征 TCRT5000传感器 LM339单限电压比较器 LM339简介 ​编辑 单限电压比较器仿真 红外循迹模块的设计 红外循迹模块原理图 红外循迹模块原理图讲解 赛道环境 上图为赛道示意图&#xff0c;两端为黑色&#xff0c;中间为白色 红外传感器的…

小孩用什么样的台灯比较好?2023眼科医生青睐的儿童台灯推荐

小孩子属于眼睛比较脆弱的人群&#xff0c;所以选购护眼台灯时&#xff0c;选光线温和的比较好&#xff0c;而且调光、显色效果、色温、防蓝光等方面也要出色&#xff0c;否则容易导致孩子近视。 1、调光。台灯首先是照度高&#xff0c;国AA级&#xff0b;大功率发光&#xff0…

Yolov5目标检测算法解析:模型结构

Yolov5系列是Yolo家族新一代的模型&#xff0c;相比于之前的版本Yolov3和Yolov4&#xff0c;相同的是&#xff0c;它依然采用锚框&#xff08;anchor&#xff09;对目标的尺寸进行回归的思想&#xff0c;保持大中小多种尺度特征输出&#xff0c;所不同的是&#xff0c;Yolov5系…

SQL 进阶刷题笔记

SQL 进阶刷题笔记 一、MySQL 进阶 这里主要是 MySQL 刷题相关笔记&#xff0c;方便后面温习和查阅&#xff0c;希望可以帮到大家&#xff01;&#xff01;&#xff01; 题1 请计算每张SQL类别试卷发布后&#xff0c;当天5级以上的用户作答的人数uv和平均分avg_score&#xff0…

TCP和UDP对比

TCP和UDP对比 UDP(用户数据报协议) 无连接(指的是逻辑连接关系,不是物理上的连接) 支持单播、多播以及广播,也就是UDP支持一对一、一对多、一对全 面向应用报文的,对应用层交付的报文直接打包 无连接不可靠的传输服务(适用于IP电话、视频会议等实时应用),不使用流量控制和…

易优cms range 范围判断标签

range 范围判断标签 【基础用法】 标签&#xff1a;range 描述&#xff1a;范围判断标签包括in notin between notbetween四个标签&#xff0c;都用于判断变量是否中某个范围。 用法&#xff1a; {eyou:range name$eyou.field.typeid value1,2,3,4 typein} 输出内容 {/e…

HTTPS加密解析

日升时奋斗&#xff0c;日落时自省 目录 1、加密解释 2、对称加密 3、非对称加密 4、证书 HTTPS&#xff08;HyperText Transfer Protocol over Secure Socket Layer&#xff09;也是一个应用层协议&#xff0c;是在HTTP协议的基础上引入了一个加密层 HTTP协议内容都是按…

卷积神经网络(CNN)基础知识

文章目录CNN的组成层卷积层卷积运算卷积的变种分组卷积转置卷积空洞卷积可变形卷积卷积层的输出尺寸和参数量CNN的组成层 在卷积神经⽹络中&#xff0c;⼀般包含5种类型的⽹络层次结构&#xff1a;输入层、卷积层、激活层、池化层和输出层。 输入层&#xff08;input layer&a…

Android Audio HAL 服务

在 Android 系统中&#xff0c;Audio HAL 服务用于管理对音频硬件的访问&#xff0c;AudioFlinger 通过 Audio HAL 服务访问音频硬件。这里以 Android Automotive (AAOS) 版模拟器为例&#xff0c;来看 Audio HAL 服务的设计、实现和访问&#xff0c;代码分析基于 android-12.1…

【JavaSE】数组的定义和使用(下)

数组的定义和使用&#xff08;下&#xff09;4. 数组练习4.1 模拟实现toString4.2 数组拷贝4.3 比较两个数组是否相同4.4 填充数组4.3 求数组中元素的平均值4.4 查找数组中指定元素&#xff08;顺序查找&#xff09;4.5 查找数组中指定元素&#xff08;二分查找&#xff09;4.6…