mysql检索数据

0x00  SELECT简介

简单的来说SELECT 语句用于从表中选取数据。


0x01 select的用法

1.1 检索数据表内所有列数据

SELECT * FROM city;
IDNameCountryCodeDistrictPopulation
1KabulAFGKabol1780000
2QandaharAFGQandahar237500
3HeratAFGHerat186800
4Mazar-e-SharifAFGBalkh127800


1.2 检索数据表内单列数据

SELECT Name FROM city;
Name
Kabul
Qandahar
Herat
Mazar-e-Sharif
Amsterdam
Rotterdam


1.3 检索数据表内多列数据

SELECT ID, Name, CountryCode FROM city;
IDNameCountryCode
1KabulAFG
2QandaharAFG
3HeratAFG
4Mazar-e-SharifAFG
5AmsterdamNLD
6RotterdamNLD



1.4 过滤检索出来的数据

SELECT * 
FROM city
WHERE CountryCode = 'AFG';
IDNameCountryCodeDistrictPopulation
1KabulAFGKabol1780000
2QandaharAFGQandahar237500
3HeratAFGHerat186800
4Mazar-e-SharifAFGBalkh127800


0x02 总结

2.1 在这里说一下测试语句的编码习惯,sql语法用大写,表还是按照数据库表名大小写来编写。当时听老东家的DBA说,异库这样的语句方便移植。

这里举个例子吧。SELECT * FROM TAB_NAME;

      UPDATE  TAG_NAME SET ROW_NAME = 'XXXX' WHERE ROW_NAME = 'XXX';

2.2 .写语句要注意分层,这样语句明朗清晰,方便二次维护和更新

来个多表联查的例子:

SELECT * 
FROM (
	SELECT ROW_ID, ROW_NAME
	FROM TAB_INFO
	WHERE TAB_INFO.ROW_NAME = 'XXXX'  )TAB_NAME_A
LEFT JOIN (
	SELECT ROW_ID, ROW_ID
	FROM TAB_INFO_A
	WHERE TAB_INFO_A.ROW_NAME = 'XXXX')TAB_NAME_B
ON TAB_NAME_A.ROW_NAME = TAB_NAME_B.ROW_NAME
这里重点说说一下,一定不要乱写!!!!!!!我也经历过一期项目开发周期短,任务重。但挖这种sql坑真的很恐怖,

因为一期项目数据量要么就是很小,要么就只是测试数据,肯定怎么写都可以,等量级上来了,极端可怕。尽量写的阅读性好一点!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值