数据库介绍
数据库结构模型
数据库结构模型主要有:
- 层次模型
- 网状结构
- 关系模型
关系模型:
二维关系:row(行),column(列)
数据库管理系统:DBMS(database managenment system)
关系数据库管理系统:RDBMS(Relational database managenment system)
RDBMS专业名词
常见的数据库:
- 关系型数据库
- mysql
- 5.7(原开发团队的最后一版本,免费)
- 8.0(oracle收购后的第一版本,收费)
- mariadb10.0(mysql原开发团队的第一版本,免费)
- oracle
- MSSQL
- mysql
- nosql数据库:
- mongodb
- 缓存数据库:
- redis
- memcache
- 缓存数据库:
- mongodb
- 轻量型数据库:
- sqlite
常见的关系型数据库管理系统
- MySQL:MySQL,MariaDB,Percona-Server
- PostgreSQL:简称为pgsql
- Oracle
- MSSQL
SQL:Structure Query Language,结构化查询语言
约束:constraint,向数据表提供的数据要遵守的限制
约束名 | 作用 |
---|---|
主键约束 | 一个或多个字段的组合,填入数据必须能在本表中唯一标识本行。且必须提供数据,不能为空(NOT NULL), 一表只能存在一个,例如ID。 |
惟一约束 | 一个或多个字段按的组合,填入数据必须能在本表中唯一标识本行。允许为空。(NULL), 一表可以存在多个。 |
外键约束 | 一个表中某字段可填入数据取决于另一个表的主键已有的数据 |
检查性约束 | 约束用于限制列中的值的范围。 |
索引:将表中的一个或多个字段中的数据复制一份另存,并且这些数据需要按特定次序排序存储
关系型数据库的常见组件
关系型数据库的常见组件有:
- 数据库:database
- 表:table
- 索引:index
- 视图:view
- 用户:user
- 权限:privilege
- 存储过程:procedure
- 触发器:trigger
- 事件调度器:event scheduler
SQL语句
SQL语句有三种类型:
- DDL:Data Defination Language,数据定义语言
- DML:DataManipulation Laanguage,数据操纵语言
- DCL:Data Control Language,数据控制语言
SQL语句类型 | 对应操作 |
---|---|
DDL | CREATE:创建 DROP:删除 ALTER:修改 |
DML | INSERT:向表中插入数据 DELETE:删除表中数据 UPDATE:更新表中数据 SELECT:查询表中数据 |
DCL | GRANT:授权 REVOKE:移除授权 |
mysql的安装与配置
mysql的安装
CentOS8中的yum源中只有Mysql8的版本,若想要安装Mysql5.7则需要进行以下配置:
首先,关闭CentOS8中Mysql默认的yum仓库
[root@localhost ~]# dnf remove @mysql
Warning: failed loading '/etc/yum.repos.d/mssql-server.repo', skipping.
Last metadata expiration check: 2 days, 4:32:54 ago on 2021年04月26日 17时30分44秒 CST.
Unable to match profile in argument mysql
Dependencies resolved.
Nothing to do.
Complete!
[root@localhost ~]# dnf module reset mysql && sudo dnf module disable mysql
Warning: failed loading '/etc/yum.repos.d/mssql-server.repo', skipping.
CentOS Stream 8 - AppStream 7.0 kB/s | 4.4 kB 00:00
CentOS Stream 8 - BaseOS 6.7 kB/s | 3.9 kB 00:00
CentOS Stream 8 - Extras 2.6 kB/s | 1.5 kB 00:00
Dependencies resolved.
Nothing to do.
Complete!
Warning: failed loading '/etc/yum.repos.d/mssql-server.repo', skipping.
Last metadata expiration check: 0:00:01 ago on 2021年04月28日 22时03分46秒 CST.
Dependencies resolved.
====================================================================
Package Architecture Version Repository Size
====================================================================
Disabling modules:
mysql
Transaction Summary
====================================================================
Is this ok [y/N]: y
Complete!
因为目录还没有EL8版本的Mysql仓库,所以我们这里用EL7代替,创建一个新的仓库文件:
[root@localhost ~]# vim /etc/yum.repos.d/mysql-community.repo
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
/
enabled=1
gpgcheck=0
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$b
asearch/
enabled=1
gpgcheck=0
[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basear
ch/
enabled=1
gpgcheck=0
开始安装Mysql5.7版本,并且临时的使用仓库
[root@localhost ~]# dnf --enablerepo=mysql57-community install mysql-community-server
Warning: failed loading '/etc/yum.repos.d/mssql-server.repo', skipping.
MySQL 5.7 Community Server 942 kB/s | 2.2 MB 00:02
MySQL Connectors Community 115 kB/s | 107 kB 00:00
MySQL Tools Community 444 kB/s | 630 kB 00:01
Dependencies resolved.
====================================================================
Package Arch Version Repository