# Mysql数据库基础系列 一、基础语法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Mysql数据库基础系列 一、基础语法

Mysql数据库基础系列

软件下载地址
提取码:7v7u
数据下载地址
提取码:e6p9
mysql数据库基础第一章:(一)数据库基本概念
mysql数据库基础第一章:(二)mysql环境搭建
mysql数据库基础第二章:(一)基础查询
mysql数据库基础第二章:(二)条件查询
mysql数据库基础第二章:(三)排序查询
mysql数据库基础第二章:(四)常见函数
mysql数据库基础第二章:(五)分组查询
mysql数据库基础第二章:(六)连接查询
mysql数据库基础第二章:(七)子查询
mysql数据库基础第二章:(八)子查询经典案例
mysql数据库基础第二章:(九)分页查询
mysql数据库基础第二章:(十)连接查询
mysql数据库基础第三章:DML语言
mysql数据库基础第四章:DDL(数据定义语言):库表的管理、数据类型与约束条件
mysql数据库基础第五章:(一)事务
mysql数据库基础第五章:(二)视图
mysql数据库基础第六章:变量、存储过程与函数
mysql数据库基础第七章:流程控制结构
mysql数据库基础第八章:窗口函数和公用表达式(CTE)


@TOC


一、基础语法

select 查询列表
from 表名
# 打印内容,类似于python中的print
/*
特点:
    1.可以查询表的字段、常量、表达式、函数
    2.查询的结果是一个虚拟的表格
*/

共包含四张表:

  • 1.employees表格结构如下:
Field           Type          Null    Key     Default  Extra             备注
--------------  ------------  ------  ------  -------  ----------------  ------
employee_id     int(6)        NO      PRI     (NULL)   auto_increment    员工id
first_name      varchar(20)   YES             (NULL)                     姓
last_name       varchar(25)   YES             (NULL)                     名
email           varchar(25)   YES             (NULL)                     邮箱
phone_number    varchar(20)   YES             (NULL)                     电话号码       
job_id          varchar(10)   YES     MUL     (NULL)                     工种
salary          double(10,2)  YES             (NULL)                     薪水
commission_pct  double(4,2)   YES             (NULL)                     奖金率
manager_id      int(6)        YES             (NULL)                     领导id
department_id   int(4)        YES     MUL     (NULL)                     部门id
hiredate        datetime      YES             (NULL)                     入职日期
  • 2.departments (部门表)结构如下
Field            Type        Null    Key     Default  Extra            备注
---------------  ----------  ------  ------  -------  ---------------- -----------
department_id    int(4)      NO      PRI     (NULL)   auto_increment   部门编号
department_name  varchar(3)  YES             (NULL)                    部门名字                 
manager_id       int(6)      YES             (NULL)                    上级领导编号   
location_id      int(4)      YES     MUL     (NULL)                    位置编号   
  • 3.job结构如下
Field       Type         Null    Key     Default  Extra     备注
----------  -----------  ------  ------  -------  --------  ---------
job_id      varchar(10)  NO      PRI     (NULL)             工种 
job_title   varchar(35)  YES             (NULL)             工种名称
min_salary  int(6)       YES             (NULL)             最低薪水
max_salary  int(6)       YES             (NULL)             最高薪水
  • 4.location结构如下
Field           Type         Null    Key     Default  Extra              备注          
--------------  -----------  ------  ------  -------  ----------------   -------
location_id     int(11)      NO      PRI     (NULL)   auto_increment     位置编号
street_address  varchar(40)  YES             (NULL)                        街道地址
postal_code     varchar(12)  YES             (NULL)                      邮编
city            varchar(30)  YES             (NULL)                      城市
state_province  varchar(25)  YES             (NULL)                        州、省
country_id      varchar(2)   YES             (NULL)                      国家编号

二、实例

# 1.查询表中的单个字段
use myemployees; # 使用myemployees库
SELECT 
  last_name 
FROM
  employees ;
# 2.查询表中的多个字段
SELECT 
  last_name,
  salary,
  email 
FROM
  employees ;

# 3.查询表中所有字段
# 方法一:
SELECT * FROM employees; #表中的顺序不能改的
# 方法二:
SELECT 
    `employee_id`,
    `first_name`,
    `last_name`,
    `phone_number`,
    `last_name`,
    `job_id`,
    `phone_number`,
    `job_id`,
    `salary`,
    `commission_pct`,
    `manager_id`,
    `department_id`,
    `hiredate` 
FROM
    employees ;
# 当列很多时,方法二不适用。使用着重号``区分字段,例如如果字段名是name,会被误认为关键字



 #4.查询常量值
 SELECT 100;
 SELECT 'john';
 
 #5.查询表达式
 SELECT 100%98;
 
 #6.查询函数
 SELECT VERSION();
 
 #7.起别名
 /*
 使用as 或者 空格
 1.便于理解
 2.如果要查询的字段有重名的情况,使用别名可以区分开来
 */
SELECT 100%98 AS 取余;

#案例:查询salary,显示结果为 out put
SELECT salary AS "out put" FROM employees;


#8.去重 查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM employees;


#9.+号的作用
/*只能用于运算,注意和java的区别
select 100+90;直接做加法
select ‘123’+90; 213 #其中一方为字符串,先转换为数值型,继续做加法
select 'john'+90; 90 #转换失败,则为'john'+90 = 0+90 = 90
select null + 10; 只要有null则结果为null
*/
#10.concat连接函数,将多个字符拼接在一起
select CONCAT(字符1,字符2,字符3) 
#案例:查询员工名和姓连接成一个字段,并显示为 姓名
SELECT 
    CONCAT(last_name,first_name) AS 姓名
FROM
    employees;
#11.ifnull函数,判断字段或表达式是否为null,如果为null,返回指定的值,否则返回字段值
select IFNULL(commission_pct,0) from employees;
# 没有奖金的则返回0

#12.isnull,判断字段或表达式是否为null,如果为null返回1,否则返回0
# 选择奖金为0的返回1
SELECT ISNULL(commission_pct) FROM employees;

三、练习

#1. 显示表 departments 的结构,并查询其中的全部数据
DESC departments;
#2. 显示出表 employees 中的全部 job_id(不能重复)
SELECT DISTINCT job_id FROM employees;
#3. 显示出表 employees 的姓名和奖金列,各个列之间用逗号连接,列头显示成 OUT_PUT.,注意如果数据存在null,则连接之后全部都为null,需要进行处理
 SELECT 
  CONCAT(
    first_name,
    ',',
    last_name,
    ',',
    IFNULL(commission_pct, 0)
  ) AS out_put 
FROM
  employees ;

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 自然语言处理 关系型数据库
MySQL的match匹配多个字符串的语法
【8月更文挑战第27天】MySQL的match匹配多个字符串的语法
235 67
|
6月前
|
存储 关系型数据库 MySQL
MySQL数据库的数据类型、语法和高级查询
MySQL数据库的数据类型、语法和高级查询
79 0
|
2月前
|
关系型数据库 MySQL 数据库
MySQL的语法涵盖了数据定义、数据操作、数据查询和数据控制等多个方面
MySQL的语法涵盖了数据定义、数据操作、数据查询和数据控制等多个方面
64 5
|
2月前
|
关系型数据库 MySQL 数据库
MySQL的语法知识
MySQL的语法知识
19 4
|
2月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
2月前
|
SQL 关系型数据库 MySQL
MySQL语法
MySQL语法
71 3
|
2月前
|
SQL 存储 关系型数据库
mysql SQL必知语法
本文详细介绍了MySQLSQL的基本语法,包括SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY等关键字的使用,以及数据库操作如创建、删除表,数据类型,插入、查询、过滤、排序、连接和汇总数据的方法。通过学习这些内容,读者将能更好地管理和操
25 0
|
3月前
|
关系型数据库 MySQL 数据库
MYSQL索引的分类与创建语法详解
理解并合理应用这些索引类型,能够有效提高MySQL数据库的性能和查询效率。每种索引类型都有其特定的优势,适当地使用它们可以为数据库操作带来显著的性能提升。
130 3
|
2月前
|
SQL 关系型数据库 MySQL
Mysql(2)—SQL语法详解
SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它主要用于数据的查询、插入、更新和删除等操作。SQL最初在1970年代由IBM的研究人员开发,旨在处理关系数据模型。
37 0
|
2月前
|
自然语言处理 关系型数据库 MySQL
MySQL数据库使用Match语法需要安装什么插件吗?
【10月更文挑战第1天】MySQL数据库使用Match语法需要安装什么插件吗?
76 0