数据库基础教程-八种常用语法

简介: 数据库基础教程-八种常用语法

大家好,我是阿娟,一位从业 7 年的软件测试程序媛

上一节介绍了常见的数据库和数据库管理工具,今天给大家分享数据库的八种基础语法


一、SELECT 语句


用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。


一)语法


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

SELECT语句可以读取一条或多条数据记录。

SELECT * FROM 表名称; //*来代替其他字段,会返回所有的字段数据

SELECT 字段名 FROM 表名称;//查询特定字段的数据

SELECT语句还可以和WHERE(参见第三节WHERE 子句)、LIMIT结合使用。


二)举例


 SELECT  * From Student;

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

SELECT  sname From Student;

执行结果如下,查询出当前Student表中所有sname字段的数据

如果想要查询Student表多个字段的数据,可以 SELECT sname,sex FROM Student;


二、SELECT DISTINCT 语句


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

如果一个表格中有重复的字段,我们只想筛选出所有的不重复字段,使用DISTINCT 关键词即可,返回唯一不同的值(如果不指定字段名称,则会默认选择所有字段。)


一)语法


SELECT DISTINCT  字段名1  FROM 表名称;//如果字段名1有重复的值,只会返回一个值


二)举例


sname出现重复的值,有两个王五

SELECT DISTINCT sname FROM Student;

执行结果如下,只返回一个王五的值



三、WHERE 子句


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

WHERE 子句用于提取那些满足指定条件的记录。

可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。

也可以在 WHERE 子句中指定任何条件(结合各种运算符)。

或是AND 或者 OR 指定一个或多个条件(参见第四节AND & OR 运算符)


一)语法


SELECT 字段名 FROM 表名称 WHERE  字段名  操作条件;//单表查询


二)举例


SELECT * FROM Student WHERE sname='小明';

执行结果如下,查询出Student当前表 sname='小明'的数据



和运算符结合,举例 SELECT * FROM Student WHERE snum > 5;

执行结果如下,查询出Student当前表snum > 5的数据



四、AND & OR 运算符


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

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

AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

AND 运算符:如果第一个条件和第二个条件都成立下查询出对应的数据。

OR 运算符:如果第一个条件和第二个条件中只要有一个成立既可查询出对应的数据


一)举例


SELECT * FROM Score WHERE grade='80' AND snum = '2';

执行结果如下,查询Score表中snum = 2并且grade = 80 的学生



SELECT * FROM Student WHERE sname='小李' OR sex = '女';

执行结果如下,查询Score表中 sname='小李'  或是 sex = '女' 的学生



五、 ORDER BY 关键字


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

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

日常查询数据的时候经常需要用到排序,例如订单按照按照创建日期升序或是降序查询、学生成绩按照从高到低或是从低到高进行排序等等,这个时候就需要用到ORDER BY 关键字,它用于对结果集按照一个列或者多个列进行排序。


一)语法


SELECT  字段名1 ,字段名2  FROM 表名称 ORDER BY  字段名1 ,字段名2  ASC|DESC;(ASC是升序,DESC是降序)


二)举例


SELECT sname FROM Student ORDER BY snum ASC;

执行结果如下,把Student表中sname查询出的数据按照snum升序排列



SELECT snum FROM Score ORDER BY grade DESC;

执行结果如下,把Score表中查询出的数据按照成绩降序排列



六、INSERT INTO 语句


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

创建表之后我们需要往表插入数据,需要用到INSERT INTO 语句。


一)语法


第一种形式无需指定要插入数据的列名,只需提供被插入的值即可

INSERT INTO 表名称 VALUES (value1,value2,...);


第二种形式需要指定列名及被插入的值

INSERT INTO 表名称 (列名1,列名2,...)VALUES (value1,value2,...);


二)举例


1、INSERT INTO Student VALUES (9,'小娟','1993-12-21','女');

执行结果如下,向Student表格中插入一条数据



SELECT * FROM Student WHERE sname = ''小小;

查询结果如下,插入成功



2、INSERT INTO Student (snum,sname,sex) VALUES(16,'小四','男');

执行结果如下,向Student表格中插入一条数据(没有赋值的字段,默认为NULL)



SELECT * FROM Student WHERE sname = '小四';

查询结果如下,插入成功


七、UPDATE 语句


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

如果表格中字段数据有误需要进行更新,需要用到UPDATE 语句,它用于更新表中的记录。


一)语法


UPDATE 表名 SET 字段名1=值1,字段名2=值2 ...WHERE 某字段=某值;


二)举例


UPDATE Student SET birthday ='1995-12-21' WHERE sname = '阿娟';

阿娟的生日有误,更新为1995-12-21



SELECT * FROM Student WHERE sname = '阿娟';更新成功,查询结果如下



八、DELETE 语句


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

DELETE 语句用于删除表中的行(删除一行或是多行)。


一)语法


DELETE FROM 表名 WHERE 某字段=某值;

DELETE FROM 表名 ;(删除表中所有字段)


二)举例


DELETE FROM Student WHERE sname = '孙娟';

执行结果如下,删除 sname = '孙娟'的数据



SELECT * FROM Student WHERE sname = '孙娟',删除成功,Student已经查询不到 sname = '孙娟'的记录



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


相关文章
|
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实现的房屋租租赁系统(含教程&源码&数据库数据)
|
28天前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
1月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
44 0
|
1月前
|
存储 NoSQL API
.NET NoSQL 嵌入式数据库 LiteDB 使用教程
.NET NoSQL 嵌入式数据库 LiteDB 使用教程~
|
1月前
|
自然语言处理 关系型数据库 MySQL
MySQL数据库使用Match语法需要安装什么插件吗?
【10月更文挑战第1天】MySQL数据库使用Match语法需要安装什么插件吗?
64 0
|
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数据库
下一篇
无影云桌面