1.问题---数据库软件
客户端---操作业务---与数据库服务沟通
数据库服务软件---存储和处理数据---后台掩藏运行软件
通过客户端告诉数据库服务应该如何操作?
通过编写指令告诉数据库服务---进行相应的操作
数据操作怎么处理?
也可以通过命令指令---让数据库服务
学习数据库的最终目的:
编程语言获取的数据方便安全的持久化存储
一门语言和一个软件之间如何沟通?
编程语言来说---认识数据+语法+指令
需要数据库提供一套指令或者命令集合来操作数据
数据库提供了两门指令语言---SQL+PLSQL【中型数据库高版本-大型数据库必备】
2.sql
Structured Query language 结构化查询语言
结构化:固定语法写法
查询:重点获取自己想要的数据
语言
关系型数据库核心
关系数据库很多---每个数据库各自为战---定义基础规范
sql-1992
sql-1999
sql-2003
标准的定义----基础通用+协议规范+解析方式
每一个数据可以自己开发一些特殊用于指令
3.SQL包含的内容
SQL语言划分为四大模块语言:
DDL【Data Definition Language】:数据定义语言
作用:用于操作用户 数据库 表,视图的数据库结构
create【创建】 drop【删除】 alter【修改】
DML【Data Manipulation Language】:数据操作语言
作用:主要用来处理数据库表中的数据
insert【插入】 delete【删除】 update【修改】 select【查询】
注意:select单独分类一类 DQL【Data Query Language】
DCL【Data Control Language】:数据控制语言
作用:控制数据使用范围
grant【赋予】 revoke【收回】
TCL【Transaction Control Language】:事务控制语言
作用:控制操作过程事务【失误】
commit【提交】 rollback【回滚】 savepoint【保存点】
4.操作数据之存储引擎
主要数据库的发动机,用户数据库数据与文件之间转化
因为数据库操作数据形式不同,所有与数据库定义了多个存储引擎
常用InnoDB MyIsaM Memory
1)查看数据库支持的存储引擎
show engines;
2)存储引擎之----InnoDB
8.0默认存储引擎为InnoDB
8.0之前默认是MyIsaM
优势:
提供了完整的事务处理机制,有很好的容灾能力
提供了外键支持--多表关联查询
提供自增操作 auto_Increment
支持并发操作
缺点:读写数据慢,占用空间大
3)MyIsaM
8.0之前默认存储引擎
优点:
将数据表拆分为三块:表结构,数据,索引
存储数据速度快,占用空间小
缺点:
不支持事务处理,不支持并发操作
4)Memory
内存存储处理数据---磁盘上也会有一个临时文件
优点:
速度快,方便
缺点:
数据生命周期短,依赖内存