MySQL基础查询

基础查询

 

语法:select 被查询的东西 from 表名;

 

特点:

1)被查询的东西可以是:表中的字段、常量、常量值、表达式、函数

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

 

如何导入数据:

1)选中一个数据库,右击‘导入‘-‘执行SQL脚本‘;

2)打开以后点击‘浏览‘ - ‘执行‘ - ‘完成‘;

3)完成以后刷新左边栏,查看数据内容。

 

 

1. 如何查询表中的单个字段

 

实例1:

请查询 employees 表中的last_name

SELECT last_name;

(会报错,因为系统不认识你是谁)

 

SELECT

  last_name

FROM

  employees ;

(执行成功)

 

2. 如何查询表中的多个字段

实例1:

请查询 employees 表中的job_id和salary

SELECT

  job_id,

  salary

FROM

  employees ;

(执行成功)

 

3. 查询表中的所有字段

 

1:

请查询 employees 表中所有字段

SELECT * FROM employees;

这里的 * 指全部

 

弊端:使用*查询,被查询的结果顺序不可以调换,相对而言不够灵活

 

SELECT

  salary,

  last_name,

  first_name,

  job_id,

  manager_id,

  hiredate

FROM

  employees ;

  

修改/调整格式:选中需要的数据,F12/FN+F12/CTRL+12/shift+fn+f12

弊端:书写太麻烦,我不认识英文,我懒得打英文

 

1:

查询employees表中所有字段

SELECT

  `salary`,

  `phone_number`,

  `employee_id`,

  `first_name`,

  `last_name`,

  `email`,

  `job_id`,

  `commission_pct`,

  `manager_id`,

  `department_id`,

  `hiredate`

FROM

  `employees` ;

 

2:

请你们把jobs的表内容按照3-4-1-2的顺序查看

SELECT

  min_salary,

  `max_salary`,

  job_id,

  job_title

FROM

  jobs ;

 

按照顺序查看表中的全部内容

SELECT * FROM jobs;

 

 

``:着重号,其实这个是可以去掉的;着重号代表的是:这是一个字段名。

 

什么时候会用到着重号呢?

1:

SELECT NAME

(这个name不是字段名,这是一个关键字,这个字段名就叫name)

 

2:

查询select表中的select

SELECT SELECT FROM SELECT;

 

-- 查询  列名(SELECT)  SELECT

SELECT `select` FROM SELECT;

 

  SELECT INT FROM INT;

-- 查询int表中的int字段

 

SELECT NAME FROM 表名;

(这里没有用``,它会认为这个name他是一个关键字本身,阅读性比较差)

 

 

4. 起别名  AS   空格

 

-- 方便去理解

 

SELECT nanjing AS 南京;

1)字段名一上来是英文,有些英文不好的不方便理解

2)字段名是运算过程,我就不太理解它的意思,那么我们可以给他一个别名,方便理解

 

 

5. 查询常量

 

数值:

select 100;

(它没有来自于某个表,它显示的字段名就是默认为它本身)

 

字符:

SELECT baby;  (错误,没有一个叫做baby的字段)

SELECT ‘baby‘; (没有报错,baby被引用,变成了一个常量值)

 

SELECT ‘old baby‘;

 

 

6. 查询表达式

SELECT 1+1;  -- 2

SELECT 88*999;   -- 87912

 

1:

查询100除以98的余数

SELECT 100%98;   -- 2

 

-- 给它添加别名

方法①:

SELECT 100%98 AS 结果;

方法②:

SELECT 100%98 结果;

 

2

查询`employees`表中的salary,显示别名结果为out man

SELECT

  salary AS OUT MAN

FROM

  employees ;

(报错了,原因是别名中有特殊符号,空格,‘#‘)

(解决的办法就是给他加上双引号)

SELECT

  salary AS "OUT MAN"

FROM

  employees ;

 

好处:

  1. 便于理解
  2. 如果要查询的字段有重名的情况,可以使用别名来分开

 

7. 查询函数

AVG()  SUM()   VERSION()...

 

1:

用函数查询MySQL的版本

SELECT VERSION();   -- 8.0.13

SELECT AVG();  -- 结果错误,因为没有值

SELECT SUM();  -- 错误,没有值,不能求和

 

2:

sum函数求35*11-14+36的和

SELECT SUM(35*11-14+36);

 

 

8.  + 号的作用

1:

查询员工名和姓连接成一个字段,并显示为姓名

SELECT

  first_name + last_name

  AS 姓名

FROM

  `employees` ;

(没有报错,但是结果不是想象中的结果)

(原因在于+号,这个+号和我们想象中的+号不一样)

 

注意:MySQL中的+号,仅仅只有一个功能,就是运算符

 

情况

SELECT 100+90;  

左右两边都是数值型,可以执行,两个操作数都为数值,做加法运算

 

情况

SELECT ‘123‘+99;

如果其中一方为字符型,它会试图将字符型数值转换成数值型

如果转换成功,则继续做加法运算

 

情况

SELECT ‘bb‘+99;

转换失败,则将字符型数值转换成0,再做加法运算

 

2:

查询员工名和姓连接成一个字段,并显示为姓名

SELECT

  first_name + last_name

  AS 姓名

FROM

  `employees` ;

 

 

9. concat函数

 

将两个字段进行’拼接‘,用到了一个函数:concat函数

语法:concat(str1,str2,...)

 

使用concat实现连接

继续上面的练习:

SELECT

  CONCAT(first_name, last_name)

  AS 姓名

FROM

  employees ;

MySQL基础查询

上一篇:SQL Server DB迁移工作List


下一篇:mysql5.7查看表结构命令show full columns from t_user