数据库基础知识

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

相关推荐
广州智造30 分钟前
OptiStruct实例:3D实体转子分析
数据库·人工智能·算法·机器学习·数学建模·3d·性能优化
技术宝哥4 小时前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
学地理的小胖砸5 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
dddaidai1235 小时前
Redis解析
数据库·redis·缓存
数据库幼崽5 小时前
MySQL 8.0 OCP 1Z0-908 121-130题
数据库·mysql·ocp
Amctwd6 小时前
【SQL】如何在 SQL 中统计结构化字符串的特征频率
数据库·sql
betazhou6 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
lyrhhhhhhhh7 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
喝醉的小喵8 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
付出不多8 小时前
Linux——mysql主从复制与读写分离
数据库·mysql