温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-14 23:12:15 来源:网络 阅读:497 作者:Winthcloud 栏目:数据库

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








向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI