一、DB 与 DBMS
1.DB(DataBase):数据库,存储已经组织好的数据的容器
2.DBMS(DataBase Manage System):通过数据库管理系统,对数据库及数据库中的数据进行操作
注:我们平时所说的 Oracle、Mysql、MariaDB 指的都是数据库管理系统(DBMS)
二、数据库中存放的数据1.表(table):表是结构化的文件,用来存储特定类型的数据(比如 工作人员户籍信息、工作人员婚姻信息等特定类型)
注:一个数据库中,表的名字是唯一的
三、表的结构
1.框架(Schema):关于数据库和表布局以及属性信息。
2.列(column):表中的一个字段,表由一列或多列构成,列中存储 表的一部分信息。每一列存储一条特定信息。
注:数据库中每一列都有相应的数据类型,数据类型定义了该列可以存储哪种类型的数据。
3.行(row):表中的一条记录注:NULL:空值
4.主键(primary key):唯一标识表中每一行的列(或者多列的集合)
注:任意两行不具有相同的主键值(主键列中的每行数据不能相同)
主键列不能包含空值(NULL)
四、SQL 语句
1.定义:结构化查询语言(Structured Query Language)
2.分类:
1)数据查询语言(DQL:Data Query Language):
功能:从数据库中查询相关信息或记录
主要的关键字:SELECT,WHERE,ORDER BY,GROUP BY 和 HAVING
2)数据操作语言(DML:Data Manipulation Language):
功能:对数据库中的表的内容进行相关操作
主要的关键字:INSERT,UPDATE 和 DELETE
3)事务处理语言(TPL):功能:对事务进行相关操作
主要的关键字:BEGIN,TRANSACTION,COMMIT 和 ROLLBACK。
4)数据控制语言(DCL)(data control language):功能:对权限进行相关操作
主要的关键字:GRANT 或 REVOKE
5)数据定义语言(DDL):
功能:对数据库、表等进行相关操作
主要的关键字:CREATE 和 DROP
6)指针控制语言(CCL):功能:对指针进行相关操作
主要的关键字:DECLARE CURSOR,FETCH INTO 和 UPDATE WHERE CURRENT
五、MariaDB
1.概念:是一个基于 Mysql 的 DBMS,完成了存储,获取,管理以及操作数据库的工作。Oracle二次开发
2.DBMS 的分类:一类是基于共享文件系统的 DBMS,另一类是基于客户端/服务器的 DBMS。
前者适用于桌面应用,一般不用来进行较高端或者更苛刻的应用。
注:基于客户端/服务器的 DMBS 中,客户端与服务器的关系
1)用户使用客户端,向服务器发送数据库操作的指令
2)服务器接受到来自客户端的指令,根据指令对数据库或数据库中的数据进行相关操作
3)服务器将操作完成后的结果返回给客户端供用户查看注:经常使用的客户端
<1>mysql 命令行
<2>MySQL Workbench 图形化
六、关系型数据库与非关系型数据库
1.关系型数据库:按照关系模型来组织存储数据
如:Oracle MySQL MariaDB DB2
同时查询多个表,各个表之间有关系。不适合存储特别多的数据
2.非关系型数据库:NoSQL(Not only SQL)
如:mongoDB
适合存储大量数据,其中有四种
1)以行为基础的
2)以文本为基础
3)存储图片
七、MariaDB 的安装及初始化
1.配置好本地 yum 源
2.安装 MairaDB 的服务器端和客户端
yum groups install mariadb(服务器) mariadb-client(客户端) -y
3.开启 mariadb 服务
systemctl start mariadb
systemctl enable mariadb
注:可以查看服务状态 systemctl status -l mariadb
netstat -lantu |grep 3306
4、初始化 MariaDB
mysql_secure_installation
八、登录 MariaDB
- mysql -u root -p 1103
- mysql -u root -p
回车之后输入密码 1103
或:mysql -u 用户名 -p 密码 登录到的数据库的名字
2.查看当前 DBMS 下管理的所有的数据库
show databases; (;结尾)
3.创建数据库 create database test;
craate database 数据库名;一定要以“;“结尾
4.使用数据库 use test;
use 数据库名;
5.查看当前数据库内的所有表 show tables;
6.通过脚本来创建表和想表内填充数据
1)将 create.sql 与 populate.sql 上传至数据库服务器注:create.sql 用于创建表
populate.sql 用于向表内填充数据
2)运行 sql 脚本在数据库内或在虚拟机没运行
在数据库内:
\. /root/create.sql
\. /root/populate.sql
\. 脚本所在绝对路径
在虚拟机执行增加表的脚本
7.查看表的结构 describe orders; describe 表名;
- 检索表中所有字段(查看表中所有列/查看表的全部内容)
select * from orders;
select 查询的字段 from 表名;
9.显示当前服务器状态 show status;
注:查询的结果是变量名和变量的具体值
10.显示创建数据库/表所使用的命令
创建数据库的命令:show create database test;
show create database 数据库名;
创建表的命令:show create table orders;
show create table 表名;
11.显示当前登录账户的权限
show grants;
12.显示错误/警告信息
show errors;
show warnings;
注:只有当 sql 语句出现问题报错时使用上述命令查询才可以得到结果
13.显示 show 命令的帮助信息
help show;
注:可以使用 help 命令来查看相关命令的帮助
如:help create;
help drop; help 命令;
14.关键的大小写问题一般来说,为了保证 sql 语句的可读性和规范性,
关键字需要大写
如:SELECT * FROM orders;
注:MariaDB 不区分大小写
15.MariaDB 软件的相关信息
1)MariaDB 配置文件: /etc/my.cnf.d
2)MariaDB 配置文件模板:/usr/share/mysql
3)MariaDB 日志:/var/log/mariadb
4)MariaDB 数据库:/var/lib/mysql
16.退出当前登录的数据库
exit 或 quit