select

  • 1.SQL的分类
  • 2.select基本查询语句
    • 列的别名
    • 删除重复行(去重)
    • 空值参与运算
    • 着重号
    • 查询常数
    • 显示表结构
    • 过滤数据
  • 3.运算符
    • 等于运算符:' = '
    • 安全等于运算符: '<=>'
    • 其他符号运算符
    • 非符号运算符
      • BETWEEN AND运算符
      • IN,NOTIN运算符
      • LIKE运算符
      • ESCAPE
      • REGEXP
    • 逻辑运算符
    • 正则表达式查询
  • 4.排序
    • 排序规则
    • 多列排序
  • 5.分页

1.SQL的分类

DDL:数据定义语言。 从无到有创建数据库对象CREATE/ALTER/DROP/RENAME/TRUNCATE

DML:数据操作语言。
INSERT /DELETE / UPDATE / SELECT
(增删改查insert / delete / update / select)

DCL:数据控制语言。 控制数据操作
COMMIT / ROLLBACK(回改) / SAVEPOINT(保存点) /GRANT / REVOKE

DQL:数据查询语言。 SECELT(由于select使用频率极高,难度大,有些分类单独把select归为一类)

SELECT
基本的select语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询
DDL(含DCL)  创建和管理表
DML(非SELECT)数据处理之增删改
数据类型精讲

2.select基本查询语句

查看数据库:show databases;
创建数据库:create database +dbname;
使用数据库:use + dbname;
添加数据到指定位置:insert into + dataname + value;
搜索数据: select ... from ... ;

SELECT 标识选择哪些列
FROM 标识从哪个表中选择

列的别名

  • 紧跟列名:last_name lname
  • 加关键字AS(alias):last_name AS lname
  • 别名使用双引号,可以避免空格错误:last_name "lname"

删除重复行(去重)

在SELECT语句中使用关键字DISTINCT去除重复行

SELECT DISTINCT department_id
FROM employees;

空值参与运算

#空值:null,不是0,而是不知道(缺失值)

着重号

避免和关键字等重名SELECT * FROM `order`;

查询常数

每一行都多出一列常数a

SELECT "A公司",123,employss_id
FROM employees;

显示表结构

使用describe或desc命令

DESCRIBE employees;#显示表字段详细信息
DESC emoloyees;

过滤数据

  • 返回符合WHERE子句的信息
  • 在SELECT…FROM…语句后添加WHERE语句进行筛选所需信息
  • 多组过滤条件用AND连接WHERE A AND B;
  • WHERE子句(过滤条件)要紧挨FROM结构后后面
#查询90号部门的员工信息
SELECT *
FROM employees
WHERE department_id = 90;

3.运算符

等于运算符:’ = ’

  • 如果等号两边的值一个是整数,另一个是字符串,则MySQL会将字符串转化为数字进行比较。
    -如果等号两边的值、字符串或表达式中有一个为NULL,则比较结果为NULL。

NULL = NULL,返回NULL;
NULL = 1,返回NULL;

安全等于运算符: ‘<=>’

同’ = ',唯一区别:能对NULL值进行判断

NULL = NULL,返回1;
NULL = 1,返回0;

其他符号运算符

求余(求模)运算符: % 或 MOD
不等于运算符:<> 或 !=

非符号运算符

BETWEEN AND运算符

#判断 a <= c <= b,返回结果为0或1,或者返回c中符合条件的个体
SELECT employee_id
FROM employees
WHERE employee_id BETWEEN 100 and 120;

IN,NOTIN运算符

#返回 employees 中有employee_id是(100,200,300)的员工信息
SELECT *
FROM employees
WHERE employee_id IN(100,200,300);

LIKE运算符

主要用来匹配字符串(模糊匹配)

‘%’:匹配0个或多个字符
‘_’:只匹配1个字符

 WHERE name LIKE '_a%';>> ba bas bsadd ...

ESCAPE

回避特殊符号的:使用转义符。

将[%]转为[$%]、[_]转为[$_],然后再加上[ESCAPE ‘$’].
SELECT job_id FROM jobs WHERE job_id LIKE 'IT$_%' escape '$';
使用\表示转义,要省略ESCAPE。
SELECT job_id FROM jobs WHERE job_id LIKE 'IT\_%';

REGEXP

  • ‘^’匹配以该字符后面的字符开头的字符串。
  • ‘$’匹配以该字符前面的字符结尾的字符串。
  • ‘.’匹配任何一个单字符。
  • “[…]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使用一 个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。
  • ’匹配零个或多个在它前面的字符。例如,“x”匹配任何数量的‘x’字符,“[0-9]”匹配任何数量的数字, 而“”匹配任何数量的任何字符

逻辑运算符

逻辑或:OR 或 ||
逻辑异或运算符:XOR
逻辑与:AND 或 &&
逻辑非:NOT 或 !

OR可以和AND一起使用,但AND优先级高于OR

正则表达式查询

用来检索或替换文本内容

符号 说明 例子 意思
^ 匹配起始字符 ^b b开头的字符串
$ 匹配结束字符 bt$ 以bt结尾的字符串
. 匹配单个字符 c.t c和t中间只有一个字符的字符串
* 匹配0个或多个字符 c*t c和t之间可存在0或多个字符的字符串
<字符串> 匹配含指定字符串的文本 含ca的字符串
[字符集合] 匹配含[ ]任意字符 [xz] 任何含x或z的字符串
[^] 匹配不含[ ]任意字符 [^xz] 任何不含x或z的字符串
字符串{n} 匹配前面字符串至少n次 ab{2} 匹配两个或更多的ab
字符串{n,m} 匹配前面字符串的次数范围[n,m] a{2,5} 匹配最少2个,最多5个a的字符串

4.排序

排序规则

ORDER BY子句排序

  • ASC(ascend):升序,可省。
  • DESC(descend):降序。

ORDER BY子句在SELECT语句的结尾。

## ORDER BY子句降序
SELECT *
FROM employees
ORDER BY hire_date DESC;

多列排序

  • 多列排序时,优先第一列,第一列有相同值,才会对第二列排序
  • 可以使用不在SELECT列表中的列排序
## 多列排序
SELECT last_name, department_id, salary
FROM employees
ORDER BY department_id, salary DESC;

5.分页

  • LIMIT子句必须放在整个SELECT子句的最后
  • LIMIT子句分页:LIMIT 位置偏移量,行数

“位置偏移量”参数指示MySQL从哪一行开始显示,是一个可选参数
第一条记录的位置偏移量是0
“行数”指示返回的记录条数

SELECT基础语句相关推荐

  1. SQL语句基础4/select查询语句练习

    SQL语句基础4 注:除指明表格之外所有的数据来源于Oracle数据库自带的SCOTT用户表. 1. 表连接(99语法) 1.1 内连接 cross join语法:cross join即交叉连接,用于 ...

  2. SQL基础---SQL SELECT DISTINCT 语句

    SQL SELECT DISTINCT 语句 本章讲解 SELECT DISTINCT 语句. SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希 ...

  3. MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...

    本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1.   首先使用两个简单的查询语句: 查询当前版本:se ...

  4. mysql操作语句now_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!

    本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1.   首先使用两个简单的查询语句: 查询当前版本:se ...

  5. mysql存储过程into_MySQL存储过程中使用SELECT …INTO语句为变量赋值

    使用SELECT -INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT -INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT -INTO语句 ...

  6. select计数语句_从零开始学 MySQL SELECT 语句详解

    阅读本文大概需要 7 分钟 前言上篇文章我们学习了 MySQL 的五种约束,今天这篇文章我们来学习下 SELECT 语句.在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句.在 ...

  7. mysql数据库基础语句讲解

    mysql数据库基础讲解 一.数据库客户端命令 二.数据库基础sql语句 三.数据表基础语句 四.数据的增删改查(重点) 切记sql语句之后一定要加 ; 一.数据库客户端命令 1.mysql: mys ...

  8. vip2-day22 MySQL 基础语句

    MySQL 8 新特性 数据字典:包含一个事务数据字典,用于储存有关数据库对象的信息.在之前的版本中,字典数据存储在元数据文件和非事务表中. 原子数据定义语句:支持原子数据定义语言(DDL). DDL ...

  9. MYSQL数据库 增删改查基础语句

    MYSQL数据库 增删改查基础语句 **********************DDL 语句 *********************   ( DDL 是数据定义语言的缩写,简单的说,就是对数据库内 ...

最新文章

  1. 自定义 Layer 属性的动画
  2. RedHat7/CentOS7 压缩解压命令汇总
  3. IOS7最新的系统漏洞
  4. Python学习心得——基础知识(六)
  5. 机器学习中的矩阵向量求导(四) 矩阵向量求导链式法则
  6. 测试u盘信息软件,U盘检测器
  7. 如何将FPGA资源平民化?阿里工程师有了新突破
  8. 记一次热更新上传补丁包失败问题
  9. Html5 填表 表单(二) input type 各种输入, 各种用户选择,上传等等泛输入用户交互
  10. typec扩展坞hdmi没反应_typec扩展坞转hdmi/vga多功能网口usb转换器苹果华为电脑matebook6元优惠券券后价26.8元...
  11. HTTP 错误 404.2 – Not Found
  12. Atom飞行手册翻译: 3.8 编写spec
  13. 简易博客编辑器:玩转document.execCommand命令
  14. python教程视频哪个好-python视频教程哪家好
  15. 【车牌识别】基于matlab GUI汽车出入库收费系统(带面板)【含Matlab源码 735期】
  16. 青花瓷音乐的单片机c语言程序,单片机蜂鸣器演奏青花瓷的程序
  17. 锐捷长ping_锐捷交换机常用操作命令
  18. 2022数学建模思路 - 案例
  19. 【天怒人怨爸爸系列】一年级数学口算题生成程序
  20. 摩斯password

热门文章

  1. 医学生可以跨专业考计算机的专业,写给那些本科不是医学专业,准备跨考医学专业同学的信......
  2. DSP TMS320C6000基础学习(1)——介绍
  3. 遗传算法——通俗讲解,轻松掌握
  4. 汇聚“地表最强”云原生战队 云原生技术实践峰会强势来袭
  5. vscode 快速生成html
  6. 计算机科学个人陈述中文,留学文书写作范例-计算机科学(个人陈述)的英语作文...
  7. [C++] 十六进制转十进制
  8. 收到银行短信你正在使用Android设备,【工银融e行】验证码:(短信编号:),您正在使用Android设备通过工银融e行手机银行,提示我这个是卡被盗了吗 - 信用卡吧...
  9. webpack大拷问
  10. 灵隐寺内的一幅对联,写尽了人的一生