数据库高级教程 01

简介: 数据库高级教程 01

大家好,我是阿娟,一位从业 7 年的软件测试程序媛,上一节介绍了数据库基础教程-八种常用语法,今天给大家分享数据库高阶教程第一节


  1. SQL  LIMIT 子句
  2. SQL LIKE 操作符
  3. SQL 通配符
  4. SQL IN 操作符
  5. SQL BETWEEN 操作符
  6. SQL 别名


一、LIMIT子句


Student表,包含字段snum、sname、birthday、sex


一)语法


1、SELECT 字段名(s) FROM 表名 LIMIT 数值;


2、SELECT 字段名(s)FROM 表名 LIMIT m,n;

表示从第m+1位的数据开始取,取n个数


3、LIMIT 子句和OFFSET组合使用

SELECT 字段名(s)FROM 表名 LIMIT m OFFSET n;

表示从第n+1位的数据开始取,取m个数


二)举例


1、展示查询结果的前三条数据


SELECT * FROM Student LIMIT 3;

执行结果如下,查询出当前Student表的前三条数据



2、查询出Studen表中第2,3,4条记录


SELECT * FROM Student LIMIT 1,3;

执行结果如下:


3、查询出表中第2,3,4条记录


SELECT * FROM Student LIMIT 3 OFFSET 1;

执行结果如下:


二、SQL LIKE 操作符


Student表,包含字段snum、sname、birthday、sex

用于在 WHERE 子句中搜索字段中的指定模式,例如以xx字符开始的数据,以xx字符结束的数据等。


一)语法


1、查询 以xx 开头的数据

SELECT 字段名(s) FROM 表名 WHERE 列名 LIKE'xx%';


2、查询以 xx结束的数据

SELECT 字段名(s) FROM 表名 WHERE 列名 LIKE '%xx';


3、查询包含xx的数据

SELECT 字段名(s) FROM 表名 WHERE 列名 LIKE'%xx%';


4、查看不包含xx的数据

SELECT 字段名(s) FROM 表名 WHERE 列名NOT  LIKE'%xx%';


二)举例


1、查询Student表中 sname 以张开头的数据


SELECT * FROM Student WHERE sname LIKE '张%';

执行结果如下,返回一条数据


2、查询Student表 sname 以娟结尾的数据


SELECT * FROM Student WHERE sname LIKE '%娟';

执行结果如下:


3、查询Student表中sname 包含三的数据


SELECT * FROM Student WHERE sname LIKE '%三%';

执行结果如下:


4、查询Student表中sname 不包含三的数据


SELECT * FROM Student WHERE sname NOT LIKE '%三%';

执行结果如下:


三、SQL 通配符


Student表,包含字段snum、sname、birthday、sex

通配符可用于替代字符串中的任何其他字符,常和LIKE子句组合。

SQL用到的通配符如下:

%:替代 0 个或多个字符

-:替代一个字符

[charlist]:字符列中的任何单一字符

[^charlist]或[!charlist]:不在字符列中的任何单一字符


一)举例


1、查询Student表中sname 不包含三的数据


SELECT * FROM Student WHERE sname NOT LIKE '%三%';

执行结果如下:


2、查询Student表中sname中间包含三的数据


SELECT * FROM Student WHERE sname LIKE '_三_';

执行结果如下,返回一条数据


3、查询Studen表中sname中包含字符三的数据


SELECT * FROM Student WHERE sname REGEXP '[三]';

执行结果如下,返回一条数据


四、SQL IN 操作符


Student表,包含字段snum、sname、birthday、sex

Score表,包含字段snum、classnum、grade

允许在 WHERE 子句中规定多个条件值。


一)语法


1、符合多个条件

SELECT 字段(s)  FROM 表名 WHERE 字段 IN (值1,值2,...);


2、不符合多个条件

SELECT 字段(s) FROM 表名 WHERE 字段 NOT IN (值1,值2,...);


二)举例


1、查询Score表中 grade中包含80,85的数据


SELECT * FROM Score WHERE grade IN (80,85);

执行结果如下:


2、查询Score表中grade中不包含80,85的数据


SELECT * FROM Score WHERE grade NOT IN (80,85);

执行结果如下:


五、SQL BETWEEN 操作符


Student表,包含字段snum、sname、birthday、sex

Score表,包含字段snum、classnum、grade

查询条件筛选:选取介于两个值之间的数据范围内的值。


一)语法


1、在某个取值范围内

SELECT 字段(s) FROM 表名 WHERE 字段 BETWEEN 值1 AND 值2;


2、不在某个取值范围内

SELECT 字段(s) FROM 表名 WHERE 字段 NOT  BETWEEN 值1 AND 值2;


二)举例


1、查询Score表grade不在(80,85)的数据


SELECT * FROM Score WHERE grade BETWEEN 80 AND 85;

 执行结果如下,取值包含80和85


2、查询Score表grade不在(80,85)的数据

SELECT * FROM Score WHERE grade NOT BETWEEN 80 AND 85;

执行结果如下,取值不包含80和85


六、SQL 别名


Student表,包含字段snum、sname、birthday、sex

为表名称或列名称指定别名,使用别名的几个场景:


  • 在查询中涉及超过一个表
  • 在查询中使用了函数
  • 列名称很长或者可读性差
  • 需要把两个列或者多个列结合在一起


一)语法


1、列别名

SELECT 列名 AS 别名 FROM 表名;


2、表别名

SELECT 列名(s) FROM 表名 AS 表别名;


二)举例


1、列sname的 SQL别名


SELECT sname AS name FROM Student;

执行结果如下:


2、表的 SQL 别名语法


SELECT sname FROM Student AS Student1;


以上就是今天的分享,谢谢你的阅读呀 ~~

相关文章
|
3月前
|
监控 Java 应用服务中间件
达梦数据库DEM监控部署教程分享
达梦数据库DEM监控部署教程分享
128 2
|
1月前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
42 0
【入门级教程】MySQL:从零开始的数据库之旅
|
1月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
2月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
2月前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
4月前
|
小程序 数据库
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
153 0
|
1月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
44 0
|
1月前
|
存储 NoSQL API
.NET NoSQL 嵌入式数据库 LiteDB 使用教程
.NET NoSQL 嵌入式数据库 LiteDB 使用教程~
|
3月前
|
SQL 存储 小程序
【教程】navicat配合HTTP通道远程连接SQLite数据库
本文介绍了如何通过 Navicat Premium 工具配合 n_tunnel_sqlite.php 和 HTTP 通道远程连接服务器上的 SQLite 数据库。SQLite 是一种自给自足的、无服务器的 SQL 数据库引擎,由于其端口未对外开放,直接使用 Navicat 进行远程连接不可行。文章详细记录了使用 HTTP 通道实现远程连接的过程,包括定位本地 `ntunnel_sqlite.php` 文件,将其上传至服务器,并通过 Navicat 配置 HTTP 通道连接 SQLite 数据库的具体步骤。
170 0
【教程】navicat配合HTTP通道远程连接SQLite数据库
|
3月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的前后端分离的选课管理系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js技术栈的高校选课管理系统的设计与实现。该系统采用前后端分离架构,旨在提高选课效率、优化资源分配及提升用户体验。技术栈包括:后端Spring Boot 2.0、前端Vue 2.0、数据库MySQL 8.0、开发环境JDK 1.8和Maven 3.6等。系统功能覆盖登录、学生信息管理、选课管理、成绩查询等多个方面,并针对学生、教师和管理员提供了不同的操作界面。系统采用了响应式设计,支持多设备访问,并通过Element UI增强了界面的友好性和交互性。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的前后端分离的选课管理系统(含教程&源码&数据库数据)
下一篇
无影云桌面