# MySQL面试系列(一)
1、关系型数据库和非关系型数据库的区别?
其实很好理解,先说一下最直白的的区别,关系型数据库中的数据有关系,非关系型数据库的数据无关系;
关系型数据库(Mysql和Oracle)
1.表和表、表和字段、数据和数据存在着关系
优点:
1.数据之间有关系,进行数据的增删改查的时候是非常方便的
2.关系型数据库是有事务操作的,保证数据的完整性和一致性。
缺点:
1.因为数据和数据是有关系的,底层是运行了大量的算法
大量算法会降低系统的效率,会降低性能
2.面对海量数据的增删改查的时候会显的无能为力
3.海量数据对数据进行维护变得非常的无力
适合处理一般量级的数据(银行转账和钱)
非关系数据库的(redis和MangDB)
为了处理海量数据,非关系数据库设计之初就是为了替代关系型数据库的关系
优点:
1.海量数据的增删改查是可以的
2.海量数据的维护和处理非常轻松
缺点:
1.数据和数据没有关系,他们之间就是单独存在的
2.非关系数据库没有关系,没有强大的事务关系,没有保证数据的完整性和安全性
适合处理海量数据,保证效率,不一定安全(统计数据,例如微博数据)
注意:
关系型数据库最大的优点是事务的一致性;
数据库事务必须具备ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔离性,Durability持久性。
数据的持久存储,尤其是海量数据的持久存储,还是需要一种关系数据库。
2、MySQL复制表
来给大家区分下mysql复制表的两种方式。
(1)只复制表结构到新表
create table 新表 select * from 旧表 where 1=2
或者
create table 新表 like 旧表
(2)复制表结构及数据到新表
create table新表 select * from 旧表