SELECT基础语句
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基础语句相关推荐
- SQL语句基础4/select查询语句练习
SQL语句基础4 注:除指明表格之外所有的数据来源于Oracle数据库自带的SCOTT用户表. 1. 表连接(99语法) 1.1 内连接 cross join语法:cross join即交叉连接,用于 ...
- SQL基础---SQL SELECT DISTINCT 语句
SQL SELECT DISTINCT 语句 本章讲解 SELECT DISTINCT 语句. SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希 ...
- MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...
本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1. 首先使用两个简单的查询语句: 查询当前版本:se ...
- mysql操作语句now_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!
本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1. 首先使用两个简单的查询语句: 查询当前版本:se ...
- mysql存储过程into_MySQL存储过程中使用SELECT …INTO语句为变量赋值
使用SELECT -INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT -INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT -INTO语句 ...
- select计数语句_从零开始学 MySQL SELECT 语句详解
阅读本文大概需要 7 分钟 前言上篇文章我们学习了 MySQL 的五种约束,今天这篇文章我们来学习下 SELECT 语句.在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句.在 ...
- mysql数据库基础语句讲解
mysql数据库基础讲解 一.数据库客户端命令 二.数据库基础sql语句 三.数据表基础语句 四.数据的增删改查(重点) 切记sql语句之后一定要加 ; 一.数据库客户端命令 1.mysql: mys ...
- vip2-day22 MySQL 基础语句
MySQL 8 新特性 数据字典:包含一个事务数据字典,用于储存有关数据库对象的信息.在之前的版本中,字典数据存储在元数据文件和非事务表中. 原子数据定义语句:支持原子数据定义语言(DDL). DDL ...
- MYSQL数据库 增删改查基础语句
MYSQL数据库 增删改查基础语句 **********************DDL 语句 ********************* ( DDL 是数据定义语言的缩写,简单的说,就是对数据库内 ...
最新文章
- 自定义 Layer 属性的动画
- RedHat7/CentOS7 压缩解压命令汇总
- IOS7最新的系统漏洞
- Python学习心得——基础知识(六)
- 机器学习中的矩阵向量求导(四) 矩阵向量求导链式法则
- 测试u盘信息软件,U盘检测器
- 如何将FPGA资源平民化?阿里工程师有了新突破
- 记一次热更新上传补丁包失败问题
- Html5 填表 表单(二) input type 各种输入, 各种用户选择,上传等等泛输入用户交互
- typec扩展坞hdmi没反应_typec扩展坞转hdmi/vga多功能网口usb转换器苹果华为电脑matebook6元优惠券券后价26.8元...
- HTTP 错误 404.2 – Not Found
- Atom飞行手册翻译: 3.8 编写spec
- 简易博客编辑器:玩转document.execCommand命令
- python教程视频哪个好-python视频教程哪家好
- 【车牌识别】基于matlab GUI汽车出入库收费系统(带面板)【含Matlab源码 735期】
- 青花瓷音乐的单片机c语言程序,单片机蜂鸣器演奏青花瓷的程序
- 锐捷长ping_锐捷交换机常用操作命令
- 2022数学建模思路 - 案例
- 【天怒人怨爸爸系列】一年级数学口算题生成程序
- 摩斯password
热门文章
- 医学生可以跨专业考计算机的专业,写给那些本科不是医学专业,准备跨考医学专业同学的信......
- DSP TMS320C6000基础学习(1)——介绍
- 遗传算法——通俗讲解,轻松掌握
- 汇聚“地表最强”云原生战队 云原生技术实践峰会强势来袭
- vscode 快速生成html
- 计算机科学个人陈述中文,留学文书写作范例-计算机科学(个人陈述)的英语作文...
- [C++] 十六进制转十进制
- 收到银行短信你正在使用Android设备,【工银融e行】验证码:(短信编号:),您正在使用Android设备通过工银融e行手机银行,提示我这个是卡被盗了吗 - 信用卡吧...
- webpack大拷问
- 灵隐寺内的一幅对联,写尽了人的一生