菜鸟学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 来进行查询








相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...