此数据库系列,是学习工作中的总结,具体章节系列如下图所示。如果您需要扫盲数据库,突击数据库的面试,那就盘他,盘他!所谓初恋,初次见面,下凡数据库基础。请多多关照!
童鞋别被脱裤系列
这是系列篇第一节,其主要内容如下思维导图所示。如太简单,文末在看走起!
数据库基础1 了解sql—-长生不老,异常稳定
查看近几年的TIOBE发现了,一直在前十,可见是个老且管用的东西。
来自网络
了解几个术语:
sql大小写规范
SELECT name,age FROM student WHERE;
2 为啥要存储数据
我们大部分的系统都会考虑到数据的存储,那么如何更有效地保存好数据,做好数据备份。当我们拥有了数据,可以进行数据挖掘,大数据分析,舆情预测,自然语言处理等等一系列的骚操作,可见存储数据是多么的重要。这一篇文章对数据库基础知识的扫盲,下一节将是数据存储,数据备份等。另外我必须要知道硬盘的处理速度比cpu,内存,网卡都会慢哟。
3 DBMS是什么
全称功能
DBMS
DataBase Management System
可对多个数据库进行管理
DB
DataBase
存储数的集合,理解为多个数据表
DBS
DataBase system
老大哥。包含了数据库管理系统和数据库管理人员DBA
4 当前主流的DBMS有哪些
主流的DBMS5 sql与Nosql
Nosql的Timestamp:
1970:Nosql=we have no sql
1980:Nosql=know sql
2000:Nosql=No SQL
2005:Nosql=not only sql
2013:Nosql=No,SQL
键值数据库
通过key-value方式存储,key为唯一表示,优点,查询快redis删除key通配符,缺点是无法像关系型数据库一样使用条件过滤,这样可能导致遍历所有的键,消耗大量的计算。所以经常用来作为缓存,比如redis。
文档数据库
管理文档,一个文档相当于一条记录,MongoDB。
搜索引擎
虽然关系型数据库常常通过索引的方式提高检索效率(不一定),但是对于全文检索却比较低。搜索引擎的优势比如Elasticsearch、Splunk和Solr采用全文搜索,核心原理为倒排索引
列式数据库
相对于行式数据库,将数据按照列存储,这样可以大量降低系统的IO(因为相邻的数据类型一样,方便压缩,自然就会降低IO),适合分布式文件系统,比如
图数据库
典型的就是网络中的人与人的关系,节点和边关系。
6 Oracle中的sql如何执行的
查询执行流程7 mysql中sql如何执行的
查询执行流程
首先注意,mysql8.0之后已经放弃了这个功能(因为如果数据更新,缓存会清空,如果为动态数据经常更新,这样反而增加SQL查询时间)。缓存通常的理解是一个中间层redis删除key通配符,如果在中间层存在查询语句就直接返回,如果没有则给解析器处理。
主要进行语法分析和语义分析。
确定SQL语句的执行路径。是根据全表检索还是根据索引。
进行权限检查。
那么mysql和oracle两者执行情况有啥不一样呢
MySql具有多种存储引擎且可以自定义存储引擎,那么有哪些存储引擎,优点缺点是啥?
描述
InnoDB
Mysql5.5以后默认存储引擎,支持事务,行级锁,外键约束
MyISAM
Mysql5.5以前为默认存储引擎,不支持事务和外键,最大特点速度快,占资源少
Memory存储引擎
使用系统内存为存储介质,更快的响应速度。
NDB存储引擎
用于Mysql Cluster分布式集群环境
Archive存储引擎
压缩机制的特点便于文件的归档,常用来做仓库
8 如何查看一条sql的资源使用情况
mysql> select @@profiling;如果为0代表关闭,设置为1表示打开。
mysql> select *from student;
show profiles;查看当前会话的profiles
9 DDL
CREATE DATABASE WeChat_Official_Account_Author;
CREATE TABLE authors_name(author_id int(15) NOT NULL AUTO_INCREMENT),author_name varchar(255) NOT NULL);
ALTER TABLE authors_name ADD(age int(12));
ALTER TABLE authors_name RENAME_COLUME age to author_age;
ALTER TABLE author_names DROP COLUME author_age;
10 数据库的常见约束
不成规矩,不成方圆
唯一标识一条记录,不重复且不能为空(UNIQUE+NOT NULL)。主键可以使是一个字段或者多个字段的组合,一个数据表主键只能有一个
外键确保表与表之间引用的完整性。外键可以重复也可以为空。
字段在表中可以使唯一的。
表明字段不应为空,必须有取值。
检查特定字段取值范围的有效性
11 常见查询语句
SELECT author_name FROM authors_name;
SELECT * FROM authors_name;
SELECT DISTICT age FROM authors_name;
SELECT author_name FROM authors_names ORDER BY age DESC;
SELECT author_name FROM authors_names ORDER BY age DESC LIMIT 5;
关键字的顺序:SELECT…..FROM…WHERE…GROUP BY
FROM>WHERE>GROUP BY HAVING>SELECT
一句select经历了啥12 sql运算符
比较运算符
逻辑运算符
当WHERE字句中同时出现OR和AND的时候,AND执行优先级会更高。一般来说()优先级最高,其次是AND,然后是OR。
通配符是对文本类型进行模糊查询,但是通常是全表扫描,所以效率很低。只有当LIKE后面没有通配符,并对字段进行索引的时候不会进行全表扫描。匹配一部分特殊字符。”LIKE”操作符。
13 常见sql函数
提供函数,类似接口,更方便快速的得出想要的结果。
描述例子
ABS()
取绝对值
SELECT ABS(-5)—5
MOD()
取余
SELECT MOD(101,3)—2
ROUND()
四舍五入为指定的小数位数,如果两个参数,分别为字段名称和小数位数
SELECT ROUND(38.29,1)–38.3
LENGTH()
计算字段长度。一个汉字三个字符。
SELECT LENGTH(‘小蓝’)–6
UPPER()
字符转大写
SELECT LOWER(‘qwe’)–QWE
LOWER()
字符转小写
SELECT LOWER(‘QWE’)–qwe
REPLACE()
替换函数
SELECT REPLACE(‘QWE123D’,’QWE’,789)–789123D
SUBSTRING()
截取字符串
SELECT SUBSTRING(‘QWE123’,1,3)–
CHAR_LENGTH()
计算机字段的长度,汉字,数字都算一个字符
SELECT CHAR_LENGTH(‘小蓝’)–2
CONCAT()
连接字符串
SELECT CONCAT(‘XIAOLAN’,789)—XIAOLAN789
DATA()
返回时间的日期
限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688