SQL简介及简单的DQL

SQL

SQL基本语法规范

  1. 不区分大小写,但建议表名、字段名、数据库名小写,其余的统统大写(关键字)
  2. 每条命令必须用分号结尾
  3. 每条命令根据需要,可以通过换行加缩进来书写,以便于突出重点内容
  4. 注释:
    单行注释:#注释内容 或 – 注释内容(杠杠空格);
    多行注释:/* 注释内容 */

SQL的分类

  1. DQL:Data Query Language,数据查询语言。用于查询数据库表中的记录;
  2. DDL:Data Definition Language,数据定义语言。用于定义数据库对象:数据库、表、列等;
  3. DML:Data Manipulation Language,数据操作语言。用于对数据表中的数据进行增删改的操作。
  4. TCL:Transaction Control Language,事务控制语言。用于处理事务方面;

DQL数据查询语言

概述

  1. 基本格式
SELECT [DISTINCT] 查询列表 FROM 表名;
-- DISTINCT 去重复
  1. 查询列表可以是:表中的字段、常量值、表达式、函数
  2. 查询的结果是一个虚拟的表格!

条件查询

条件相关运算符

  1. 简单条件运算符:> < = != <= >= <>(相当于!=);
  2. 逻辑运算符:用来连接条件表达式;

AND、OR、NOT ;
BETWENN 值1 AND 值2,且值1< 值2;
LIKE ‘_A%’,%表示可以有0或n个任意字符,_表示这个位置上只能有一个字符;
IN(值1,值2,值3…) 表示某个字段值在给出的值当中;

排序查询

  1. 语法
SELECT 查询列表
FROM 表名
WHERE 筛选条件
ORDER BY ASC/DESC;

常见函数

字符函数

 LENGTH(内容)  可以获取内容所占用的【字节】长度
 CONCAT(内容1,内容2,内容3...) 拼接内容
 UPPER(内容)  内容转大写
 LOWER(内容)  内容转小写
 SUBSTR(字符串,索引)  在指定的字符串上,从指定的索引开始一直截取到结尾
 SUBSTR(字符串,索引,个数) 在指定的字符串上,从指定的索引开始,截取连续的指定个数的字符
 INSTR(str, substr)  返回substr在str中第一次出现的起始索引,如果找不到返回0
 TRIM(内容)   去掉前导空白和尾部空白
 TRIM(指定内容 from 内容)   去掉内容前后的指定内容
 LPAD(字符串,长度,字符)    将字符串左侧填充指定字符至总长度变为指定长度
 RPAD 右填充
	注意事项:如果字符串长度为5,但是指定长度为3,不论左填充还是右填充,只要长度不够,都会按照从左到右的顺序,
	在原本的字符串上保留指定的长度的字符个数,只有长度不够的时候才会填充
 REPLACE(str, targart, replacement)  用replacement在str中替换targart

数学函数

ROUND  四舍五入
	ROUND(2.51); 四舍五入,结果是整数
	ROUND(2.4567, 2) 四舍五入,结果保留的小数位按照第二个参数指定的情况进行保留
CEIL  向上取整
FLOOR  向下取整
TRUNCATE(小数, 位数)  小数从第几位开始截断(不存在舍入情况)
MOD(参数1, 参数2)  取余运算

日期函数

NOW():返回当前【年月日+时分秒】;
CURDATE():返回当前【年月日】;
CURTIME():返回当前【时分秒】;
YEAR(参数):返回参数中的年;
MONTH(参数):返回参数月;
MONTHNAME(参数):返回参数月份英文名称;
STR_TO_DATE('9-13-1999', '%m-%d%-Y')  1999-09-13  将日期时间格式的字符串,转换成指定格式的日期
DATE_FORMAT('2018/8/6', '%Y年%m月%d日') :2018年06月06日  将日期转换成字符
DATEDIFF(参数1, 参数2): 用参数1和参数2做差,得到相差的天数,这里参数是日期时间字符串

在这里插入图片描述

其它函数

VERSION()  查看数据库版本
DATABASE()  查看当前的库
USER()  查看当前用户

小知识点

  1. mysql中的【+】只有运算加法的功能;

1、参数全是数值型,直接进行运算
2、参数出现不是数值型,尝试转换成数值型运算
(1)如果能转换成数值,则结果依然是加法结果
(2)如果不能转换成数值,则用0替代运算
3、任何数据与NULL进行【+】运算,结果都是NULL

  1. SELECT DISTINCT 中 DISTINCT的作用是去重复;
  2. 连接两个字符串可以使用concat(‘字符1’,‘字符2’);
  3. sql中判断是否为空只能用 IS NULL 或者 IS NOT NULL 或者<=>;
  4. ESCAPE用于将任意一个字符设置为转义字符,例如:
SELECT 
FROM
WHERE S LIKE '_@_%' ESCAPE '@';
-- 此时的’_@_%‘中第二个_就表示为‘_’,而不是任意一个字符
  1. IFNULL(参数1, 参数2) 判断如果参数1的值是NULL,就用参数2指定的值替代并参与运算,例:
SELECT salary*(1+IFNULL(rate,0))
FROM ...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值