菜鸟学Linux第056篇笔记数据库MySQL




www.mysql.com


数据查询方式

二分法

首先将数据排序后,然后每次取中间位置去查询匹配,平均需要查询14次

B+树索引

查询数据只需要4次


将数据文件里的要进行检索的列单独抽取出来并进行排序的条目,并且这些条目

有相对应的指针指向原数据所在位置


搜索码


function


Connection


用户视图

物理视图

DBA视图

层次型

网状型

关系型

二维表

RDBMS (Relational DataBase Management System)

1、数据库创建、删除、修改

2、创建表、删除表、修改表

3、索引的创建、删除

4、用户和权限管理

5、数据增删改

6、查询


DML (Data Manapulate Language)操作

INSERT, REPLACE, UPDATE, DELETE

DDL (Data Defination Language)定义

CREATE, ALTER, DROP

DCL (Data Control Language)

GRANT, REVOKE, SELECT

可以为数据自动建立用户所要求的索引,当数据条目删除时,相对的索引条目

也可自动删除,无需人手动来操作

实现增删改查

管理数据完整性

权限管理


商业Oracle, Sybase, Infomix, SQL Server(中型), DB2

开源MySQL, PostgreSQL, EnterpriseDB


sql86, sql89, sql92, sql99


:IBM,Oracle, EMC(生产存储设备)


SUN 综合软件服务提供商-->开发MySQL-->被Oracle收购

MySQL-->Marion (数据库管理软件)

MySQL-->Percona (公司)

OpenOffice 

LibreOffice

收购BEA: WebLogic 83亿

收购PeopleSoft 提供客户关系软件的管理公司 128亿

综合软件服务提供商 蓝色巨人


mongoDB

Redis

HBase



数据管理的独立性

有效的完成数据存取

保证数据完整性和安全性

数据集中管理

并发存储与故障恢复

减少应用程序开发时间


分析器

计划执行器

优化器

文件的存取

缓存器

磁盘空间管理器

故障恢复管理器

事务管理器

锁管理器


GA(General Availability)

Enterprise Edition


软件包管理器特有的格式

rpm包 .exe格式等

通用二进制格式(类似windows绿色软件)

源程序

MySQL的RPM包


mysql, mysql-server


mysql

mysqld

tcp/3306, mysql, mysql

yum install mysql-server -y


建立源数据库(mysql) 用来存放表名字段名,属性定义等等


mysql 

service mysqld start

mysql 连接到mysql server

-u USERNAME

-P PASSWORD

-h MySQL_server

Linux: socket

windows: memory


用户 user@host 允许哪些客户端登录


交互式模式

客户端命令

服务器命令

都必须使用语句结束符,默认为分号;

批处理模式

执行mysql脚本

Oracle, PL/SQL

SQL server, T-SQL


索引

视图

约束

存储过程

存储函数

触发器

游标

用户

权限

事务


行,列

行:row

列:field, colum


字符

CHAR(n)定长,即使未存储定义长度也会全都占用

VARCHAR(n) 可变长度的字符

BINARY(n) 区分大小写 固定长度

VARBINARY(n) 可变长度,区分大小写

TEXT(n) 超长

BLOD(n) 超长区分大小写

数值

精确数值

×××

TINYINT

SMALLINT

MEDI

INT

BIGINT

修饰符:UNSIGNED 无符号

NOT NULL

十进制

DECIMAL

近似数值

浮点型

FLOAT

DOUBLE

日期时间

DATE

TIME

DATETIME

STAMP 时间戳

布尔

真假01



CREATE

ALTER

DROP

INSERT

UPDATE

DELETE

GRANT

REVOKE


CREATE DATABASE db_name

CREATE DATABASE IF NOT EXISTS db_name

1. 使用db_name

2。创建表tb_name (col1, col2…);

删除数据库db_name

删除表(如果存在)tb_name

从db_name显示表;查看库中的表

使用db_name;表示接下来对哪个数据库进行操作

菜鸟学Linux第056篇笔记数据库MySQL