05-mysql中的查询(第一章)

本文介绍了如何使用SQL创建学生信息表和班级表,并演示了基本的数据插入操作。此外,还详细讲解了各种SQL查询语句的用法,包括条件查询、模糊查询、范围查询等。
准备数据,创建数据表
  • 创建学生信息表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('男','女','人妖','保密'),
    cls_id int unsigned default 0
    );
  • 创建班级表classes

    create table classes(
    cls_id int unsigned primary key auto_increment not null,
    cls_name varchar(10) default ''
    )
  • 准备数据

    insert into students values
    (0,'小红',18,180.00,2,1),
    (0,'小静',18,180.00,2,2),
    (0,'张三',29,185.00,1,1),
    (0,'李四',59,175.00,1,2),
    (0,'韩梅梅',38,160.00,2,1),
    (0,'凤姐',28,150.00,4,2),
    (0,'小芳',18,172.00,2,1),
    (0,'尔康',36,NULL,1,1),
    (0,'王五',27,181.00,1,2),
    (0,'亦菲',25,166.00,2,2),
    (0,'银星',33,162.00,3,3),
    (0,'香瓜',12,180.00,2,4),
    (0,'周杰',34,176.00,2,5);
    insert into classes values
    (0,'mysql-01'),
    (0,'mysql-02'),
    (0,'mysql-03'),
    (0,'mysql-04'),
    (0,'mysql-05'),
    (0,'mysql-06');
  • 查询所有的字段

    select * from students;

    这里写图片描述

  • 查询指定的字段

    --语法:select 列名1,列名2,..... from 表名;
    select name,age,height from students;

    这里写图片描述

  • 在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中

    --语法:select 字段1 as 别名,字段2 as 别名,... from 表名;
    select name as 姓名,age as 年龄 from students;

    ---------03

  • 查询的完整格式

    SELECT select_expr [,select|_expr,...] [      
        FROM tb_name
        [WHERE 条件判断]
        [GROUP BY {col_name | postion} [ASC | DESC], ...] 
        [HAVING WHERE 条件判断]
        [ORDER BY {col_name|expr|postion} [ASC | DESC], ...]
        [ LIMIT {[offset,]rowcount | row_count OFFSET offset}]
    ]
条件查询where
  • 使用where自居对表中的数据进行筛选,结果为True的行会出现在结果集中

    select * from 表名 where 条件;

    例如查询id是4的学生的信息

    select * from students where id=4;

    --------04

  • where后面支持多种运算符,进行条件的处理

    • 比较运算符
    • 逻辑运算符
    • 模糊查询
    • 范围查询
    • 空判断
  • 比较运算符

    • 等于: =
    select * from students where id=4;

    -------04

    • 大于: >
    select * from students where age>18;

    --------05

    • 大于等于: >=
    select * from students where age>=18;

    -----06

    • 小于: <
    select * from students where age<18;

    ---07

    • 小于等于: <=
    select * from students where age<=18;

    -----08

    • 不等于: != 或 <>
    select * from students where age!=18;
    select * from students where age<>18;

    ---------09

  • 逻辑运算符

    • and且
    select * from students where age>18 and gender=1;

    --------10

    • or或者
    select * from students where age>18 or gender=2;

    -------------11

    • not非
    select * from students where not age=18;

    --------12

  • 模糊查询

    • like

    • %表示任意多个字符

    select * from students where name like '小%';

    -----13

    • _表示一个任意字符
    select * from students where name like '周_';

    --------14

  • 范围查询

    • in表示在一个非连续的范围内
    select * from students where age in(12,18,25,34);

    -------15

    • between….and….表示在一个连续的范围内
    select * from students where age between 18 and 30;

    -------16

  • 空判断

    • 判空is null
    select * from students where height is null;

    ------17

    • 判断非空is not null
    select * from students where height is not null;

    这里写图片描述

  • 优先级

    • 优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符、
    • and比or先运算,如果同时出现并希望先算or,需要结合()使用
基于51单片机,实现对直流电机的调速、测速以及正反转控制。项目包含完整的仿真文件、源程序、原理图和PCB设计文件,适合学习和实践51单片机在电机控制方面的应用。 功能特点 调速控制:通过按键调整PWM占空比,实现电机的速度调节。 测速功能:采用霍尔传感器非接触式测速,实时显示电机转速。 正反转控制:通过按键切换电机的正转和反转状态。 LCD显示:使用LCD1602液晶显示屏,显示当前的转速和PWM占空比。 硬件组成 主控制器:STC89C51/52单片机(与AT89S51/52、AT89C51/52通用)。 测速传感器:霍尔传感器,用于非接触式测速。 显示模块:LCD1602液晶显示屏,显示转速和占空比。 电机驱动:采用双H桥电路,控制电机的正反转和调速。 软件设计 编程语言:C语言。 开发环境:Keil uVision。 仿真工具:Proteus。 使用说明 液晶屏显示: 第一行显示电机转速(单位:转/分)。 第二行显示PWM占空比(0~100%)。 按键功能: 1键:加速键,短按占空比加1,长按连续加。 2键:减速键,短按占空比减1,长按连续减。 3键:反转切换键,按下后电机反转。 4键:正转切换键,按下后电机正转。 5键:开始暂停键,按一下开始,再按一下暂停。 注意事项 磁铁和霍尔元件的距离应保持在2mm左右,过近可能会在电机转动时碰到霍尔元件,过远则可能导致霍尔元件无法检测到磁铁。 资源文件 仿真文件:Proteus仿真文件,用于模拟电机控制系统的运行。 源程序:Keil uVision项目文件,包含完整的C语言源代码。 原理图:电路设计原理图,详细展示了各模块的连接方式。 PCB设计:PCB布局文件,可用于实际电路板的制作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值