写给前端的数据库入门 | 查询数据

146 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情

上文中我们一步步使用docker安装了数据库并且创建了库和表,插入数据,讲解了INSERT语法的使用方法,接下来我们来学习一下如何在表中搜索数据,以及搜索特定的行和列

语法

首先来了解一下搜索数据的语法,在sql中使用select语法来来搜索数据,具体语法如下;
column_name 表示列名
table_name 表示表名

SELECT column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

在上文中我们建立了数据库jym,表Users,并且插入对应的数据;接下来要把插入的数据检索出来

关于docker的命令就不再重复描述了,输入下方命令,就可以搜索出Users表中的name列

查询所有数据

我们可以用*(通配符)表示搜索所有的列

select * from Users;

image.png

查询单列

select name from Users;

效果如下图

image.png

查询多列

如果要检索多个列的话,就按,(逗号)区分开不同的列名

select name, email from Users;

image.png

去重

在SELECT 后面添加DISTINCT可以去掉重复的数据

SELECT DISTINCT name from Users;

image.png

选择特定行

使用where语句可以限定检索条件,比如下方这条sql,就能检索出表中name为'jym'的数据

SELECT * FROM Users WHERE name = 'jym';

image.png

使用AND/OR可以拼接多个约束

SELECT * FROM Users WHERE name = 'jym' AND email = 'xx';

image.png

SELECT * FROM Users WHERE name = 'jym' OR email = 'jym';

image.png

SELECT * FROM Users WHERE (name = 'jym' OR email = 'jym') AND (test = 'xxx@jym.com');

当有多个AND/OR的时候请把语句用()包裹起来,这样可读性才会更加高,代码也会更明确

对了,sql语法不限制大小写,所以上面的sql语句大小写都是一样可以执行的。但是建议大家写SQL语法的时候都用大写,这样一眼就可以区分开来哪些是关键字,哪些是变量了


其他文章
什么?在React中也可以使用vue响应式状态管理
clean-js | 自从写了这个辅助库,我已经很久没有加过班了…
clean-js | 在hooks的时代下,使用class管理你的状态
clean-js | 手把手教你写一个羊了个羊麻将版
写给前端的数据库入门 | 序
写给前端的数据库入门 | docker & 数据库
有没有一种可能,你从来都没有真正理解async
三分钟实现前端写JAVA这件事——装环境
三分钟实现前端写JAVA这件事——VS code