数据库回顾(二) 数据库语言概述

146 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情

大家好! 我是慕歌,一只想教你学习 后端技术的野生coder! 欢迎来到慕歌的数据库系列教程,希望通过这个教程带大家深入学习数据库技术,该教程所有知识点均来源于本人的日常学习与开发中,如有疑问请与我联系!

前言

在上一节的学习中,慕歌向大家讲述了关于数据库语言的知识,涉及数据语言的三种分类:DDL,DML,DCL语言。这三种语言在数据库的使用过程中有不同的作用,DDL负责数据库表的建立,DML负责数据库表中数据的数据操作,DCL负责数据库周边权限的操作,掌握这三种语言数据库知识,相信你在数据库方面定会有所造诣。最后还为大家罗列了数据库设计和使用阶段的一些注意点,如大小写规范,命名规范以及书写习惯等。那么在这一节的学习中,慕歌将从SQL语句中最常用的查询语句,带大家进入数据库的世界。

数据库查询

查询概述:

为何我们选择从数据库查询语句开始入手?在数据库的操作中,查询无疑是操作频次最高的语句,大多数情况下,我们会有大量的语句从数据库中获取数据,而只有少部分的操作会对数据库中数据进行改变,如进行更新,删除等操作。

基础查询语句

查询关键字: SELECT

#基本语法:

#查询常数,可以进行一些运算
SELECT N; #没有任何子句
#N 表示一个常数,可以是计算式

#查询表中数据 
SELECT * FROM table_name;
# table_name 可以变成任何表名
# “ * ” 查询表中所有字段

#查询表中部分字段
SELECT col_name1...col_name3 FROM table_name;
#col_name1表示表中的字段

这里需要提及昨天的数据库规范中的两点:

  • SQL 语句本身不区分大小写:SELECT -select
  • 使用中遵循:关键字大写,表名,关键字小写的规范

功能查询语句:

在某些时候需要对表进行处理达到我们想要的效果,MYSQL 为我们提供一些关键字,实现特殊功能

#为某一列取别名,方便查看
SELECT col_name AS nick_name FROM table_name;
# col_name 列改名为 nick_name

#去除查询结果中的重复行数据
SELECT DISTINCT col_name FROM table_name;
#distinct 表示去重,对查询结果指定列去重后展示

注意:distinct 必须放置于所有查询字段之前,否则失效,distinct 是对后面所有列名的集合进行去重,不是单一个列名

#对于表名含关键字的处理
SELECT * FROM 'table_name';
#table_name 为关键字时需要使用'' 进行处理,否则无法读取到该表

#空值运算,一类特殊情况,当运算中使用到空值,将导致与运算结果错误
SELECT null+col_name FROM table_name;
#这里的运算可以是任何运算,发生这种运算时,结果都为 null

注意:MYSQL 语言中的null 不同于Java ,真实占用空间,且生成运算结果

#在查询中同时引入常数列
SELECT 'N' AS col_name1,col_name2 FROM table_name;
# N 则代表常数,把这个常数作为列的数据,与原表数据组合

#带过滤条件的数据查询
SELECT col_name1,col_name2 FROM table_name where (条件);
# where 语句后加入过滤的条件,查询指定数据

示例:
# 在员工表中查询部门编号为 90 的员工信息
SELECT employee_id, last_name, job_id, department_id
FROM   employees
WHERE  department_id = 90 ;

结语

这一章的分享到这里就结束了,下一节将带来带运算,分页的数据库查询的分享学习!
如果您觉得本文不错,欢迎点赞支持,您的关注是我坚持的动力!