sql server 根据查询的创建表数据 sql查询能够创建教程_字符串

哈罗,各位小伙伴大家好,又见面了,我还是那个不吃饱不干活的小尘,欢迎来到本期的SQL语言之DQL部分,让我们一起进入知识的海洋吧~ 

上节已经介绍了DQL语言相关内容,还不知道的小伙伴戳这里:

第五章、SQL 语言学习(基础篇)_m0_55746113的博客我们现在就要开始进阶学习喽,打起精神,咱们开始吧~

一、基础查询

接着上一节的内容,咱们继续

现在已经默认大家已经装好SQLyog和导入所需要的脚本了(不知道的戳上面链接)

(1)新建查询

点击加号 ---> “新查询编辑器” 

sql server 根据查询的创建表数据 sql查询能够创建教程_字段名_02

(2)语法

select 

select   + 查询列表 (查询的东西)     --->   要查询的东西可以有多个

后面再加上 from +表名;

select   + 查询列表

from +表名; 

可以换行,也可以不换行。换行的比较规范。

类似于java里面的   “  System.out.println( 打印的东西 );   ”

只不过select后面写的是“要显示的东西”

(3)特点

1、查询列表可以是:表中的字段、常量值、表达式、函数……

2、查询的结果是一个虚拟的表格

(4)查询表中的单个字段

现在我们想查询员工表(employees)里面的姓名(last_name),即:

sql server 根据查询的创建表数据 sql查询能够创建教程_字符串_03

如果我们这样写:

select +要查询的字段名;

这样写是不行的哦 ,你看会报错的,显示不认识它 

sql server 根据查询的创建表数据 sql查询能够创建教程_字符串_04

上面我们讲过,必须要用from加上它对应的!!!(也就是要查询的字段是哪个表中的)

即:

SELECT last_name FROM employees;   

sql server 根据查询的创建表数据 sql查询能够创建教程_字符串_05

(要查询的是last_name ,它是employees表中的)

现在我们再来看一下结果,就是正确的了:

在下方我们就可以看见所有last_name的值。

sql server 根据查询的创建表数据 sql查询能够创建教程_数据库_06

(5)查询表中的多个字段

 现在我们想查询员工表(employees)里面的姓名(last_name)和薪水(salary)和邮箱(email),即:

sql server 根据查询的创建表数据 sql查询能够创建教程_sql_07

要用逗号将其隔开:

 SELECT last_name,salary,email FROM employees;

查询顺序可以和原始表不一致。

在下方我们可以看见输出的结果: 

sql server 根据查询的创建表数据 sql查询能够创建教程_数据库_08

(6)查询表中所有字段

按照上面的说法,我们要把都写出来,一个一个写上去:

SELECT employ_id,first_name,last_name……

哎呀,这好麻烦啊,一个一个写上去,要是敲错了还咋整啊

不用担心,要是怕敲错,我们可以用双击字段的方式:

sql server 根据查询的创建表数据 sql查询能够创建教程_字段名_09

 有的小伙伴又要说了,这玩意要点到什么时候嘛,讲了这么一大堆,还不是没整出一个好用的。别急,且听我慢慢道来,谜底揭晓时刻:

这个神奇的方法就是一个关键的字符“ *

不妨试试吧:

SELECT * FROM employees;

*此时代表的是所有字段

sql server 根据查询的创建表数据 sql查询能够创建教程_字符串_10

不要高兴太早,这种方法虽然简单快捷,但是它还有缺点:

若用*的话,代表的就是呈现出来的顺序会和表中原始数据一模一样。不够灵活。

若我想先后显示的内容和原始表中的不一样,那不就很麻烦了吗。

所以具体还是要根据自己的需求来选定到底要用什么方式。

注:

有没有小伙伴注意到,我们这个图形化界面并没有像之前说的那样,会给我们自动调整成规范化的格式(关键字单独一行,字段单独一行)啊。

我们可以按一下F12,就会出现神奇的一幕:

sql server 根据查询的创建表数据 sql查询能够创建教程_字段名_11

(7)补充 说明

别走开,

关于查询再做几点补充说明:

1、在做查询时,需要先打开指定的库。刚才我们并没有打开,原因是我们上面已经显示了myemployees这个库名了,代表了当前已经打开了。不知道刚才小伙伴们有没有注意呢

sql server 根据查询的创建表数据 sql查询能够创建教程_数据库_12

以后我们在做查询或者一些操作之前,建议大家在最上面先打开(启用)所用的库: 

USE myemployees;

sql server 根据查询的创建表数据 sql查询能够创建教程_数据库_13

当然这样我们是看不出什么变化的,那就不妨来USE一下test库看看:

 

sql server 根据查询的创建表数据 sql查询能够创建教程_sql_14

 眼尖的小伙伴有没有看出什么端倪?

对,上方的那个啥玩意就变了,变成了“test”,看完的小伙伴直呼好神奇!

sql server 根据查询的创建表数据 sql查询能够创建教程_字段_15

当然,变化之后,下面的操作,都在这个库中进行了

还有一种方法,也可以让上面变化到想要的库(也就是进入想要的库):双击库名

sql server 根据查询的创建表数据 sql查询能够创建教程_字段_16

但我们还是提倡用字符命令比较好,执行完之后,就代表在当前的库了。 

2、刚才我们输入多行的时候,用了一个偷懒的方法,就是双击字段的名字,然后,我们会发现,显示在窗口的是带了着重号(反引号)的字段名,即:

sql server 根据查询的创建表数据 sql查询能够创建教程_sql_17

这个可不是单引号,是着重号(反引号)!!!

就是键盘上数字1左边的那个

当然,这是可以去掉的。在这里只是说明一下它是一个字段名。

那这个符号“ · ”什么时候会用到呢?

举个例子:

假如某一个表里面,有一个字段,叫做name。

字段名就叫name,这是有可能的。

当我们敲出来的时候,会发现name会被当做关键字处理:

sql server 根据查询的创建表数据 sql查询能够创建教程_sql_18

 那我为了告诉看这句话的人,这是字段,不是关键字!

那么我们就可以用着重号标识一下:

sql server 根据查询的创建表数据 sql查询能够创建教程_数据库_19

也就是说,这里它是为了区分是一个字段还是一个关键字的 

3、要执行谁,或者要格式化,选中就可以啦

若我要执行下面这个命令,选中就好啦!

当然一定要是合法的字符命令

sql server 根据查询的创建表数据 sql查询能够创建教程_sql_20

二、查询常量值

直接用SELECT +常量

这时候就不需要再加   FROM +表   了,因为他不来自哪一个表,只是一个普通的值而已。

(1)整型常量值

比如:

SELECT 100;

接下来我们再去执行:

sql server 根据查询的创建表数据 sql查询能够创建教程_字段名_21

可以看到,可以执行,也没有报错呢。

只不过字段名显示的是它本身。

(2)字符型常量值

在MySQL中,是不区分字符和字符串的,也就是这里面没有字符串的概念。

都用单引号引用。

比如:

SELECT 'john';

接下来我们再去执行:

sql server 根据查询的创建表数据 sql查询能够创建教程_数据库_22

三、查询表达式

加减乘除取余都好使!

比如:

SELECT 100*98;

接下来我们再去执行:

sql server 根据查询的创建表数据 sql查询能够创建教程_sql_23

 再比如:

SELECT 100%98;

接下来我们再去执行:

sql server 根据查询的创建表数据 sql查询能够创建教程_字段名_24

四、查询函数

比如:

SELECT VERSION();

VERSION就是一个函数,我们这是相当于查询它的返回值!

即:调用该方法(函数),得到它的返回值,并显示。

接下来我们再去执行:

sql server 根据查询的创建表数据 sql查询能够创建教程_字段名_25

好啦,这次的分享就到这儿了,欢迎各位小伙伴批评指正,咱们下次不见不散~

sql server 根据查询的创建表数据 sql查询能够创建教程_数据库_26