MySQL

数据库

  • DataBase(DB): 存储和管理数据的仓库
  • 数据库管理系统: DataBase Management System (DBMS),操纵和管理数据库的大型软件
  • SQL: Structured Query Language,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

MySQL数据模型

  • 关系型数据库(RDBMS): 建立在关系模型基础上, 有多张相互连接的二维表组成的数据库
  • 二维表即有行有列的表格

SQL简介

  • 操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

通用语法

SQL分类

  • SQL语句一般分为以下四类:


DDL操作(数据库设计)

  • DDL英文全称是Data Definition Language,数据定义语言,用来定义数据库对象(数据库、表)


  • 主键约束后加auto_increment可以实现主键值自动从1开始自增

DML操作(数据库操作)

  • DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作

添加数据


修改数据

  • update后可以不跟where条件, 此时则代表要修改整张表的数据

删除数据


DQL操作(数据库操作)

  • DQL英文全称是Data Query Language(数据查询语言),用来查询数据库表中的记录



基本查询

  • *号代表查询所有字段, 实际开发中尽量少用(不直观, 效率低)
  • 设置别名中as可以省略

条件查询

  • like模糊匹配类似于正则表达式
    -eg:
select * from tb_emp where name like '张%';

上述代码即查找表 tb_emp 中 name 所有以张开头的数据

分组查询

  • 聚合函数


  • 分组查询


  • eg:
select job,count(*) from tb_emp where entrydate <= '2015-01-01' group by job having count(*) >= 2;

上述代码表示先从表 tb_emp 筛选出 entrydate 小于等于 '2015-01-01' 的数据, 再对其分组, 对 job 分组, 并且统计每个不同 job 值的总数, 在此基础上在筛选出 count(*) 大于等于 2 的数据

排序查询


不写排序方式则默认升序, 即asc可以省略不写

  • eg:
select * from tb_emp order by entrydate , update_time desc ;

上述代码表示要在 tb_emp 表中, 根据 entrydate 进行升序排序, 如果 entrydate 相同, 则根据 update_time 进行降序排序

分页查询

SQL语句流程控制函数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容