不要这样写SQL 改掉这些坏习惯
发布日期:2021-05-10 07:19:44 浏览次数:20 分类:精选文章

本文共 5038 字,大约阅读时间需要 16 分钟。

���������������SQL ���������������������

������������������������������������������������������ SQL ������������������������������ SQL ������������������������������������������������������������������������������������������������������������_Execute time_������������������������������������������������������������������������������������������������ SQL ������������������������������������������������������


1. ������������������������������

��������������������� Order ������������������������ Status ������������������������������������ 0���1���2���3������������������������������������������������������������������������������������ 0 ������������������������������������������ SQL���

select * from Order where Status != 0

��������������������������������������������������������������������������� !=���not in���not exists��������������������������������������������� Order ���������������������������������������������������������������������������

������������������������������������������������������

select * from Order where Status in (1, 2, 3)

������������������������������������������������������������������������


2. ������������������������������������

��������������������������������� OrderNo ��������������������������������������������������������� SQL���

select * from Order where OrderNo like '%param'

���������

select * from Order where OrderNo like '%param%'

���������������������%param������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ param%��������������������������������� ���������������

select * from Order where OrderNo like 'param%'

������������������������������������������������������


3. ������������������������������������

������������������������������������������ 2018 ������������������������������������������������ SQL���

select * from Order where Year(CreateTime) = 2018

������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������

select * from Order where CreateTime > '2018-1-1 00:00:00'

���������������������������������������������������������������������������������������


4. ��������������� Null ���������������������������

������������������������������������������������������ Null ������������������������������������������������������������������������������������������ Null ������������������������������������������������������ Null������������������������ User ��������������������� UserName ���������������������������

���������������������������

select * from User where UserName != '������'

��������������� UserName������������ Null ��������������������������������������������������������������������������������������������� UserName ������������������������������������������ Null ������������


5. ���������������������������������

��������������� LoginID ��� Password���������������������������������������������������������������������������������������������������������������������������

create index idx_loginpassword on User(LoginID, Password);

���������������������������

select * from User where Password = '{Password}'

������������������������������������������������������������������������������������������������������������������������������������������

select * from User where LoginID = '{LoginID}'

���������

select * from User where LoginID = '{LoginID}' and Password = '{Password}'

������������������������������������������������������


6. ���������������������������������������������

���������������������������������������������������������������������

select * from User where LoginID = '{LoginID}'

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ LIMIT 1���

select * from User where LoginID = '{LoginID}' limit 1

������������������������������������������������������������������������������������


7. ������������������������������������������������������ SELECT *

��������������������������� SELECT * from table ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ID ���������������������������������������������

��������������������������������� SELECT count(0) ���������������������������������

select count(0) from User where LoginID = '{LoginID}'

���������

select fields from User where conditions;

������������ SELECT * ���������������������������������


������

��������������������������������������������������� SQL ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� SQL���

上一篇:阿里开发强制要求的11条SQL编写规范
下一篇:10个简单步骤,完全理解SQL

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月15日 19时38分44秒