數據庫知識體系梳理(一)

  1. 關係型數據庫的特色mysql

(1)以二維表的形式來存放數據信息sql

(2)傳統企業使用Oracle(有資本),互聯網企業使用MySQL(開源免費,社區人羣多)數據庫

(3)SQL語句是管理數據的關鍵安全

(4)安全性方面(ACID)app

2.MySQL版本選擇分佈式

(1)我接觸的最先的版本是2009-2010的5.0版本ide

(2)公司使用的主流版本,GA版發佈6個月以上,偶數版(我使用過得像5.6.34,5.6.36)性能

(3)測試環境使用過5.7的版本,目前相對較新的版本(5.7.18,5.7.20),最新測試版8.0測試

(4)MySQL版本的選擇是根據我公司的業務決定的code

3.關係型數據庫(MySQL)和非關係型數據庫(MongoDB)特色

(1)關係型(安全性強)

強大的查詢功能

強一致性

二級索引

(2)非關係型(性能優異)

靈活的模式

可擴展,集羣

性能好,分佈式存儲

4.相對innodb,tokuDB的優勢(用在Zabbix上)

(1)insert操做要比innodb性能高3-4倍

(2)數據的壓縮比能夠達到8倍以上

(3)在查詢性能上也比innodb強不少

(4)其餘功能和innodb差很少

5.什麼是元數據?指哪些東西?

(1)元數據是在MySQL初始化的時候生產的

(2)通俗的講元數據是用來存放表的列屬性,各類對應關係

6.DDL:數據庫中對象定義語言(庫、表)

(1)create schema zabbix character set utf8;(增)

(2)drop database zabbix;(刪)

(3)alter database zabbix charset utf8mb4;(改)

(1)create table stu (id int,name varchar(20),age int ,gender int);(增)

(2)desc stu;(表結構)

(3)alter table  stu rename  to  student;(重命名-改)

(4)alter table student add addr varchar(20);(最後一列加)

(5)alter table student add stu_id int first;(頭部加)

(6)alter table student add qq int after name;(name後加)

(7)alter table student add tel_num int after age,add email varchar(20);

(8)alter table student drop id;(刪除列)

(9)alter table student change name stu_name varchar(20);(改列名字)

(10)alter table student modify  gender varchar(20);(改列屬性)

(11)create table student_0 like stundet;(表結構同student同樣的空表)

(12)create table t1_1 as select * from  t1;(如出一轍的表)

7.DCL:數據庫控制語言(權限grant revoke)

(1)grant INSERT,SELECT, UPDATE, DELETE, CREATE, DROP on oldboy.*  to app@'10.0.0.%' identified by '123';

(2)revoke INSERT,SELECT, UPDATE, DELETE, CREATE, DROP on oldboy.*  from app@'10.0.0.%';

8.DML:數據行操做語言(增、刪、改)

(1)insert into student values(1,'zhang3',123,20,110,'male','bj','123@qq.com');(插入數據)

(2)insert into student(stu_id,stu_name,qq) values(2,'li4',456);(指定列插入數據)

(3)insert into student values(1,'zhang3',123,20,110,'male','bj','123@qq.com'),(5,'zz',12322,202,1102,'female','bj','12322@qq.com');(多條插入)

(4)update student set stu_name='wang5' where stu_id=5;(修改數據)

(5)delete from student where stu_name='zhang3';(刪除數據)

(6)truncate table oss_base;    drop table oss_base; (刪除大表操做)

9.DQL: 數據行查詢語言(select show)

(1)select user,passoword ,host from mysql.user;

10.複雜語句

(1)SELECT  co.name FROM city AS  ci ,country AS co

WHERE 

ci.population<100 

AND co.code=ci.CountryCode;(多表查詢)

(2)SELECT * FROM city WHERE countrycode='chn' ORDER BY population  DESC;(排序)

(3)SELECT * FROM city 

WHERE countrycode='chn' 

ORDER BY population  

DESC 

LIMIT 10;(行限制)

相關文章
相關標籤/搜索