mysql -2查询单个表的数据时添加各种条件

首先创建一个表格

CREATE TABLE classmate(
   id INT,
   cname VARCHAR(5),
   age INT,
   math  DOUBLE,
   english DOUBLE,
   nature DOUBLE
);

再给表中填入数据

INSERT INTO classmate VALUES(1,‘王三‘,12,34,55,12);
INSERT INTO classmate VALUES(2,‘李四‘,15,67,45,15);
INSERT INTO classmate VALUES(3,‘小明‘,20,84,75,50);
INSERT INTO classmate VALUES(4,‘顾白‘,23,44,65,52);
INSERT INTO classmate VALUES(5,‘铁哥‘,29,88,65,90);

表的展示如下

查询所有的math,并在查询结果中将‘’math‘’改为‘’数学‘’

SELECT math AS ‘数学‘ FROM classmate;

查询各学生的数外总成绩

SELECT cname,(math+english)AS ‘数外总成绩‘ FROM classmate;

查询时去除了重复的英语成绩

SELECT DISTINCT english FROM classmate;

查询名为小明,年龄为20的所有情况

SELECT * FROM classmate WHERE cname = ‘小明‘ AND age =20;

查询数学成绩大于50分或英语成绩大于60分的所有情况

SELECT * FROM classmate WHERE math >50 OR english > 60 ;

查询数学成绩大于等于50分并且小于等于70分的所有情况(使用between and)

SELECT * FROM classmate WHERE math BETWEEN 50 AND 70 ;

查询自然成绩不等于15分的所有情况

SELECT * FROM classmate WHERE nature <> 15;

查询自然成绩不为null的所有情况

SELECT * FROM classmate WHERE nature IS NOT NULL;

查询自然成绩既不为null也不为空字符串的所有情况

SELECT * FROM classmate WHERE nature IS NOT NULL AND nature <> ‘‘;

查询所有姓王的同学的所有情况

SELECT * FROM classmate WHERE cname LIKE ‘王%‘;

查询名字中带白的同学的所有情况

SELECT * FROM classmate WHERE cname LIKE ‘%白%‘;

查询两个字的名字,姓为顾的所有情况

SELECT * FROM classmate WHERE cname LIKE ‘顾_‘;

查询列表中英语的总成绩

SELECT SUM(english) FROM classmate;

查询列表中数学的平均分

SELECT AVG(math) FROM classmate;

查询数学是最高分的同学的姓名

SELECT cname,MAX(math) FROM classmate;

查询自然是最低分的同学的姓名

SELECT cname,MIN(nature) FROM classmate;

查询该班一共有多少个学生

SELECT COUNT(id) FROM classmate;

从第0行开始,查询三行记录(第0行即为实际的第一行,以此类推)

SELECT * FROM classmate LIMIT 0,3;

原文地址:https://www.cnblogs.com/zhangrui0328/p/8989809.html

时间: 2024-10-16 09:33:34

mysql -2查询单个表的数据时添加各种条件的相关文章

MySql中把一个表的数据插入到另一个表中的实现代码--转

MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: ?

mysql中把一个表的数据批量导入另一个表中(不同情况)

mysql中把一个表的数据批量导入另一个表中 不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段. 本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中. 类别一. 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:(此方法只适合导出两表在同一database) INSERT INTO 目标表 SELECT * FROM 来源表;

关于mysql处理百万级以上的数据时如何提高其查询速度的方法

关于大数据量处理方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:     select id from t where num is null     可以在num上设置默认值0,确保表中num列没有null值,然后这

如何查询mysql数据库中哪些表的数据量最大

1.mysql的information_schema下有存储数据库基本信息的数据字典表,可以通过查询tables表来获得 所需要的表相关信息.  mysql> show databases; 2. use  information_schema; 3. show tables; 4. desc tables; 5 select table_name,table_rows from  tables order by table_rows desc limi 10;

MySQL 慢查询基础:优化数据访问

对于低效的查询,我们发现通过以下两个步骤分析很有效: (1)确认应用程序是否在检索大量超过需要的数据.这通常意味着访问了太多的行,但有时候也可能是访问了太多的行 (2)确认MySQL服务器层是否在分析大量超过需要的数据行 优化查询的方法如下: (1)是否向数据库请求了不需要的数据 对于查询数据是,可能应用程序会查询了太多不需要的数据,这会造成两方面的缺点 ①会给MySQL服务器带来额外的负担,并增加网络开销 ②另外也会消耗应用服务器的CPU 这里有一些典型的案例: ①查询不需要的记录:MySQL

mysql binlog抽取某个表的数据

1.先把binlog文件转化为sql sudo mysqlbinlog /var/mysql/var/mysql-bin.000057 --base64-output=decode-rows -v > /var/mydiag.sql 2.抽取某一个表的数据 grep -B0 -A27 -w 'DELETE FROM `kdb`.`t_diag_reportinfo`' mydiag.sql >diagreportinfo.sql 其中 -B0 -A27为查询到的行的前面多少行,后面多少行,根据

mysql分组查询前n条数据

建表: CREATE TABLE hard(id INT,aa varchar(50) ,bb INT,PRIMARY key(id))insert into hard values(1,'a',9)insert into hard values(2,'a',7)insert into hard values(3,'a',8)insert into hard values(4,'a',6) insert into hard values(5,'b',2)insert into hard valu

inserted触发器,一张表插入数据时,同时向另外一张表插入数据

有时候,一个服务器上有多个数据库,需要向其中一个数据库的表中插入数据时, 同时向另外一个数据的表里插入数据. 可以利用触发器和同义词(建立同义词的方法省略), 在一个数据库的表里插入数据时,同时向另外一个数据库的表里插入数据. 触发器代码如下: create trigger userInsertTrigger on [user] for insert as begin begin insert into usertab(UserID,UserAccount,UserPassword,UserNa

MySQL数据库导入或者同步大量数据时数据丢失解决方案

相信大家都经常遇到这样的情况,我们在编码的过程中经常需要在调试代码的时候切换到本地的数据库上做修改调试,如果当测试数据库的数据在几十万或者上百万数据的时候,我们无论是通过恢复备份/导入SQL的方式来把数据导入到本地的MySQL数据库的时候,数据都是无法导入完成的,经常会遇到丢失数据的情况.解决方案: 解决方案:在mysql的配置文件my.ini的文件中新增以下3个配置选项: 1.wait_timeout=2880000 2.interactive_time=2880000 3.max_allow