数据库基础知识

一、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

  1. mysql -u root -p 1103
  2. 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 表名;

  1. 检索表中所有字段(查看表中所有列/查看表的全部内容)

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.退出当前登录的数据库

ex it 或 quit

相关推荐
高级程序源15 分钟前
hive电商平台商品销售数据分析与趋势预测45659-计算机课程设计、毕业设计
vue.js·hive·spring boot·mysql·数据分析·django·课程设计
for_ever_love__37 分钟前
LangChain Text-to-SQL:让不会写 SQL 的人查数据库
数据库·sql·langchain·大模型·agent·rag·问答
梦想不只是梦与想1 小时前
SQLAlchemy:查询与操作 (三)
数据库·python·sqlalchemy
Aric_Jones1 小时前
WAL / CDC / 复制槽 /位点
数据库·oracle
草莓熊Lotso1 小时前
【C++ 基于微服务的即时通讯系统】基建三件套:gflags + gtest + spdlog 源码编译安装与实战入门
linux·网络·数据库·c++·微服务·log4j
bksczm1 小时前
Redis基础篇之初识分布式
数据库·redis·分布式
for_ever_love__1 小时前
MySQL 索引类型全解:B+Tree / Hash / R-Tree / 全文 的底层差异,以及一次性建对的选型表
数据库·mysql·b+树·唯一索引·全文索引·索引类型·索引分类
仍然.9 小时前
Redis---缓存
数据库·redis·缓存
Aloudata10 小时前
LookML 语义模型 vs 企业级独立语义层:BI 建模语言能否承担企业语义底座?
数据库·人工智能·数据分析·数据资产·dataagent
细嗅蔷薇@10 小时前
排序和分⻚(order by 、limit)
数据库·oracle