目录
一、数据库介绍
1、基本概念
2、数据库类型
3、版本演变
二、Mysql安装
1、官网下载yum安装
2、手动配置yum安装
三、Mysql基本操作
1、登录与改密
2、检测数据库健康
3、 库的创建与使用
4、数据类型
5、修饰符
6、表的创建与使用
7、分组查询
8、查询排序及取值
①数据:描述事务的符号记录
②表:将不同的记录组织在一起
③数据库:表的集合
④主键:不能重复,每个表中只能有一个。且不能为空。
⑤唯一键:一个表可以有多个,且可以为空
⑥域:属性的额取值范围,如性别只能是男和女俩个值。
①关系型数据库:结构是二维数据库表,二维表当中每个字段(列)用来描述对象的一个属性,
每个记录(行)用来描述一个对象的信息(完整信息)表与表之间可能存在联系。
②非关系型数据库:是一种数据结构化存储方法的集合,可以是文档或者键值对等。
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)
①由于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,根据自己的需求下载对应版本包。
①手写配置文件清华大学源,5.7.41版本,无初始密码。
tee /etc/yum.repos.d/mysql.repo <
②手写配置文件官方源,5.7.3版本,有初始的随机密码。
tee /etc/yum.repos.d/mysql.repo <
①启动服务并在日志中过滤出初始密码登录数据库。
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和[email protected]是俩个用户。
#退出数据库
mysql -uroot -p'Admin@123'
#使用新密码登录数据库成功,密码修改成功
mysqladmin -uroot -p'密码' ping
#使用mysqladmin管理命令ping数据库若正常返回mysql is alive。
若数据库不正常则返回连接失败。
①登录数据库后输入 show databases; (注意分号结尾)表示查看所有数据库,如下是默认库截图。
②show create database 库名;查看某个库信息,如下查看默认库sys信息。
③create database 库名; 创建数据库XX,如下创建class库。
⑤ use 库名;进入某个库,如下进入class库。
①整数型:
tinyint(m) 1个字节 范围(-128~127) 有一个正或负的表示符。
smallint(m) 2个字节 范围(-32768~32767)。
int(m) 4个字节 范围(-2147483648~2147483647)。
②字符串:
char(n) 固定长度,最多255个字符,注意不是字节。
varchar(n) 可变长度,最多65535个字符。
①NULL:数据列可包含NULL值,默认值。
②NOT NULL:数据量不允许为NULL值,*为必填项。
③DEFAULT:默认值,若定义某个为默认值则不填写字段即为此值。
④PRIMARY KEY:主机,所有记录中此字段不能重复且不能为nulll。
⑤UNIQUE KEY :唯一键,所有记录中此字段的值不能重复,可以为null。
⑥AUTO_INCREMENT:自动递增,适用于整数数据类型。
⑦ENUM:多选,如(‘M’,‘F’),字段只能从M和F中选一个。
⑧UNSIGNED:取消负数
①创建表: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 表名;
①分组:GROUP BY
使用分组,则必须显示分组内容或聚合函数内容。
格式:select 字段,(使用聚合函数是加逗号) 聚合函数或分组字段,from 表,group by 字段
②聚合函数
avg():平均数
count():数量
sum():求和
max():最大值
min():最小值
①ORDER BY:根据指定的字段对查询结果进行排序。
升序:ASE默认可以不写
降序:DESC
②LIMIT:对查询结果进行输出行数数量限制。
使用格式:查询语句 limit 范围
范围1:limit 数字 表示只显示多少行;