码迷,mamicode.com
首页 > 数据库 > 详细

数据库知识体系梳理(一)

时间:2018-05-07 21:42:24      阅读:191      评论:0      收藏:0      [点我收藏+]

标签: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','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;(行限制)




    数据库知识体系梳理(一)

    标签:DDL   DCL   DML   DQL   

    原文地址:http://blog.51cto.com/13520774/2113747

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!