数据库的查询语句_数据库select from where

数据库的查询语句_数据库select from where一、温馨提示在dos窗口登录mysql,这里面使用库,给库中表添加一条中文数据—-会出现插入数据有问题,中文错误这是因为:1、在dos窗口中,默认的编码格式gbk,而mysql服务器软件使用的编码utf82、在dos窗口输入一个指令,模糊查询当前mysql数据库中所有带有”character”字符集的变量全部出来SHOWVARIABLESLIKE’%character%’;3、在dos窗口中需要修改setchar…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、温馨提示

在dos窗口登录mysql,这里面使用库,给库中表添加一条中文数据 —- 会出现插入数据有问题,中文错误 

数据库的查询语句_数据库select from where

这是因为:

1 、 在dos窗口中,默认的编码格式gbk,而mysql服务器软件使用的编码utf8 

2、在dos窗口输入一个指令,模糊查询当前mysql数据库中所有带有”character”字符集的变            量全部出来 SHOW VARIABLES LIKE ‘%character%’ ;

数据库的查询语句_数据库select from where

3、在dos窗口中需要修改 set character_set_client = gbk ;

4、还需要给结果集的字符集 set character_set_results = gbk ; 

数据库的查询语句_数据库select from where

 数据库的查询语句_数据库select from where

5、改动完成,才能在dos窗口中临时插入数据可以支持中文的;

6、这些修该都是临时修改,下次使用的时候还需重新设置

二、数据库的一些查询语句

             
1.最基本的查询:select * from 表名;-----一般我们不能*
要是需要查询全表的全部数据:  
  (1)写法一:
    select id ,name ,age,address,math ,english  from   student    ;
  (2)写法二:----给表给别名(表名较长的时候)
     给字段起别名 as 可以省略
   select 
    s.id as'编号',
    s.name as '姓名',
    s.age as'年龄',
    s.sex as '性别',
    s.address  as '工作地址',
    s.math as '数学',
    s.english as '英语'
       from  student3 as s(表的别名);
2.查询指定的字段:
 select 字段名,字段名2  from 表名;
3.去掉数据的重复数据----distinct
  eg:SELECT DISTINCT address FROM student3;
  
   *在求和过程中,如有null时,结果为null
  在MySQL里面有一个函数  ifnull(字段名称  期望值);    
 
 4.进行条件查询
    (1) select    where  条件;
      where 后面可以使用
         赋值运算符=
         比较运算符 < > <=  >= !=(和java的一样)
         MySQL里面的不等于是:<>
        
   查询年龄不等于20 岁的人的字段
  SELECT * FROM student3  WHERE age!=20;
  SELECT * FROM student3  WHERE age <>20;
  -- where 后面可以跟多个人 条件,并列或者的条件
  -- 可以使用逻辑的双与&&和双或||
  -- 查询学生年龄20-30 岁之间的
  -- 1.mysql中支持java中的&&,但在MySQL中我们不建议使用,我们使用  and 
   SELECT *   FROM  student3 WHERE   age>= 20 && age <=30;
   SELECT * FROM  student3 WHERE age<=30 AND age>=20;
   -- 2.并列还可以使用 between ... .and  
   -- 查询学生年龄20-30 岁之间的
      SELECT * FROM student3  WHERE age BETWEEN 20 AND 30;
  -- mysql中支持java中的||,但在MySQL中我们不建议使用,我们使用  or
  -- 查询年龄是18 或者 等于20  或者等于 45
    SELECT * FROM student3 WHERE age=18 || age=20 || age=45;
    SELECT * FROM student3 WHERE age=18 OR  age=20 OR  age=45
     -- 当有多个或的关系的时候,可以使用in 集合语句----where  字段名称  in(值1,值2,值3);
     SELECT * FROM student3 WHERE age IN (18,20,45);      
     
                                
    -- 查询字段为空的值
    -- where后面们可以跟判断某个字段为null的格式
    -- 格式:where   字段名称 is  null;-----字段值为空
    -- 字段不为空的  where   is not null
    --  查询英语成绩为空的学生的 id  name age 以及英语成绩信息
    SELECT   id,NAME ,AGE,address FROM  Student3 WHERE english  IS  NOT NULL;                
          
               
5. 模糊查询like
   /*
    % :代表模糊匹配的任意字符 
     select 指定字段名称  from 表名  where 字段名称 like    '%字符%';
     _:代表一个任意字符集
     select 指定字段名称  from 表名  where 字段名称 like    '__';
     
   */      
   -- 查看姓马的学生
   SELECT id,age, address FROM student3  WHERE NAME LIKE '%马%';
   -- 查看包含两个字符的学生
    SELECT  NAME,id,age, address FROM student3  WHERE NAME LIKE '__';
  -- 查询姓名中第二字是化的所有信息
   SELECT *  FROM Student3 WHERE NAME LIKE '%_化%'; 
   -- 查询学生姓名是三个字符的
   SELECT * FROM student3 WHERE NAME LIKE '___';
   
6.聚合函数查询:
  1.count(字段名称):查询当前表的记录数---字段名称使用非业务数据,因为业务数据有可能存在空
   select  聚合函数(字段名称)  from 表名;
   2.sum (字段名称)  求和
   3.avg(字段名称)
   4.max()
   5.min()

 -- 使用英语查询表的总记录数
 SELECT   COUNT(english) AS '总记录数' FROM student3;-- 会把值为null 的漏掉
 -- 通用写法
 SELECT COUNT(id) AS '记录数' FROM student3;
 -- 求数学成绩和
  SELECT SUM(math) AS '数学总和' FROM student3;
  SELECT SUM(IFNULL(english,0)) AS '英语总分' FROM student3;
  -- 求出shu学平均分
  SELECT AVG(math) AS '数学平均分' FROM student3;
  -- 获取数学成绩最高/低分
  SELECT MAX(math)  AS '数学组高分',MIN(math)  AS  '最低分'FROM student3;
  -- 查询学生数学成绩最高分的学生信息---复合函数+聚合函数
 -- 1.先查出最高平均分   2.再查出最高分的人 3.最高分的人=最高平均分的
  SELECT * FROM  student3 WHERE math=( SELECT MAX(math) AS '数学最高分' FROM student3);
  -- 查询数学成绩大于数学平均分的学生信息
  -- 1.先查出数学的平均分 
  SELECT *  FROM  student3 WHERE math>(SELECT AVG(math) FROM student3);
  -- 查询数学成绩大于数学平均分的学生信息并且总分>160的信息
   SELECT *FROM student3 WHERE  math> (SELECT AVG(math) FROM student3) AND 
    (SELECT SUM(math+IFNULL(english,0)) FROM student3) >160;
     
 7.排序查询
     -- select  字段名称 from 表名 order by asc(升序,默认)/desc(降序);
     -- 数学按升序排
     SELECT * FROM student3 ORDER BY  math ASC;
     
     -- 将id=5 英语成绩为70 
     UPDATE student3 SET english =70 WHERE id=5;
     
     -- 将id=6 英语成绩改为88
     UPDATE student3 SET English=88 WHERE id=6;
     INSERT INTO student3  VALUES(9,'张钧甯','30','女','西安',89,95);
     -- 
     SELECT * FROM student3 ORDER BY math DESC,english ASC; 
                     
                                                         

总结:今日查询语句比较多,只能通过练习来熟悉和掌握,为后面的多表查询打好基础。

没有伞的孩子只能努力奔跑!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196091.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月3日 下午8:15
下一篇 2025年10月3日 下午8:43


相关推荐

  • java怎样调用oracle存储函数_oracle如何调用存储过程

    java怎样调用oracle存储函数_oracle如何调用存储过程之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧。首先来看一下项目结构:在数据库创建存储过程的脚本,假如,使用的是本地的oracle数据库,那么,就需要开启服务-OracleOraDb11g_home1TNSListener和OracleServiceORCL。实现:输入用户的工号,输出用户名字、薪水以及工作:createorr…

    2022年10月20日
    4
  • java中堆栈溢出_Java堆栈溢出

    java中堆栈溢出_Java堆栈溢出Java 堆栈溢出背景知识 栈存放什么 栈存储运行时声明的变量 对象引用 或基础类型 primitive 内存空间 栈的实现是先入后出的 堆存放什么 堆分配每一个对象内容 实例 内存空间 栈溢出 java lang StackOverflo 堆溢出 java lang OutOfMemoryE Javaheapspac 栈溢出实现 可以递归调用方法 这样随着栈深度的增加

    2026年3月19日
    1
  • 关于月亮的诗句_0x38是多少

    关于月亮的诗句_0x38是多少一些关于windows相关的书,书中提到扫描码的概念:扫描码的最低7为(0~6位)是描述码值,而最高位(7位)就描述该键是否被按下了。所以要想知道该键是否被按下就必须与0x80(1000000)相与。例如GetKeyState(VK_UP)&0x80或KeyStateBuffer[DIK_ESCAPE]&0x80.同时,在ANSIC标准中…

    2025年11月6日
    7
  • Pycharm设置命令行/控制台自动换行

    Pycharm设置命令行/控制台自动换行前言 在刚开始使用 Pycharm 的时候 发现在复制一些要爬取的一些链接的时候 它的代码向右无限延伸 看得真的很难受 然后控制台也来这么一出 在爬取一些 HTML 的代码后 它也是一行向右无限延伸 于是就催生出了这篇文章 正文 一 设置命令行自动换行首先进入到 Pycharm 软件中 然后到 File 里面点开 Settings 然后点开里面的 Editor 到 General 里面

    2026年3月27日
    1
  • IDEA如何设置自动导包

    IDEA如何设置自动导包一 二 操作步骤 1 点击 File gt 在点击 Settings 2 点击 Editor 展开选项

    2026年3月17日
    4
  • 传奇三架设教程_手游传奇服务端架设教程

    传奇三架设教程_手游传奇服务端架设教程传奇3私服架设技术教程准备工具:1:装有windows98/2000/xp/2003系统、内存至少256M的电脑一台2:传奇3服务器端一个3:SQL2000一个下面开始跟着我说的步骤架设传奇3服

    2026年4月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号