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

目录

(1)选择所有数据

(2)修改表内容

方法一

 方法二

(3)单独选择某一行

(4)选择特殊列

(5)分类行 

(6)日期计算

(7)NULL值操作

(8)模式匹配


(1)选择所有数据

select * from pet;

返回: 

(2)修改表内容

方法一

先删除用

DELETE FROM pet;  

去修改txt中内容,再重新导入即可

load data local infile 'D:/桌面/pet.txt' into table pet lines terminated by '\r\n';

 方法二

(这个更简单)

比如说更改owners下的洋洋为笨笨,就执行下面代码

update pet set owner='笨笨' where name='11';

返回: 

(3)单独选择某一行

根据名字(name)来选中如下

在这里 11 是数值型,如果是字符串型则需要加引号:‘11’

SELECT * FROM pet WHERE name = 11;

返回: 

 你可以在任何列上指定条件,不只仅仅是name。例如,如果你想要知道哪个动物在2021年1月1日以后出生的,测试birth列: 

SELECT * FROM pet WHERE birth > '2021-1-1';

返回: 

可以组合条件,例如找出洋洋的狗:

select * from pet where owner='洋洋' and species='狗';

返回: 

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

select * from pet where owner='洋洋' and species='狗' or ( owner='洋洋' and species='龙');

返回:

(4)选择特殊列

select name,birth from pet;

返回:

找出谁拥有宠物,使用这个查询

select owner from pet;

返回: 

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

select distinct owner from pet;

返回: 

可以使用一个WHERE子句结合行选择与列选择。

例如,要想查询狗和猫的出生日期,使用这个查询:

select name,species,birth from pet where species = '猪' or species = '龙';

返回:

(5)分类行 

 为了排序结果,使用ORDER BY子句。这里是动物生日,按日期排序:

select  name, birth from pet order by birth;

返回: 

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

SELECT name, birth FROM pet ORDER BY birth DESC;

返回:

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

SELECT name, species, birth FROM pet ORDER BY species, birth DESC;

返回:

 

(6)日期计算

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

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

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

如果代码太长,可以分着写,如下

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

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;

返回:

 

 找出下个月生日的动物也是容易的。假定当前月是2月,那么月值是2,你可以找在3月出生的动物 (3月),方法是:

SELECT name, birth FROM pet WHERE MONTH(birth) = 3;

 返回:

(7)NULL值操作

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

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

(8)模式匹配

要想找出以“1”开头的名字:

SELECT * FROM pet WHERE name LIKE '1%' ;

返回: 

 同理:

要想找出以“1”结尾的名字:

select * from pet where name like  '%1';

返回: 

同理:

要想找出包含“1”的名字: 

SELECT * FROM pet WHERE name LIKE '%1%';

返回: 

 要想找出正好包含2个字符的名字,使用“_”模式字符:

SELECT * FROM pet WHERE name LIKE '__';

返回:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值