当前位置: 首页 > 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  数字,数字) 表示从第一个数字结束后显示几个数字;

http://www.lryc.cn/news/36499.html

相关文章:

  • 【冲刺蓝桥杯的最后30天】day7
  • REG.EXE修改注册表-解决win10微软输入法默认中文,将其全局修改为英文
  • hive之正则函数研究学习regex/regex_replace/regex_extract
  • Codeforces Round 854 by cybercats (Div. 1 + Div. 2) C、D1
  • API 网关日志的价值,你了解多少?
  • 华大单片机、STM32单片机如何做printf串口打印格式化输出
  • unity 面试汇总
  • Spring SpringBoot中使用Mybatis-plusDemo1
  • 【18.04Ubuntu中解决无法识别显示屏】
  • Python 协程详解,都在这里了
  • 百家号如何写文章赚钱,百家号写文章真的赚钱?
  • 【HDFS】datanodeReport RPC优化
  • 【数据结构】研究链表带环问题
  • 数据仓库的设计思想
  • 【JavaSE】数组的定义与使用详解
  • Kubernetes14:Helm为了部署像微服务这种的大型项目
  • 2.3操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则
  • 设计模式3——结构型模式
  • css——图片缩放,拉伸,变形的解决办法
  • 【工具使用】STM32CubeMX-基础使用篇
  • 面试题解-理解cookie、session和token
  • Buuctf [GUET-CTF2019]number_game 题解
  • OsgEarth配置.earth文件支持wms服务
  • 【数据结构】详解空间复杂度
  • 腾讯云GPU游戏服务器/云主机租用配置价格表
  • 配置临时SSL子域名泛化证书
  • 【Linux:环境变量的理解】
  • python数据类型与数据结构
  • 大数据自学学习技巧?
  • Qt音视频开发22-音频播放QAudioOutput