MySQL基础查询

694 阅读2分钟

MySql:基础查询

语法:
SELECT 要查询的东西
【FROM 表名】;

类似于Java中 :System.out.println(要打印的东西);
特点:
①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在
② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数

创建一张employees表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for employees
-- ----------------------------
DROP TABLE IF EXISTS `employees`;
CREATE TABLE `employees`  (
  `employee_id` int(6) NOT NULL AUTO_INCREMENT COMMENT '员工编号',
  `first_name` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名',
  `last_name` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓',
  `email` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `phone_number` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话号码',
  `job_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工种编号',
  `salary` double(10, 2) NULL DEFAULT NULL COMMENT '月薪',
  `commission_pet` double(4, 2) NULL DEFAULT NULL COMMENT '奖金率',
  `manager_id` int(6) NULL DEFAULT NULL COMMENT '管理者编号',
  `department_id` int(4) NULL DEFAULT NULL COMMENT '部门编号',
  `hiredate` datetime(0) NULL DEFAULT NULL COMMENT '入职日期',
  PRIMARY KEY (`employee_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

1查询表中单个字段(姓)

select last_name FROM employees;

2查询表中的多个字段(姓,薪水,邮箱)

SELECT last_name,salary,email FROM employees;

3.查询表中所有字段

SELECT * FROM employees;

4.查询常量值

SELECT '琛'
SELECT '黄'

5.查询表达式

SELECT 100*98

6.查询函数

SELECT VERSION()

7.起别名

/*a.便于理解b.如果要查询的字段有重名的情况,使用别名可以区分开来*/

方式一:使用AS

SELECT 98*189 AS '运算结果';
SELECT first_name AS '姓',last_name AS '名' FROM employees;

方式二:使用空格

select first_name '姓',last_name '名' FROM employees;

8.去重

案例:查询员工表中涉及到的所有的部门编号

SELECT DISTINCT department_id FROM employees;

9.+的作用

/*java中的+号:a.两个操作数都是数值型b.连接符:只要有一个操作数是字符串

mysql中的+号只有一个功能就是运算符SELECT 10 + 20;两个操作数都为数值型,则做加法运算

SELECT'123'+90:其中一方为字符型,试图将字符型数值转换为数值,并对两个操作数进行运算

SELECT 'jack' + 100:如果转换失败,则将字符数值转换为0

SELECT null + 0:只要其中一方结果为null,则结果肯定为null

*/

10CONCAT函数

SELECT CONCAT('huang','chen','name') AS huangchen;

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

SELECT CONCAT(first_name,last_name) AS '姓名' FROM employees;