MySQL必看表设计经验汇总-下(精华版)

������ҳ:****

??ϵ��ר������mysql�����ܽᡷ****

??ɽ��·Զ����·���������й�;��


������һ����������ƪ

�ϣ�MySQL�ؿ�����ƾ������-��(������)-CSDN����

�£�MySQL�ؿ�����ƾ������-��(������)-CSDN����

Ŀ¼

7.�����ֶξ�����not null

8.������������

9.����Ҫ�ϸ�����3NF��ͨ��ҵ���ֶ����������ٱ�����

11.����ʹ��MySQL������

12.�������������һ�㶼�ڴ���ά��

13.�ֶ�Ҫע��

14.ʱ�����͵�ѡ��

��������

�й�SQL��д��һЩ�Ż�����


ǰ��

�����ݹ���������ƪ�������ƪ��ʼ������ƪ�ν���ƪ

7.�����ֶξ�����not null

���û����������ɣ�һ�㶼���齫�ֶζ���ΪNOT NULL��Ϊʲô��

���ȣ�NOT NULL ���Է�ֹ���ֿ�ָ������
��Σ�NULLֵ�洢Ҳ��Ҫ����Ŀռ�ģ������ᵼ�±Ƚ������Ϊ���ӣ�ʹ�Ż��������Ż�SQL��

NULLֵ�п��ܻᵼ������ʧЧ
������ֶ�Ĭ�����ó�һ�����ַ�������ֵ��ûʲô��ͬ���Ҷ�����Ӱ�쵽Ӧ���߼����ǾͿ��Խ�����ֶ�����ΪNOT NULL��

8.������������

����Ʊ�ʱ����Ҫ������Щ�ֶ���Ҫ��������������ѭ���¼���ԭ��

1.���ݲ�ѯ��������ѡ��(��Ƶʹ��)��:����ڲ�ѯ��ʹ����ij���ֶ���Ϊ��ѯ��������ô����ֶξ�Ӧ�ý������������磬���û����У������Ҫ�����û����������в�ѯ����ô��Ӧ��Ϊ�����ֶν���������

2.���ֶȸߵ��ֶ����ȣ����һ�ֶε�ȡֵ��Χ�dz�С�������Ա�ֻ����Ů���ֿ��ܣ���ô����ֶξͲ��ʺϽ����������෴�����һ���ֶε�ȡֵ��Χ�ܴ������ֶȸߣ������û�ID����ô����ֶξͷdz��ʺϽ���������

3.��Ҫ���������������ÿ��������������������Ӧ�ÿ�����һ�������ķ�Χ�ڣ�һ�㲻Ҫ����5������Ϊ����������ᵼ��д���ٶȱ�������ռ�ø���Ĵ洢�ռ䡣

4.���������Ż�����ijЩ����£�����ͨ�����������ķ�ʽ���Ż���ѯ�ٶȣ�����������������������磬���û����У������Ҫ�����û�������������в�ѯ����ô���Խ��������ֶ���ϳ�����������

��������һ������������������ID���û�ID������������״̬���ֶΡ�������Ҫ�����û�ID�Ͷ���״̬���в�ѯ�����Կ���Ϊ�û�ID�Ͷ���״̬�������ֶν�������������

9.����Ҫ�ϸ�����3NF��ͨ��ҵ���ֶ����������ٱ�����

����˵���Ƿ���ʽ��Ƴ�����ʽ���ڵ�����ʽ(3NF)�Ļ����Ͻ�һ���������࣬�Ӷ����ٱ�����

���ݿ�����ʽ(3NF)��

  • ��һ��ʽ�������Ե�ԭ���ԣ�Ҫ�����Ծ���ԭ���ԣ������ٷֽ�
  • �ڶ���ʽ:����¼��Ψһ�ԣ�Ҫ���¼��Ψһ��ʶ����ʵ���Ψһ�ԣ��������ڲ�������
  • ������ʽ�����ֶε������ԣ�Ҫ���κ��ֶβ����������ֶ�������������Ҫ���ֶ�û�����࣬�������ڴ�������

������Ҫ��Ƹ���Ʒ�����������������ֶ�: ����ID���û�ID���������ڡ���Ʒ���ơ���Ʒ�۸�Ʒ�����Լ������ܼۡ���������£����ܻ�ֱ���ƶ������Ͳ�Ʒ������ʹ��������й���������:

create table orders
(
    id         int(11) not null auto_increment,
    user_id    int(11) not null, -- �û�ID
    order_date date    not null, -- ��������
    product_id int(11) not null, -- ��ƷID
    quantity   int(11) not null, -- ����
    primary key (id),
    foreign key (product_id) references product (id)
);



create table product
(
    id    int(11)        not null auto_increment,
    name  varchar(256)   not null, -- ��Ʒ����
    price decimal(10, 2) not null, -- �۸�
    primary key (id)
);

���������ʹ��ʱ��Ƚ��鷳����Ҫ�Ȳ鶩�����ٲ��Ʒ��ͨ�����������۲ſ��Լ�����ܼۡ�

�����Ʒ�ʽ���Ϸ�ʽҪ�󣬵��ڲ�ѯʱ��Ҫ���б��������������ܻή�Ͳ�ѯЧ�ʡ�Ϊ����߲�ѯЧ�ʣ����ǿ���ʹ�÷���ʽ����Ʒ�ʽ�����������еIJ�Ʒ���ơ���Ʒ�۸�Ͷ����ܼ�����洢���������У��Ӷ����������ѯ������:

create table orders
(
    id            int(11)        not null auto_increment, -- ����ID����������
    user_id       int(11)        not null,                -- �û�ID
    order_date    date           not null,                -- �µ�����
    product_name  varchar(256)   not null,                -- ��Ʒ����
    product_price decimal(10, 2) not null,                -- ��Ʒ���ۣ�������λС��
    quantity      int(11)        not null,                -- ��������
    total_price   decimal(10, 2) not null,                -- �����ܼۣ�������λС��
    primary key (id)
);

ͨ�����ַ���ʽ����Ʒ�ʽ�����ǿ��Ա����������������߲�ѯЧ�ʣ���Ҳ������һЩȱ�㣬���������࣬���ݸ������ѵȣ�������ʵ��Ӧ���и��������ȡ�ᡣ

11.����ʹ��MySQL������

����������������ֶ��������Ժ��б�����ʱ��SQL�������÷����ţ�`���������������ƣ��⽫ʹ��SQL�����д��SHELL�ű��б�����ת��ȱ�÷dz�����

�������Ҫʹ����Щ��������Ϊ������������������ʶ��������Կ������·����������ͻ:

�ڱ�ʶ��ǰ��������»���:���磬����������Ϊ��my_table"����������Ϊ��column_name

ʹ�ò�ͬ�ĵ��ʻ����:���磬����������Ϊ"orders_table"����������Ϊ"order_status"

ʹ�÷����ţ�`������ʶ��������:���磬����������Ϊ��table"����������Ϊ"column""����ע����ʹ�÷�����ʱҪС�ģ�ȷ��ʹ����ȷ���﷨�͹淶

MySQL���������֣�

SELECT��INSERT��UPDATE��DELETE��CREATE��ALTER��DROP��FROM��WHERE��AND��OR��NOT��ORDER BY��GROUP BY

12.�������������һ�㶼�ڴ���ά��

�����ݿ�����У�ʹ�����������һ�����õ�ʵ��������ȷ�����ݵ������Ժ�һ���ԡ�����������԰���ά����֮��Ĺ�ϵ����ֹ��Ч��һ�µ����ݲ��롢���»�ɾ��������Ȼ������ijЩ����£�Ҳ����Щȱ�㣬������ǵ������ڲ�̫�Ƽ�ʹ�����������ԭ��֮һ��������һЩ�������:��

  • ���ܻᵼ���������⣬�������ڶԴ������ݼ����в���ʱ��������Ϊÿ�β��롢���»�ɾ����������Ҫ����Լ����飬����ܻᵼ�¶���Ŀ������ӳ١�
  • ���ܻ��������ݿ������ԺͿ���չ�ԡ����磬�����Ҫ�����ݿ���з�����ֱ�ָ����������ܻᵼ�¶���ĸ����Ժ����ơ�
  • ���ܻᵼ����������ѭ�����ر����ڽ��в�������ʱ������ܻᵼ�����ݿ���ֲ��ȶ���״̬���Ӷ�Ӱ��ϵͳ�����ܺͿ����ԡ�
  • ���ܻᵼ�����ݿ��ά���͹����ɱ������ӡ�������Ϊ���������Ҫ����Ĺ�����ά���������������ӡ��޸Ļ�ɾ�����Լ��ʱ��Ҫ����IJ��Ժ���֤��

��ˣ��ھ����Ƿ�ʹ���������ʱ����Ҫ����ʵ��ҵ������ͳ�����������Ȩ��;��ߡ���ijЩ����£����Բ���������������֤���ݵ������Ժ�һ���ԣ�����ʹ��Ӧ�ó����߼������ݿⴥ������ʵ��Լ���������ݲ�����ͬʱ����Ҫע�����ݿ���ƵĻ���ԭ������ʵ��������������ݼ��ࡢ��ѭ�淶��ԭ������������۵ȡ�

13.�ֶ�Ҫע��

��Ʊ�ʱÿ���ֶεĺ���Ҫע�����������ö�����͡�����˵

 'order_status' varchar(2) not null comment '����״̬ 01:��֧����02:��֧����03:�ѷ�����04:����ɣ�05:��ȡ��'

14.ʱ�����͵�ѡ��

ʱ�����͵�ѡ��һ�㶼Ҫ�úÿ��ǣ���Ϊ��ͬ�����ʹ洢�ĸ�ʽ��ͬ��

����MySQL��˵����Ҫ��datedatetime��time��timestamp �� year��

  • date: ��ʾ������ֵ��ʽyyyy-mm-dd,��Χ1000-01-01 �� 9999-12-31��3�ֽ�
  • time:��ʾ��ʱ��ֵ����ʽ hh:mm:ss����Χ-838:59:59 ��838:59:59��3�ֽ�
  • datetime: ��ʾ������ʱ��ֵ����ʽyyyy-mm-dd hh:mm:ss����Χ1000-01-01 00:00:00��9999-12-31 23:59:59��8�ֽڣ���ʱ���޹�
  • timestamp: ��ʾ��ʱ���ֵ����ʽΪyyyymmddhhmmss����Χ1970-01-01 00:00:01��2038-01-19 03:14:07��4�ֽڣ���ʱ���й�
  • year: ���ֵ����ʽΪyyyy����Χ1901��2155��1�ֽ�

�Ƽ�����ʹ��datetime�������������ں�ʱ�䣬��Ϊ�洢��Χ�����Ҹ�ʱ���޹�

��������

�й�SQL��д��һЩ�Ż�����

  1. ����ʹ��SELECT*FROM ��䣬Ӧ��ֻѡ����Ҫ���У��Լ������紫�����߲�ѯ���ܡ�
  2. ʹ����������߲�ѯ�ٶȣ��ر����ڶԴ��ͱ����в�ѯʱ
  3. ����ʹ�����Լ������Ϊ���ǿ��ܻᵼ���������⣬�ر����ڶԴ��ͱ����в��롢���º�ɾ������ʱ��
  4. ʹ��LIMIT1�����Ʋ�ѯ���ֻ��һ����¼��
  5. ������where�Ӿ���ʹ��OR������������Ӧʹ��UNION�����Ӳ�ѯ��
  6. ע���Ż�LIMIT���ҳ���⣬����ʹ��OFFSET�����LIMIT.��
  7. ʹ��where��������Ҫ��ѯ�����ݣ����ⷵ�ض�����С�
  8. ������������������ʹ��MySQL�����ú���������ܵ�������ʧЧ��
  9. Ӧ����������where�Ӿ��ж��ֶν��б���ʽ����������ܵ�������ʧЧ��
  10. Ӧ����������where�Ӿ���ʹ��!=��<>������������ܵ�������ʧЧ��
  11. ʹ����������ʱ��ע�������е�˳��һ����ѭ����ƥ��ԭ��
  12. �Բ�ѯ�����Ż���Ӧ������where��order by�漰�����Ͻ���������
  13. ����������ݹ��࣬�����������롣
  14. ���ʵ���ʱ��ʹ�ø�������(��ѯ�ж���������)�������˻ر���
  15. ʹ��EXPLAIN ������SQL�ļƻ�����Ҫ������sql��û������������
  • 26
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值