数据库相关知识介绍:种类、SQL语言分类及各语言作用

网站建设 厦门萤点网络科技 2026-03-01 00:11 27 0
#什么是数据 用来描述事物的符号记录。可以是数字、文字、图形等,有多种形式,经过数字化之后存入计算机 #什么是数据库 数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织、存储的 #什么是数据库管理系统 是用于...

#什么是数据

用来描述事物的符号记录。可以是数字、文字、图形等,有多种形式,经过数字化之后存入计算机

#什么是数据库

数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织、存储的

#什么是数据库管理系统

是用于管理数据库的软件

#数据库服务器、数据库管理系统、数据库、表、记录之间的关系

#数据库服务器相当于一台计算机,数据库管理系统相当于计算机里的一个软件,数据库相当于一个文件夹,表相当于文件夹中的文件,记录相当于文件中的内容

数据库管理系统与关系型数据库种类_MySQL安装与配置详解_access数据库技术与应用教程

#数据库的种类

  早期:分为层次式数据库、网络式数据库、关系型数据库
  现今:分为关系型数据库和非关系型数据库

#关系型数据库介绍

  1.类似于excel表格
  2.关系型数据库使用结构化语言查询,sql语句来对数据进行存储
  3.代表作:mysql和Oracle

#关系型数据库产品

  1.Oracle
  2.MySQL
  3.mariaDB
    是MySQL的一个分支,名称来自MySQL创始人Michael Widenius的女儿Maria的名字
  4.SQL server
    微软公司开发的大型关系型数据库系统, 只能在window系统下运行
  5.Access数据库
    入门级小型桌面数据库
  6.其他:DB2等

#非关系型数据库介绍

  非关系型数据库也称为NoSQL数据库(Not Only SQL)
  产生的背景:为了解决web2.0,web3.0时代高并发,高吞吐量的需求,产生了非关系型数据库
  扩展:web2.0:指的是以用户为主体,上传文件发布博文等

#种类

  1.键值(key-value)存储数据库
    典型产品:memcached、redis
  2.列存储(column-oriented)数据库
    典型产品:Cassandra,HBase
  3.面向文档(Document-oriented)数据库
    典型产品:MongoDB、CouchDB
  4.图形(graph)数据库

#常用非关系型数据库产品

  1.Memcached
    是一个开源的、支持高性能的分布式内存缓存系统
  2.redis
    基于key-value(键值)型的存储
  3.MongoDB 
    是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统

#MySQL概述

 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司

#MySQL特点

  1.安装简单
  2.历史悠久,社区及用户活跃
  3.支持多种操作系统
  4.性能卓越,服务稳定
  5.支持多种存储引擎

#MySQL分类

  MySQL采用双授权政策,分为社区版和商业版,然后又分为四个小版本:Alpha版、Beta版、RC版和GA版本
#MySQL商业版和社区版区别
  1.商业版比社区版稳定
  2.商业版有技术支持等服务,社区版只能靠社区提供

#MySQL版本

#如:mysql-5.7.29.tar.gz
#第一个数字5:主版本号
#第二数字7:发行级别,与主版本组合构成发行序列号
#第三个数字29:发行系列的版本号

#查看版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.29    |
+-----------+
1 row in set (0.00 sec)

#SQL语言介绍

SQL,英文全称structured query language,中文意思为结构化语言查询,是一种对关系型数据库中的数据进行定义和操作的语言方法

#SQL的分类

一:数据查询语言(DQL)

DQL全称data query ,称为数据检索语句,作用是从表中获得数据

#例子:查看用户

mysql> select user,host from mysql.user;
+---------------+-----------------------+
| user          | host                  |
+---------------+-----------------------+
| root          | localhost                     |
| test2         | 1.1.1.%               |
| test          | localhost             |
+---------------+-----------------------+
4 rows in set (0.00 sec)

二:数据操纵语言(DML)

DML全称data ,其语句包括,,,分别用于添加、修改和删除表中数据

#例子:删除用户

mysql> delete from mysql.user where user='test';
Query OK, 1 row affected (0.02 sec)

三:事务处理语言(TPL)

语句能够确保被DML语句影响的表的所有行及时得以更新

四:数据控制语言(DCL)

DCL全称data ,其语句通过grant或获得许可

五:数据定义语言(DDL)

DDL全称data ,其语句包括和drop,在数据库中创建和删除库表

六:指针控制语言(CCL)

CCL全称 ,语句像 ,fetch into和 where 用于对一个或多个表单独行的操作

#安装MySQL

#一.Linux安装

#1.yum/rpm方式安装
#2.常规方式编译安装
#3.采用cmake方式编译安装
#4.采用二进制方式免编译安装

#下面使用rpm方式安装mysql.5.7

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
rpm -qpl mysql57-community-release-el7-7.noarch.rpm  #查看下载的rpm包
rpm -ivh mysql57-community-release-el7-7.noarch.rpm  #安装rpm包
yum install mysql-community-server -y  #安装mysql

#提示:.7之后安装完会为root用户随机生成一个密码,如果使用rpm包,则使用grep "" /var/log/myqld.log获取

#1.安装完服务是没有启动,所以先要启动服务
[root@db01 ~]#systemctl start mysqld 
#2.获取随机密码
[root@db01 ~]# grep  "password" /var/log/mysqld.log
2019-05-31T02:35:57.106896Z 1 [Note] A temporary password is generated for root@localhost: 0Hl;Ir.keo!;
mysql> select @@log_error;
+---------------------+
| @@log_error         |
+---------------------+
| /var/log/mysqld.log |
+---------------------+
1 row in set (0.00 sec)
#3.设置密码复杂度,也可以在/etc/my.cnf里面设置validate_password_policy=LOW       
mysql> set global  validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
#4.修改密码,或者使用update修改,用户管理篇会详解
mysql> set password for root@localhost = password("guoke123");
Query OK, 0 rows affected, 1 warning (0.00 sec)
        
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

#登录方法

1.mysql #直接输入mysql不用密码登录
2.mysql -uroot -p #标准的登录密码
3.mysql -uroot -p"guoke123" #如果不在脚本中建议不要使用,明文易暴露

#登录后提示符

#默认为:mysql>,为了让更好的区分是哪个用户或主机登录,可以使用如下方法

#1.临时更改

mysql> prompt \u@mysql \r:\n:\s->
PROMPT set to '\u@mysql \r:\n:\s->'
root@mysql 09:56->

#2.永久生效

数据库管理系统与关系型数据库种类_MySQL安装与配置详解_access数据库技术与应用教程

#进入/etc/f配置添加mysql模块,注意不是在里,如果在f配置文件中添加,可以使用\\避免转义带来的问题

#1.配置mysql模块
[root@cots3 ~]# vim /etc/my.cnf
[mysql]
prompt=\\u@mysql :\\d\\r:\\m:\\s->
#2.重启服务
[root@cots3 ~]# systemctl restart mysqld
#3.登录查看
[root@cots3 ~]# mysql -uroot -p
Enter password: 
root@mysql :(none)09:13:44->use db; #进入库
Database changed
root@mysql :db09:13:49-> #就会更改为db库

#常用参数介绍

# -u:用户名,-d:数据库名,\r:\m:\s 设置时间

#参数详解

\c A that for each you issue

每个语句递增的计数器

\D The full date

当前的完整日期

\d The

默认数据库

\h The host

服务器主机

\l The (new in 5.1.12)

当前分隔符

\m of the time

当前时间的分钟数

\n A

换行符

\O The month in three- (Jan, Feb, …)

当前月份采用三字母格式

\o The month in

数字格式的当前月份

\P am/pm

\p The TCP/IP port or file

当前的tcp/ip端口或套接字文件

\R The time, in 24-hour time (0–23)

当前时间,24小时军事时间(0-24)

\r The time, 12-hour time (1–12)

当前时间,标准12小时制

\S

分号

\s of the time

当前时间的秒数

\t A tab

标签字符

\U

Your full @ name

完整@ 账户名称

\u Your user name

你的用户名

\v The

服务器版本

\w The day of the week in three- (Mon, Tue, …)

三个字母格式的星期几

\Y The year, four

当年,四位数

\y The year, two

当前年份,二位数

\_ A space

空间

\ A space (a space the )

一个空格

\' quote

单引号

\" quote

双重报价

\\ A “\” \\文字“\”反斜杠字符

\x

x, for any “x” not above

x,对于上面未列出的任何“x”