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

目录

一.数据库介绍

1.基本概念

2.数据库类型

3.版本演变

二.MySQL安装

1.官网下载yum安装

2.手动配置yum安装

三.MySQL基本操作

1.登录与改密

2.检测数据库健康

3.库的创建和使用

4.数据类型

5.修饰符

6.表的创建和使用

7.分组查询

​编辑

8.查询排序及取值

​编辑


一.数据库介绍

1.基本概念

  1. 数据:描述事务的符号记录
  2. 表:将不同的记录组织在一起
  3. 数据库:表的集合
  4. 主键:不能重复,每个表中只能有一个。且不能为空。
  5. 唯一键:一个表可以有多个,且可以为空
  6. 域:属性的额取值范围,如性别只能是男和女俩个值。

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版本,无初始密码。

bash 复制代码
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版本,有初始的随机密码。

bash 复制代码
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.登录与改密

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

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

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

bash 复制代码
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.检测数据库健康

bash 复制代码
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.修饰符

  1. NULL:数据列可包含NULL值,默认值。
  2. NOT NULL:数据量不允许为NULL值,*为必填项。
  3. DEFAULT:默认值,若定义某个为默认值则不填写字段即为此值。
  4. PRIMARY KEY:主机,所有记录中此字段不能重复且不能为nulll。
  5. UNIQUE KEY :唯一键,所有记录中此字段的值不能重复,可以为null。
  6. AUTO_INCREMENT:自动递增,适用于整数数据类型。
  7. ENUM:多选,如('M','F'),字段只能从M和F中选一个。
  8. 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 数字,数字) 表示从第一个数字结束后显示几个数字;

相关推荐
DONG91317 分钟前
《三驾马车:MySQL、MongoDB、Redis对比与融合实战》
数据库·redis·sql·mysql·mongodb·database
程序边界42 分钟前
从 Oracle 到 KingbaseES:企业信创改造的“抄作业”模板,直接套用!
数据库·oracle
funfan05171 小时前
奇怪的“bug”--数据库的“隐式转换”行为
数据库·bug
Jasonakeke1 小时前
【重学MySQL】八十八、8.0版本核心新特性全解析
android·数据库·mysql
comeoffbest1 小时前
PostgreSQL 能存万物:从安装到高级功能实战
数据库·postgresql
时序数据说2 小时前
IoTDB如何解决海量数据存储难题?
大数据·数据库·物联网·时序数据库·iotdb
小楓12013 小时前
MySQL數據庫開發教學(二) 核心概念、重要指令
开发语言·数据库·mysql
花果山总钻风3 小时前
MySQL奔溃,InnoDB文件损坏修复记录
数据库·mysql·adb
TDengine (老段)4 小时前
TDengine IDMP 运维指南(管理策略)
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
Full Stack Developme5 小时前
PostgreSQL interval 转换为 int4 (整数)
数据库·postgresql