1. 程式人生 > >數據庫知識體系梳理(一)

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

DDL DCL DML DQL

  • 關系型數據庫的特點

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

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

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

    (4)安全性方面(ACID)

    2.MySQL版本選擇

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

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

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

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

    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','[email protected]');(插入數據)

    (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','[email protected]'),(5,'zz',12322,202,1102,'female','bj','[email protected]');(多條插入)

    (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;(行限制)




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