数据库基础知识

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

相关推荐
高兴就好(石1 小时前
DB-GPT部署和试用
数据库·gpt
这孩子叫逆2 小时前
6. 什么是MySQL的事务?如何在Java中使用Connection接口管理事务?
数据库·mysql
Karoku0662 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
码农郁郁久居人下2 小时前
Redis的配置与优化
数据库·redis·缓存
MuseLss3 小时前
Mycat搭建分库分表
数据库·mycat
Hsu_kk4 小时前
Redis 主从复制配置教程
数据库·redis·缓存
DieSnowK4 小时前
[Redis][环境配置]详细讲解
数据库·redis·分布式·缓存·环境配置·新手向·详细讲解
程序猿小D4 小时前
第二百三十五节 JPA教程 - JPA Lob列示例
java·数据库·windows·oracle·jdk·jpa
Flerken1014 小时前
数据库语言、SQL语言、数据库系统提供的两种语言
数据库·sql·oracle
掘根4 小时前
【网络】高级IO——poll版本TCP服务器
网络·数据库·sql·网络协议·tcp/ip·mysql·网络安全