一、数据库的基本知识
1 数据库的发展:
萌芽阶段———文件系统:使用磁盘文件来存储数据
初级阶段———第一代数据库:出现了网状、层次模型的数据库
中级阶段———第二代数据库:关系型数据库和结构化查询语言
高级阶段———新一代数据库:“关系-对象”型数据库
2 数据库管理系统的基本功能:
数据定义
数据处理
数据安全
数据备份
3 数据库系统的架构:
单机架构
大型主机/终端架构
主从式架构(C/S)
分布式架构
4 关系型数据库:
关系:关系就是二维表
行row:表中的每一行,又称为一条记录
列column:表中的每一列,称为属性,字段
主键(Primary key):用于唯一确定一个记录的字段
域domain:属性的取值范围
5 关系数据库
RDBMS :
MySQL:MySQL, MariaDB, Percona Server
PostgreSQL: 简称为pgsql ,EnterpriseDB
Oracle:
MSSQL:
DB2:
事务transaction:多个操作被当作一个整体对待:
ACID:
A:原子性
C:一致性
I :隔离性
D:持久性
6 联系类型:
一对一联系(1:1)
一对多联系(1:n)
多对多联系(m:n)
7 数据结构:
一类是与数据类型、内容、性质有关的对象,比如关系模型中的域、属性和关系等;
另一类是与数据之间联系有关的对象,它从数据组织层表达数据记录与字段的结构
8 数据的操作:
数据提取:在数据集合中提取感兴趣的内容(SELECT)
数据更新:变更数据库中的数据(INSERT、DELETE、UPDATE)
9 范式:
1NF:无重复的列,每一个列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的 某个属性不能有多个值或者不能有重复发的属性。
2NF:属性完全依赖于主键,第二范式必须先满足第一范式,要求表中的每一个行必须可以被唯 一区分。通常为表加上一列,以存储各个实例的唯一标识PK,非PK的字段需要与整个PK 有直接相关性。
3NF:属性不依赖与其它非主属性,满足第三范式必须要满足第二范式。第三范式要求一个数据 库中不包含的非主关键字信息,非PK的字段间不能有从属关系
10 SQL概念:
SQL:Structure Query Language
结构化查询语言
SQL解释器:
数据库存储协议:应用层协议,C/S (S:server,监听于套接字,接受并处理客服端的应用请求)
二、MariaDB
1 MariaDB的特性:
单进程,多线程
插件式存储引擎:存储管理器有多种实现版本,用户可根据需要灵活选择
存储引擎也称为”表类型”
2 mariadb组包括下面包:
mariadb-server:mandatory package
mariadb-bench:optional package
mariadb-test:optional package
3 mariadb-client组包括下面包:
Mariadb:mandatory package
MySQL-python:default package
mysql-connector-odbc:default package
libdbi-dbd-mysql:option package
mysql-connector-java:optional package
perl-DBD-MySQL:optional package
4 配置文件:
/etc/my.cnf和/etc/my.cnf.d/*.cnf
5 MariaDB配置
倾听3306/tcp端口可以在绑定有一个或全部接口IP上
vim /etc/my.cnf
6 安装MariaDB
三、SQL语句
1 SQL语句构成
Keyword组成clause
多条clause组成语句
SELECT* SELECT子句
FROM products FROM子句
WHERE price >400 WHERE 子句
2 SQL语句分类:
DDL:Data Defination Language
CREATE ,DROP,ALTER
DML: Data Manipulation Language
INSERT, DELETE, UPDATE
DCL: Data Control Language
GRANT, REVOKE
DQL: Data Query Language
SELECT
3 SQL语言规范
在数据库系统中,SQL语句不区分大小写
但字符串常量区分大小写
SQL语句可单行或多行书写,以;结尾
关键字不能跨多行书写或简写
用空格和缩进来提高语句的可读性
子句通常位于独立行,便于编辑,提高可读性
4 数据库对象的命名规则
必须以字母开头
可包括数字和三个特殊字符
不要使用MySQL的保留字
同一database(Schema)下的对象不能同名
5 数据库操作
创建数据库:
CREATE DATABASE|SCHEMA ‘DB_NAME’;
CHARACTER SET ‘character set name’
COLLATE ‘collate name’
删除数据库:
DROP DATABASE|SCHEMA ‘DB_NAME’
查看支持所有字符集:SHOW CHARACTER SET;
查看支持所有排序规则:SHOW COLLATION;
获取命令使用帮助: mysql >HELP KEYWORD;
查看数据库列表:mysql> SHOW DATABASES;
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91364