mysql数据库(7):表中检索信息

举报
川川菜鸟 发表于 2021/10/15 23:07:05 2021/10/15
【摘要】 (1)选择所有数据:select * from pet;  (2)修改表内容 方法一:先删除用 DELETE FROM pet;  去修改txt中内容,再LOAD DATA LOCAL INFILE 'D:/test/pet.txt' INTO TABLE pet; ...

(1)选择所有数据:select * from pet;

 (2)修改表内容

方法一:先删除用 DELETE FROM pet;  去修改txt中内容,再LOAD DATA LOCAL INFILE 'D:/test/pet.txt' INTO TABLE pet;

 方法二:(这个更简单)

比如说更改owners下的川川为笨笨,就执行:update pet set owner='笨笨' where name='hh';

 (3)单独选择某一行:SELECT * FROM pet WHERE name = ‘hh';

 你可以在任何列上指定条件,不只仅仅是name。例如,如果你想要知道哪个动物在1998以后出生的,测试birth列: SELECT * FROM pet WHERE birth > '2021-7-9';

 可以组合条件,例如找出思思的狗:select * from pet where owner='思思' and species='dog';

AND和OR可以混用,但AND比OR具有更高的优先级。如果你使用两个操作符,使用圆括号指明如何对条件进行分组是一个好主意:

mysql> select * from pet where( owner='思思' and species='dog')
-> or ( owner='思思' and species='pig');

 (4)选择特殊列:select name,birth from pet;

 找出谁拥有宠物,使用这个查询:select owner from pet;

 请注意该查询只是简单地检索每个记录的owner列,并且他们中的一些出现多次。为了使输出减到最少,增加关键字DISTINCT检索出每个唯一的输出记录:select distinct owner from pet;

 可以使用一个WHERE子句结合行选择与列选择。例如,要想查询狗和猫的出生日期,使用这个查询:

 (5)分类行 

 为了排序结果,使用ORDER BY子句。这里是动物生日,按日期排序:select  name, birth from pet order by birth;

 默认排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序 )关键字:SELECT name, birth FROM pet ORDER BY birth DESC;

按升序对动物的种类进行排序,然后按降序根据生日对各动物种类进行排序(最年轻的动物在最前面),使用下列查询:

mysql> SELECT name, species, birth FROM pet
-> ORDER BY species, birth DESC;

(6)日期计算

 要想确定每个宠物有多大,可以计算当前日期的年和出生日期之间的差。如果当前日期的日历年比出生日期早,则减去一年。以下查询显示了每个宠物的出生日期、当前日期和年龄数值的年数字。

尽管查询可行,如果以某个顺序排列行,则能更容易地浏览结果。添加ORDER BY name子句按照名字对输出进行排序则能够实现

mysql> SELECT name, birth, CURDATE(),
-> (YEAR(CURDATE())-YEAR(birth))
-> - (RIGHT(CURDATE(),5)<RIGHT(birth,5))
-> AS age from pet;

 了按age而非name排序输出,只要再使用一个ORDER BY子句:

mysql> SELECT name, birth, CURDATE(),(YEAR(CURDATE())-YEAR(birth))- (RIGHT(CURDATE(),5)<RIGHT(birth,5)) AS age
-> FROM pet ORDER BY age;

 知道哪个动物几月过生日:SELECT name, birth, MONTH(birth) FROM pet;

 找出下个月生日的动物也是容易的。假定当前月是7月,那么月值是7,你可以找在8月出生的动物 (8月),方法是:SELECT name, birth FROM pet WHERE MONTH(birth) = 8;

 (7)NULL值操作

使用IS NULL和IS NOT NULL操作符,0或 NULL意味着假而其它值意味着真。布尔运算的默认真值是1。

定哪个动物不再是活着的,使用death IS NOT NULL而不使用death != NULL

(8)模式匹配

要想找出以“h”开头的名字:SELECT * FROM pet WHERE name LIKE 'h%' ;

 同理:

要想找出以“h”结尾的名字:select * from pet where name like  '%h';

同理:

要想找出包含“h”的名字: SELECT * FROM pet WHERE name LIKE '%h%';

 要想找出正好包含2个字符的名字,使用“_”模式字符:SELECT * FROM pet WHERE name LIKE '__';

文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。

原文链接:chuanchuan.blog.csdn.net/article/details/119341448

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。