菜鸟学Linux 第056篇笔记 DATABASE, MySQL
admin
2023-05-29 08:01:15
0

菜鸟学Linux 第056篇笔记 DATABASE, MySQL




MySQL www.mysql.com


数据查询方式

二分法

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

B+树索引

查询数据只需要4次


索引

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

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


查询标准

搜索码


api (application programming interface) 库

function


ODBC (Open DataBase Connection)

驱动 Connection


数据展示

用户视图

物理视图

DBA视图

数据的组织结构

层次型

网状型

关系型

二维表

DBMS (DataBase Management System)

RDBMS (Relational DataBase Management System)

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

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

3、索引的创建、删除

4、用户和权限管理

5、数据增删改

6、查询


DB命令分类

DML (Data Manapulate Language)操作

INSERT, REPLACE, UPDATE, DELETE

DDL (Data Defination Language)定义

CREATE, ALTER, DROP

DCL (Data Control Language)

GRANT, REVOKE, SELECT

数据管理软件

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

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

实现增删改查

管理数据完整性

权限管理


RDBMS software

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

开源 MySQL, PostgreSQL, EnterpriseDB


SQL (Structured Query Language) ANSI

sql86, sql89, sql92, sql99


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


Oracle 研发软件  红

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

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

MySQL-->Percona (公司)

OpenOffice 

LibreOffice

收购BEA: WebLogic 83亿

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

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


反关系模型: NoSQL

mongoDB

Redis

HBase



DBMS advantage

数据管理的独立性

有效的完成数据存取

保证数据完整性和安全性

数据集中管理

并发存储与故障恢复

减少应用程序开发时间


DBMS

分析器

计划执行器

优化器

文件的存取

缓存器

磁盘空间管理器

故障恢复管理器

事务管理器

锁管理器


MySQL

Community Edtion 

GA (General Availability)

Enterprise Edition


MySQL 软件包格式

软件包管理器特有的格式

rpm包 .exe格式等

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

源程序

MySQL的RPM包


mysql, mysql-server


mysql

mysqld

tcp/3306, mysql, mysql

安装MySQL

yum install mysql-server -y


初始化

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


连接到mysql

mysql 

service mysqld start

mysql 连接到mysql server

-u USERNAME

-P PASSWORD

-h MySQL_server

Linux: socket

windows: memory


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


mysql客户端模式

交互式模式

客户端命令

服务器命令

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

批处理模式

执行mysql脚本

SQL接口

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



MySQL 常用命令

DDL (Data Defination Language)

CREATE

ALTER

DROP

DML (Data Manapulate Language)

INSERT

UPDATE

DELETE

DCL (Data Control Language)

GRANT

REVOKE


creat数据库

CREATE DATABASE db_name

CREATE DATABASE IF NOT EXISTS db_name

1. USE db_name

2. CREATE TABLE tb_name(col1,col2...);

drop数据库

DROP DATABASE db_name

DROP TABLE [IF EXISTS] tb_name

查看

SHOW TABLES FROM db_name; 查看库中的表

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

DESC tb_name; 查看表结构

SELECT * FROM tb_name; 查看表中所有数据


修改表

ALTER TABLE tb_name

MODIFY

CHANGE

ADD

DROP

ALTER TABLE students ADD course VARCHAR(100);

ALTER TABLE students CHANGE course Course VARCHAR(100) AFTER Name;

ALTER TABLE students DROP Course; 



DML

INSERT INTO tb_name (col1,col2,...) VALUES|VALUE ("STRING",NUM...)

插入数据条目多条时,可以用逗号隔开;

INSERT INTO students VALUE ('LuFei',25,'M'),('NaMei',23,'F');

INSERT INTO students (Name,Age) VALUE ('Liming',20),('Tom',18);

不加字段的插入则表示每一个字段都插入对应的值

UPDATE tb_name SET column=value WHERE 指定哪一行,否则全都更改

UPDATE students SET Age=30 WHERE Name='Tom';

DELETE FROM students WHERE 

DELETE FROM students WHERE Age=25;

REPLACE INTO


选择

SELECT 字段 FROM tb_name WHERE CONDITION;

* 所有字段

WHERE 没有条件表示显示所有行

创建用户

CREATE USER 'USERNAME'@'HOST' INDENTIFIED BY 'PASSWORD'

DROP USER 'USERNAME'@'HOST';

HOST:

IP

HOSTNAME

NETWORK

通配符

_ 匹配任意单个字符 172.16.0.__  10-99

% 任意字符任意长度 

(注意使用通配符要使用引号)


DCL

权限管理

GRANT pri1,pri2,... ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' 

[IDENTIFIED BY 'PASSWORD']; 这个是一条命令,写成两行是因为版面的原因

GRANT ALL PRIVILEGES ON mydb.students to 'tom'@'%';

REVOKE pri1,pri2,... ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST';

REVOKE ALL PRIVILEGES ON mydb.students FROM 'tom'@'%';

查看用户授权

SHOW GRANTS FOR 'USERNAE'@'HOST';


选择和投影

选择:指定以某字段做为搜索码,做逻辑比较,筛选符合条件的行;(行) WHERE

投影:隐藏某些字段(列)



总结:

DDL (Data Definition Language)

用来对数据库,表,定义 添加,删除,变更

CREATE 创建

DROP 删除

ALTER 变更

DML (Data Manipulation Language)

用来对表中的数据条目操作等

INSERT

UPDATE

DELETE

SELECT

SHOW

DCL (Data Control Language)

对用户的权限控制等等


可以使用HELP CONTENTS 来进行查询








相关内容

热门资讯

逐际动力全新全尺寸交互人形机器... 【太平洋科技快讯】5月20日,AI驱动人形机器人厂商逐际动力(LimX Dynamics)公布旗下全...
从超广角到超长焦,哪款手机拍照... “哪款手机拍照效果好”这个问题,很多时候可以拆解为:它在不同焦段下的表现是否都够用?一台手机主摄很强...
原创 世... 长江,这条滋养中华儿女的母亲河,同时也是世界水能最丰富的河流、亚洲最长的河流,它承载着亿万年的岁月与...
河南尉氏县通报居民呕吐腹泻:雨... 记者从河南尉氏县联合调查组了解到,5月19日晚,尉氏县城区有居民出现呕吐,腹泻等异常状况。经调查,原...
美团无人机低空航网正式投入运营... 5月21日,美团无人机宣布其打造的“低空航网”正式投入常态化运营,同时面向全国低空物流运营人开启授权...
Figure AI直播爆火,这... 最近,硅谷机器人公司 Figure AI 的一场分拣直播,把人形机器人重新推到科技圈聚光灯下。 直播...
外交部回应朝鲜无核化相关问题 5月21日,外交部发言人郭嘉昆主持例行记者会。有记者就朝鲜半岛无核化相关内容提问。郭嘉昆表示,中方在...
“6G网要来了”!中国率先布局 4G实现的是人人通信,5G是人机物通信,而6G将实现人、机、物、灵的通信——“灵”,即具有自主学习、...
河北大学网络空间安全与计算机学... 河北大学网络空间安全与计算机学院杜瑞忠教授的最新研究成果“LPPUBR: Lightweight P...
南太行失踪网红小松树被偷偷回栽... 极目新闻记者 李贤诚南太行河南辉县龙水梯红旗尖观景台网红小松树近日莫名消失后,5月20日,有热心人士...