Mysql_常用语法

常用语法

1. 创建数据库

   create DATABASE 数据库名;

2. 创建表

  

3. DML核心CRUD增删改查

    增加:insert

  删除:delete

  更新:update

    查询:select

4. 基本查询语句

  • 基本查询:select * from table_name;
  • 字段查询:select 字段名 from table_name;
  • 条件查询:select * from table_name where a=1;
  • 倒排序:select * from table_name order by 字段名 desc;
  • 分页:select * from table_name order by 字段名 desc limit 10 offset 0;
  • 去重:select distinct 字段名 form table_name;

5. 条件查询

  • and  or   not
  • 相等:=
  • 数字比较:= > < <>(不等于)
  • like通配: %_
  • BETEWWN AND
  • IN

6. 聚合查询

  • group by having
  • COUNT,MAX,MIN,SUM,AVG

 7.多表查询

 8. 去重查询

9. 常用关键字

10. 面试常问:

  • 视图

 优点:

  • 使用视图,可以定制用户数据,聚焦特定的数据
  • 使用视图,可以简化数据操作
  • 使用视图,基表中的数据就有了一定的安全性 
  • 可以合并分离的数据,创建分区视图  

   缺点:

  • 性能差
  • 修改限制
  • 存储过程:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集

 优点:

  • 运行速度:对于很简单的sql,存储过程没有什么优势。对于复杂的业务逻辑,因为在存储过程创建的时候,数据库已经对其进行了一次解析和优化。存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用,所以执行速度会比普通sql快
  • 减少网络传输:存储过程直接就在数据库服务器上跑,所有的数据访问都在数据库服务器内部进行,不需要传输数据到其它服务器,所以会减少一定的网络传输

   缺点:

  • SQL本身是一种结构化查询语言,但不是面向对象的的,本质上还是过程化的语言,面对复杂的业务逻辑,过程化的处理会很吃力。同时SQL擅长的是数据查询而非业务逻辑的处理,如果如果把业务逻辑全放在存储过程里面,违背了这一原则
  • 索引

  优点:

  • 通过创建唯一索引,可以保证数据库每一行数据的唯一性
  • 可以大大提高查询速度
  • 可以加速表与表的连接
  • 可以显著的减少查询中分组和排序的时间。  

  缺点:

  • 创建索引和维护索引需要时间,而且数据量越大时间越长
  • 创建索引需要占据磁盘的空间,如果有大量的索引,可能比数据文件更快达到最大文件尺寸
  • 当对表中的数据进行增加,修改,删除的时候,索引也要同时进行维护,降低了数据的维护速度
原文地址:https://www.cnblogs.com/hd-test/p/11307928.html