比较运算符 > < = >= <= !=和<>

  • !=和<>都是一个意思,都是不等于的意思

    and和or

  • and 并且&& 需要同时满足多个条件时使用
  • or 或|| 需要满足多个条件中的某一个条件时使用

    in 和 not in

    select * from emp where sal=5000 or sal=950 or sal=3000;
    两个的意思相等
    select * from emp where sal in (5000,950,3000);

    between x and y 包括xy

    模糊查询 like

  • _代表单个未知字符
  • %代表0或多个未知字符
    -举例:
    以a开头 a%
    以b结尾 %b
    包含c %c%
    第一个字符是a 倒数第二个字符是b a%b_
    匹配163邮箱 %@163.com
    任意邮箱 %@%.com

    排序

  • order by 字段名 asc/desc;

    分页查询

  • limit 跳过的条数,请求的条数(每页的条数)
  • limit (页数-1)*每页的条数,每页的条数

    函数

    concat()函数

    数值计算

          • / % 7%2 = mod(7,2)

            日期相关函数

  • 获取当前日期+时间
    select now();
  • 获取当前年月日 和 时分秒
    select curdate(),curtime();
  • 从完整的年月日时分秒中 提取年月日 和 提取时分秒
    select date(now());
    select time(now());
  • 从完整的年月日时分秒中提取时间分量 extract
    select extract(year/month/day/hour/minute/second from now());

  • 日期格式化 date_format()
    date_format(时间,格式);
    格式:
    %Y 四位年 %y 两位年
    %m 两位月 %c 一位月
    %d 日
    %H 24小时 %h 12小时
    %i 分
    %s 秒
    把默认的时间格式转成 年月日时分秒
    select date_format(now(),'%Y年%m月%d日 %H时%i分%s秒');
  • 把非标准时间格式转成标准格式 str_to_date()
    str_to_date(字符串时间,格式)
    14.08.2019 08:00:00
    select str_to_date('14.08.2019 08:00:00','%d.%m.%Y %H:%i:%s');

    聚合函数

  • 求和:sum(求和的字段)
  • 平均值:avg(字段)
  • 最大值:max(字段)
  • 最小值:min(字段)
  • 计数: count(字段) 一般写count(*) 只有涉及null值时才使用字段名

    字符串相关函数

  • char_length(str)获取字符串的长度
  • instr(str,substr) 获取substr在str中出现的位置 从1开始
  • insert(str,start,length,newstr)
  • lower(str) upper(str)
  • trim(str) 去两端空白
  • left(str,index) 从左边截取
  • right(str,index) 从右边截取
  • substring(str,index,?length) 从指定位置截取
  • repeat(str,count) 重复
  • replace(str,old,new) 替换
  • reverse() 反转

    数学相关的函数

  • floor(num) 向下取整
  • round(num) 四舍五入
  • round(num,m) m代表保留几位小数
  • truncate(num,m) 非四舍五入
  • rand() 随机数0-1
    获取 0-5的随机整数
    select floor(rand()6);
    获取3-6的随机整数 0-3 + 3
    select floor(rand()
    4)+3;

    分组查询

  • group by 字段名,字段名

    having

  • where后面只能写普通字段的条件,不能写聚合函数的条件
  • having一般要和分组查询结合使用,后面写聚合函数的条件,having写在分组查询的后面

    子查询(嵌套查询)

    关联查询

  • 同时查询多张表的数据的查询方式称为关联查询

    等值连接和内连接

  • 关联查询的两种查询方式:
  1. 等值连接: select * from A,B where A.x=B.x and A.age=18;
  2. 内连接:select * from A join B on A.x=B.x where A.age=18;
  3. 外链接(左外和右外): select * from A left/right join B on A.x=B.x where A.age=18;

    SQL分类:

    1. DDL数据定义语言 包括:create drop alter truncate 不支持事务
    2. DML数据操作语言 包括:insert delete update select 支持事务
    3. DQL数据查询语言 包括:select
    4. TCL事务控制语言 包括:begin commit rollback savepoint xxx,rollback to xxx;
    5. DCL数据控制语言 分配用户权限相关SQL

mysql基础整理02的更多相关文章

  1. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  2. mysql基础整理01

    在终端或命令行中和数据库软件建立连接 mysql -uroot -p 数据库相关SQL 查看所有数据库 show databases; 创建数据库 create database 数据库名; crea ...

  3. MySQL基础篇(02):从五个维度出发,审视表结构设计

    本文源码:GitHub·点这里 || GitEE·点这里 一.数据场景 1.表结构简介 任何工具类的东西都是为了解决某个场景下的问题,比如Redis缓存系统热点数据,ClickHouse解决海量数据的 ...

  4. MySql基础整理

    http://hovertree.com/menu/mysql/ use abccs;select * from mytable2 limit 3,4;call sp_name1(1,@nn);sel ...

  5. day03-MySQL基础知识02

    MySQL基础知识02 4.CRUD 数据库CRUD语句:增(create).删(delete).改(update).查(Retrieve) Insert 语句 (添加数据) Update 语句(更新 ...

  6. mysql基础知识语法汇总整理(二)

    mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...

  7. mysql基础知识语法汇总整理(一)

    mysql基础知识语法汇总整理(二)   连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...

  8. 重新整理 mysql 基础篇————— 介绍mysql[一]

    前言 准备整理mysql的基础篇了,前面整理了sql语句序列的的<sql 语句系列(八百章)>,感觉很多用不上,就停下来了,后续还是会继续整理. mysql 基础篇主要是对一些基础进行整理 ...

  9. 02 mysql 基础二 (进阶)

    mysql 基础二 阶段一 表约束 1.not null 非空约束 例子: create table tb1( id int, name varchar(20) not null ); 注意 空字符不 ...

随机推荐

  1. python 分片、截断序列

    200 ? "200px" : this.width)!important;} --> 介绍 这篇文章主要介绍python对序列的分片方法.通过分片规则可以很简单的处理一些复 ...

  2. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  3. Java异常处理 10 个最佳实践

    异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 ...

  4. iOS学习——@class和#import、#include的区别

    在iOS开发过程中,我们在一些源码中经常会看到导包的时候有的用#import进行导包,但是有的的时候也会看到用@class进行导包,那么这两种方式有什么区别呢? 一 @class和#import的主要 ...

  5. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  6. Merge branch 'master' of xxx error

    Merge branch 'master' of xxx Please enter a commit message to explain why this merge is necessary,es ...

  7. 一条sql解决.一张表的数据复制到另外一张表

    如何把一个表的数组复制到一张表?也许很多人会把这个表查出来的数据再插入到另外一张表里面,这样很麻烦又要写代码逻辑去处理,其实一条sql语句就可以把一张表的数据复制到另外一张表,或者一张表的某一条数据复 ...

  8. mybatis框架(2)---mapper代理方法

    mapper代理方法 在我们在写MVC设计的时候,都会写dao层和daoimp实现层,但假如我们使用mapper代理的方法,我们就可以不用先daoimp实现类 当然这得需要遵守一些相应的规则: (1) ...

  9. 基础编程复习:输出n以内的所有素数

    暴力遍历:对于1~n以内的每一数i 每一个i只需要考虑2~i开根号以内是否有可以让i整除的数,即(i%x==0)只要满足就不是素数 否则输出 #include<iostream> #inc ...

  10. jvm详情——5、选择合适的垃圾收集算法

    回收器选择JVM给了三种选择:串行收集器.并行收集器.并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器. 默认情况下,JDK5.0以前都是使用串行收集器, ...