数据库的基本概念

数据库的引擎

innordb 两个文件

1.什么是数据库的事务?

  事务是支持多用户的共享机制,在修改的时候要加select

2.什么是行级锁?

  在共同相处理同一行的数据的时候我们需要在行内加锁以保证数据的安全,但是在修改的时候修改者都要带一个行级锁的钥匙,不然是没有办法去修改数据的 

  对于少量的数据的的并发修改效率更高

  但是对于整个表的大量数据字段修改反而拖慢了速度

3.如何创建外键?

  create table (表名)

myisam 5.5版本下默认的储存引擎 会生成三个文件

  查询速度

memory存储引擎

  断电消失

blakhole 引擎

  多级主从复制  如果之后几台的时候是没有必要添加的因为没有太大的意义

  存啥啥没

数据库在读写数据的时候的效率差:

  数据库在写的时候是比读的时候慢很多的所以要做读写分离

 

表结构的操作:

  数据类型: 

    数字:int  float

    字符串:char 优先 定长 :存取快,消耗空间    varchar 变长.存取慢,节省空间

    时间:datetime    timestame 能表示的时间戳比较短2038年就结束了所以一般不用

问题:在做月统计的时候你一般用什么数据类型来存储时间?

  用datetime,因为可以直接查日 月 天操作方便

    枚举和集合

    enum :    create   table (gender enum("male","female"))

    set     集合多选去重

约束条件:

  非空: not null

  默认值:   default

  唯一:  unique

     联合唯一  unique  (字段1,字段2)  

     唯一+int  自增  auto_increment

     主键: primatry

  删除表结构:  drop table 表名

  修改表结构:

    alter table 表名

  查看表结构:

  desc  表名

 

数据库的记录操作

  增: 

    insert into 表(字段) values (值1,值2),(值1,值2)

  删:

    delete from table where 条件

    delete from  table 删除整个表中的数据

  改:

    update 表 set 字段   

  查: 

    单表:   

      select  * from 表

          where  条件  

          group by 字段

          having  过滤条件

          order by  排序

          limit  取前几条      

order by 和limit会拖慢查寻的速度因为都会整体查询一边

 多表:   连续查询  子查询

 

 

          

转载于:https://www.cnblogs.com/RootEvils/p/10550884.html

你可能感兴趣的:(数据库)