***数据库基础(重点)

1.在生活中我们已经可以存放东西的文件,可是为什么还需要数据库呢?
因为文件存放东西存在一定的隐患:
*存放在文件里的东西可能不安全;
*存放在文件里的内容不太方便查看;
*对于大量的数据文件不便于存放;
*在程序中需要用到数据时对文件不方便访问;
重点来啦:因为文件存在这样的问题,所以有专家们设计出了数据库,方便我们对数据进行管理,保证数据的安全性。
2.数据库的定义
从最直观上来解释数据库,它就是存放数据的一个仓库。更深层次的来说数据库:电脑里的数据都是存放在磁盘和内存中的,而数据库就是通过存放数据的磁盘和内存,来更加高效的存储和管理这些数据。
3.在数据库中操作的时候最长出现的问题
(1)服务器停止
(2)拒绝访问:密码错误
4.服务器——>数据库——>表之间的关系
一个服务器有多个数据库,每个数据库又有多个表。
5.数据库的创建、使用、创建表、插入数据
*数据库的创建:create database 数据库的名字
注意:
(1)在创建数据库的时候数据库的名字不要大写;
(2)数据库的名字不要起特殊字符,如:$、&;
(3)数据库的名字与C语言变量的名字类似;
*使用数据库:use 数据库的名字
*创建数据库中的表:create table student(
id int,
name varchar(32),
gender varchar(2)
);
*查看当前数据有哪些表
注意:在MySQL中,如果输入的是中文的符号,那么光标就会变长提醒你,输入有错误。
6.very important ===>MySQL的架构
(1) 客户端连接器(对于不同的语言它都对应自己的服务器)

(2)数据库的备份、可视化管理界面--------------------------------->a.认证(验证密码对错)


                                                                                 b.处理SQL的所有内容=>语法分析(分析你的SQL                                                                                  的语法是否正确)=>优化=>提高性能
(3)可插拔式存储引擎=>Indexes(存储引擎就是用来管理文件数据的,对于客户用的时候插入不用的时候取走):MyISAM、InnoDB、Federated、Archive(归档存储)、Merge、Memory(内存)、Cluster、Example
(4)文件系统--------------------------------------------------------------->日志文件(生成的东西)
*MySQL的可以移植性强:因为它在任何平台下的物理体系结构都是一致的
7.very important---->MySQL中最爱问的考点:引擎
(1)首先我们得知道什么是存储引擎?
先举个例子,我们有时候需要研究海量的数据,这时我们需要采用内存存储引擎。内存存储引擎可以在内存中存储所有表格等等功能。又比如我们有时候需要研究事务,这时候我么就会使用支持事务处理的存储引擎。在数据库中不同的技术配套相关的功能去使得数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询技术,这样的实现方法就叫存储引擎。
(2)存储引擎的类型
标记:在表格中(1:勾)

Feature(特征) MyISAM BDB Memory InnoDB Archive NDB
Storage Limits(存储限制) No No Yes Yes 64TB Yes
Transanctions(commit,rollback,etc)(事务安全) 1 1
Locking granulanty(锁机制) Table Page Table Row Row Row
MVCC/Snapshot Read 1 1 1
Geospatial support 1
B-Tree indexes(B树索引) 1 1 1 1 1
Hash indexes(哈希索引) 1 1 1
Full text search index(全文索引) 1
Clustered index(集群索引) 1
Data Caches (数据缓存) 1 1
Index Caches(索引缓存) 1 1 1 1
Compressed data 1 1
Encrypted data(via function) (数据可压缩) 1 1 1 1 1 1
Storage cost(space used)(空间使用量) Low Low N/A High Very Low Low
Mermory cost(内存使用量) Low Low Medium High Very Low
Bulk Insert Speed(批量插入的速度) High High High Low Very High High
Cluster database support(集群数据库支持) 1
Replication support(外件支持) 1 1 1 1 1 1
Foreign key support 1
Backup/Pointt-in-time recovery 1 1 1 1 1 1
Query cache support 1 1 1 1 1 1
Update Statistics for Data Dictionary v 1 1 1 1 1 1

需要特别记住的四个引擎
(1)MyISAM:它不支持事务,检索性能高,支持索引;
(2)InnoDB:支持事务,在MySQL5.5以后默认存储引擎就是InnoDB;
(3)Mermory:特点是速度快,数据不会存储到文件系统;
(4)Archive(归档存储):为大量很少引用的历史、归档、安全审计信息的存储和检索提供解决方案。
8.SQL分类
a.DDL数据定义语言:用来维护存储数据的结构(创建一个数据库表)
代表指令:create,drop,alter
b.DML数据操纵语言:用来对数据进行操作
代表指令:insert,delete,update
在DML中又单独定义了一个DQL,数据查询语言,代表指令:select
c.DCL数据控制语言:主要负责权限和事务
代表指令:grant,revoke,commit

猜你喜欢

转载自blog.csdn.net/ZhuiZhuDream5/article/details/83352103