超详细的 SQL 查询语法

1、数据准备

创建数据库、数据表

 
-- 创建数据库 

create database test1 charset=utf8;

-- 使用数据库

use test1;

-- 创建students表

create table students(

  id int unsigned primary key auto_increment not null,
  name varchar(20) default '',
  age tinyint unsigned default 0,
  height decimal(5,2),
  gender enum('男','女','中性','保密') default '保密',
  cls_id int unsigned default 0,
  is_delete bit default 0
);

学生表字段说明

字段 说明
id 主键 id
name 学生姓名
age 学生年龄
height 学生身高
gender 学生性别
cls_id 所属班级 id(外键)
is_delete 逻辑删除(,默认为 0,1 表示删除)
 
-- 创建classes表 

create table classes (
  id int unsigned auto_increment primary key not null,
  name varchar(30) not null
);

班级表字段说明

字段 说明
id 主键 id
name 班级名称

准备数据

 
向classes表中插入数据
insert into classes values (6, "python01"), (0, "python02");
向students表中插入数据

insert into students values
(0,'小明',18,180.00,2,1,0),
(0,'小月',18,180.00,2,2,1),
(0,'项羽',29,185.00,1,1,0),
(0,'刘刘',59,175.00,1,2,1),
(0,'王老麻子',38,160.00,2,1,0),
(0,'老李',28,150.00,4,2,1),
(0,'老张',18,172.00,2,1,1),
(0,'老牛',36,NULL,1,1,0),
(0,'张飞',58,181.00,1,2,0),
(0,'关羽',74,166.00,2,2,0),
(0,'刘备',66,162.00,3,3,1),
(0,'孙权',77,180.00,2,4,0),
(0,'曹操',66,170.00,1,4,0),
(0,'周瑜',