文章目录

  • 1.简介
  • 2.简单查询
  • 2.1 查询表格中的多个字段
  • 2.2 显示表格a中的数据(字段名为name,id)
  • 2.3.1 显示表格tablea中的数据(只输出年薪,但是数据里只有月薪monthSalary)
  • 2.3.2 显示表格tablea中的数据(输出月薪salary+奖金bonus 但一些人没有奖金)
  • 3.其他语句
  • 3.1 查看表结构
  • 3.2 查看a建表时的建表语句
  • 4.排序
  • 4.1 在表a中寻找name字段 要求按照工资降序/升序输出
  • 4.2 在表a中寻找name字段并输出,要求按照工资降序输出,且工资相同时按照name的顺序排
  • 4.3 优先级:select from where order by


1.简介

MySQL是一种在数据库管理系统中执行的高级计算机语言。

通常,我们输入并执行的语句包括:
命令 如show databases; 是下达给MySQL这一数据库管理系统的命令 而非SQL语句
DQL 在表中查找的语句
DML 进行调整的语句
DDL 对表格结构进行改动的语句
TCL 事务控制语句
DCL 数据控制语句,比如账户授权

2.简单查询

2.1 查询表格中的多个字段
# 显示所有数据 不建议用* 其效率较低
select * from a;
2.2 显示表格a中的数据(字段名为name,id)
# 逗号隔开
select name,id from a;
2.3.1 显示表格tablea中的数据(只输出年薪,但是数据里只有月薪monthSalary)
select 'monthsalary' as 'yearly salary' from tablea;
2.3.2 显示表格tablea中的数据(输出月薪salary+奖金bonus 但一些人没有奖金)
#单行处理函数 不会自动忽略null
#null+30=null 出错
select salary+bonus from tablea; 

#正确语句
select salary+ifnull(bonus,0) from tablea;

3.其他语句

3.1 查看表结构
#会输出结构,显示各个字段的类型,数据类型
desc <table_name>;
3.2 查看a建表时的建表语句
# 输出一些sql语句这是一条命令
show create table a;

4.排序

4.1 在表a中寻找name字段 要求按照工资降序/升序输出
#默认升序 10  300  4000...
select name from a order by sal;
#降序 by xxx desc
select name from a order by desc;
4.2 在表a中寻找name字段并输出,要求按照工资降序输出,且工资相同时按照name的顺序排
#排序规则之间用逗号隔开,在前面的优先级较高
select name from a order by sal desc , name asc;
4.3 优先级:select from where order by

from table 首先将表取出
where… 根据条件筛选数据
select … 然后把这些筛选数据取出
order by… 最后排序