mysql基础整理02
比较运算符 > < = >= <= !=和<>
!=和<>都是一个意思,都是不等于的意思
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写在分组查询的后面
子查询(嵌套查询)
关联查询
同时查询多张表的数据的查询方式称为关联查询
等值连接和内连接
- 关联查询的两种查询方式:
- 等值连接: select * from A,B where A.x=B.x and A.age=18;
- 内连接:select * from A join B on A.x=B.x where A.age=18;
外链接(左外和右外): select * from A left/right join B on A.x=B.x where A.age=18;
SQL分类:
- DDL数据定义语言 包括:create drop alter truncate 不支持事务
- DML数据操作语言 包括:insert delete update select 支持事务
- DQL数据查询语言 包括:select
- TCL事务控制语言 包括:begin commit rollback savepoint xxx,rollback to xxx;
- DCL数据控制语言 分配用户权限相关SQL
mysql基础整理02的更多相关文章
- MySQL基础整理(一)之SQL基础(未完成)
大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...
- mysql基础整理01
在终端或命令行中和数据库软件建立连接 mysql -uroot -p 数据库相关SQL 查看所有数据库 show databases; 创建数据库 create database 数据库名; crea ...
- MySQL基础篇(02):从五个维度出发,审视表结构设计
本文源码:GitHub·点这里 || GitEE·点这里 一.数据场景 1.表结构简介 任何工具类的东西都是为了解决某个场景下的问题,比如Redis缓存系统热点数据,ClickHouse解决海量数据的 ...
- MySql基础整理
http://hovertree.com/menu/mysql/ use abccs;select * from mytable2 limit 3,4;call sp_name1(1,@nn);sel ...
- day03-MySQL基础知识02
MySQL基础知识02 4.CRUD 数据库CRUD语句:增(create).删(delete).改(update).查(Retrieve) Insert 语句 (添加数据) Update 语句(更新 ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- 重新整理 mysql 基础篇————— 介绍mysql[一]
前言 准备整理mysql的基础篇了,前面整理了sql语句序列的的<sql 语句系列(八百章)>,感觉很多用不上,就停下来了,后续还是会继续整理. mysql 基础篇主要是对一些基础进行整理 ...
- 02 mysql 基础二 (进阶)
mysql 基础二 阶段一 表约束 1.not null 非空约束 例子: create table tb1( id int, name varchar(20) not null ); 注意 空字符不 ...
随机推荐
- python 分片、截断序列
200 ? "200px" : this.width)!important;} --> 介绍 这篇文章主要介绍python对序列的分片方法.通过分片规则可以很简单的处理一些复 ...
- 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer
一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...
- Java异常处理 10 个最佳实践
异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 ...
- iOS学习——@class和#import、#include的区别
在iOS开发过程中,我们在一些源码中经常会看到导包的时候有的用#import进行导包,但是有的的时候也会看到用@class进行导包,那么这两种方式有什么区别呢? 一 @class和#import的主要 ...
- MySQL基础整理(一)之SQL基础(未完成)
大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...
- Merge branch 'master' of xxx error
Merge branch 'master' of xxx Please enter a commit message to explain why this merge is necessary,es ...
- 一条sql解决.一张表的数据复制到另外一张表
如何把一个表的数组复制到一张表?也许很多人会把这个表查出来的数据再插入到另外一张表里面,这样很麻烦又要写代码逻辑去处理,其实一条sql语句就可以把一张表的数据复制到另外一张表,或者一张表的某一条数据复 ...
- mybatis框架(2)---mapper代理方法
mapper代理方法 在我们在写MVC设计的时候,都会写dao层和daoimp实现层,但假如我们使用mapper代理的方法,我们就可以不用先daoimp实现类 当然这得需要遵守一些相应的规则: (1) ...
- 基础编程复习:输出n以内的所有素数
暴力遍历:对于1~n以内的每一数i 每一个i只需要考虑2~i开根号以内是否有可以让i整除的数,即(i%x==0)只要满足就不是素数 否则输出 #include<iostream> #inc ...
- jvm详情——5、选择合适的垃圾收集算法
回收器选择JVM给了三种选择:串行收集器.并行收集器.并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器. 默认情况下,JDK5.0以前都是使用串行收集器, ...