数据库及sql|青训营笔记

139 阅读2分钟

再次学习数据库和sql

引用:

数据库及sql: zhuanlan.zhihu.com/p/41576768

准备工作:认识一些英语单词

creat:创建

drop:删除,下降

alter:修改

column:行,纵行

character:字符

integer:整数

table:表格

add:添加

transaction:业务,变换+行为=交易,处理

insert:插入

revoke:撤销,取消

grant:承认,授予

rollback:反转

commit:确认,承认

基本数据类型

ps:这里使用小写便于认单词

integer:整数

char:字符,字符串(定长),不够则使用半角空格补充

varchar:(可变长字符串)

date:日期类,年月日

操作

sql:

命名规则:只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称 ,且名称必须以半角英文字母开头。同一个表中不能创建两个名称相同的列

字符串及date要用单引号 ''

CREAT DATEBASE <数据库name>

CREAT TABLE <表name>(

<列name1> <该列所需约束>

);

  • 删除列使用的语法:ALTER TALBE <表名> DROP COLUMN <列名>;,删除的数据无法恢复。
  • 增加列使用的语法:ALTER TABLE <表名> ADD COLUMN <列的定义>;

改名:

RENAME TABLE <变更前的名称> to <变更后的名称>

sql--DDL

  1. CREATE: 创建数据库和表等对象
  2. DROP: 删除数据库和表等对象
  3. ALTER: 修改数据库和表等对象的结构

sql--DML

  1. INSERT:添加数据
  2. UPDATE:修改数据
  3. DELETE:删除数据

单机存储

在单个计算机节点上的存储软件系统,一般不涉及网洛交互

经典一:本地文件系统

管理单元:文件

对各种文件系统都有统一的抽象的接口:VFS

对Linux文件系统:两个最基本数据结构:Index Node & Directory Entry

  • I N:文件唯一标识,根本数据所在(元数据:如大小权限物理位置id),存储在磁盘中,总数固定
  • D E:文件名,I N 指针,层级关系,为内存结构

经典二:v_k存储

常用使用方式 put(k,v)&get(k)

LSM-Tree,(好像和树没啥关系),追求极致的写入性能而牺牲了读性能。

在内存中,MemTable负责不断写入数据直到满溢出来传到Immutable MemTable(固定化)中,这玩意满溢后将数据再写入磁盘的SSTable(有层级level 0---....) 满了就传到下一级。但读取时就很麻烦,需要将不同层级的SSTable合并起来一个完整的数据集合才能进一步操作