目录
准备工作
首先导入一个数据库文件。
数据库的内容如下:
基础查询
语法:
select 查询列表 from 表明;
类似于System.out.println(打印东西);
特点:
1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格
所有查询开始之前必须先打开库:
use 库名;
1.查询表中的单个字段
SELECT 字段 FROM 表名;
返回结果:
2.查询表中的多个字段
SELECT 字段,字段,字段 FROM 表名;
3.查询表中的所有字段
选择时字段过多,此时可以采用在右侧双击想要查询的字段,那么双击后该关键词就会出现在左侧,依旧像查询多个字段那个使用查询。
编辑完成后,全部选中按F12可以进行格式优化。
另一种方式,可以查询表中所有字段,但是表的顺序与原始表会保持一致:
SELECT * FROM 表名;
注意:如果遇到字段名与关键字一致的情况,例如表中有一列为name,但是name也是SQL中的关键字,此时使用着重号区分,就是键盘Tab键上方的那个键:‘name‘。
4.查询常量
SELECT 常量;
5.查询函数
SELECT 函数名();
6.起别名
为什么要起别名:1.便于理解 2.如果要查询的字段有重名的情况,使用别名可以区分开来。
方式1:
SELECT 字段 AS 别名 FROM 表名;
方式2:
SELECT last_name 别名 FROM 表名;
作用2举例:查询salary,显示结果为output
SELECT salary AS output FROM employees;
7.去重
例子:查询员工表中涉及到的所有的部门编号。
如果使用SELECT department_id FROM employees;进行查询,结果为:
可以看出有很多重复的,如果要去重的话,应该在字段名前加关键字:DISTINCT
SELECT DISTINCT 字段名 FROM 表名;
8.+号的作用
java中的+号:
1.运算符,两个操作数都为数值
2.连接符,只有一处操作数为字符串
MySQL中的+号:
仅仅有一个功能:运算符
select 100+90; 两个操作数都是数值型,则坐加法运算
select ‘100’+90;其中一方为字符型,试图将字符型数值转换成数值型,如果转换成功,则继续做加法运算
select ‘john’+90;如果转换失败,则把字符型数据按照0来处理,继续做加法运算
select null+90;只要一方为null,则加法的结果为null
9.CONCAT函数
既然在SQL中的+号作用和Java中不一样那如红日实现字符拼接呢?
实际上就是用的CONCAT函数:
看外国人很多名字都是姓和名之间加一个点,那么怎么实现呢?
SELECT
CONCAT(last_name,'.',first_name) 姓名
FROM
employees