ITEEDU

11.2. ��ֵ����

MySQL֧�����б�׼SQL��ֵ�������͡���Щ���Ͱ����ϸ���ֵ��������(INTEGER��SMALLINT��DECIMAL��NUMERIC)���Լ�������ֵ��������(FLOAT��REAL��DOUBLE PRECISION)���ؼ���INT��INTEGER��ͬ��ʣ��ؼ���DEC��DECIMAL��ͬ��ʡ�

BIT�������ͱ���λ�ֶ�ֵ������֧��MyISAM��MEMORY��InnoDB��BDB��

��ΪSQL��׼����չ��MySQLҲ֧����������TINYINT��MEDIUMINT��BIGINT������ı���ʾ����Ҫ��ÿ���������͵Ĵ洢�ͷ�Χ��

����

�ֽ�

��Сֵ

���ֵ

 

 

(�����ŵ�/�޷��ŵ�)

(�����ŵ�/�޷��ŵ�)

TINYINT

1

-128

127

 

 

0

255

SMALLINT

2

-32768

32767

 

 

0

65535

MEDIUMINT

3

-8388608

8388607

 

 

0

16777215

INT

4

-2147483648

2147483647

 

 

0

4294967295

BIGINT

8

-9223372036854775808

9223372036854775807

 

 

0

18446744073709551615

MySQL��֧��ѡ���ڸ����͹ؼ��ֺ����������ָ������ֵ����ʾ���(���磬INT(4))���ÿ�ѡ��ʾ��ȹ涨������ʾ���С��ָ�����п�ȵ�ֵʱ�����������ȡ�

��ʾ��Ȳ������ƿ��������ڱ����ֵ�ķ�Χ��Ҳ�����Ƴ����е�ָ����ȵ�ֵ����ʾ��

����Ͽ�ѡ��չ����ZEROFILLʹ��ʱ�� Ĭ�ϲ���Ŀո�������档���磬��������ΪINT(5) ZEROFILL���У�ֵ4����Ϊ00004����ע������������б��泬����ʾ��ȵ�һ��ֵ����MySQLΪ��������������ʱ��ʱ���������⣬��Ϊ����Щ�����MySQL���������ʺ�ԭ�п�ȡ�

�����������Ϳ�����һ����ѡ(�DZ�׼)����UNSIGNED��������Ҫ������ֻ����Ǹ����͸�����Ҫ�ϴ��������ֵ��Χʱ����ʹ���޷���ֵ��

����Ͷ�������Ҳ����ΪUNSIGNED��ͬ�����ͣ������Է�ֹ��ֵ���浽���С�Ȼ�������������Ͳ�ͬ���ǣ���ֵ���Ϸ�Χ���ֲ��䡣

���Ϊһ����ֵ��ָ��ZEROFILL��MySQL�Զ�Ϊ�������UNSIGNED���ԡ�

���ڸ��������ͣ���MySQL�е�����ֵʹ��4���ֽڣ�˫����ֵʹ��8���ֽڡ�

FLOAT�������ڱ�ʾ������ֵ�������͡�SQL��׼�����ڹؼ���FLOAT�����������ѡ����λָ������(������Ϊָ����Χ)��MySQL��֧�ֿ�ѡ��ֻ����ȷ���洢��С�ľ��ȹ涨��0��23�ľ��ȶ�ӦFLOAT�е�4�ֽڵ����ȡ�24��53�ľ��ȶ�ӦDOUBLE�е�8�ֽ�˫���ȡ�

MySQL����ʹ�÷DZ�׼�﷨��FLOAT(M,D)��REAL(M,D)��DOUBLE PRECISION(M,D)�����"(M,D)"��ʾ��ֵһ����ʾMλ����������Dλλ��С������档���磬����ΪFLOAT(7,4)��һ���п�����ʾΪ-999.9999��MySQL����ֵʱ�����������룬��������FLOAT(7,4)���ڲ���999.00009�����ƽ����999.0001��

MySQL��DOUBLE��ΪDOUBLE PRECISION(�DZ�׼��չ)��ͬ��ʡ�MySQL����REAL��ΪDOUBLE PRECISION(�DZ�׼��չ)��ͬ��ʣ�����SQL������ģʽ����REAL_AS_FLOATѡ�

Ϊ�˱�֤�����ܵĿ���ֲ�ԣ���Ҫʹ�ý�����ֵ����ֵ�洢�Ĵ���Ӧʹ��FLOAT��DOUBLE PRECISION�����涨���Ȼ�λ����

DECIMAL��NUMERIC������MySQL����Ϊ��ͬ�����͡��������ڱ������Ϊȷ�о��ȵ�ֵ������������ݡ������������͵���ʱ������(����ͨ��Ҫ)ָ�����Ⱥͱ�ȣ����磺

salary DECIMAL(5,2)

�ڸ������У�5�Ǿ��ȣ�2�DZ�ȡ����ȱ�ʾ����ֵ����Ҫλ������ȱ�ʾС���������Ա����λ����

��MySQL 5.1���Զ����Ƹ�ʽ����DECIMAL��NUMERICֵ��

��׼SQLҪ��salary���ܹ���5λ����λ����λС�������κ�ֵ����ˣ�����������¿��Ա�����salary�е�ֵ�ķ�Χ�Ǵ�-999.99��999.99��

�ڱ�׼SQL�У��﷨DECIMAL(M)�ȼ���DECIMAL(M,0)��ͬ�����﷨DECIMAL�ȼ���DECIMAL(M,0)������ͨ������ȷ��M��ֵ����MySQL 5.1��֧��DECIMAL��NUMERIC�������͵ı�����ʽ��MĬ��ֵ��10��

DECIMAL��NUMERIC�����λ����65���������DECIMAL��NUMERIC�е�ʵ�ʷ�Χ�ܾ����еľ��Ȼ���Լ������������з����ֵС��������λ������ָ���ı������ķ�Χ��ֵ��ת��Ϊ�ñ�ȡ�(������������ϵͳ�йأ���һ����������ȡ�������λ������

BIT�������Ϳ���������λ�ֶ�ֵ��BIT(M)��������洢Mλֵ��M��ΧΪ1��64��

Ҫָ��λֵ������ʹ��b'value'����value��һ����0��1��д�Ķ�����ֵ�����磬b'111'��b'100000000'�ֱ��ʾ7��128���μ�9.1.5�ڣ�"λ�ֶ�ֵ"��

���ΪBIT(M)�з����ֵ�ij���С��Mλ����ֵ�������0��䡣���磬ΪBIT(6)�з���һ��ֵb'101'����Ч�������b'000101'��ͬ��

��Ҫ��һ����ֵ���ڱ���һ��������������Χ��ֵʱ��MySQL�IJ���ȡ���ڴ�ʱ��Ч��SQLģʽ�����ģʽδ���ã�MySQL��ֵ�ü�����Χ����Ӧ�˵㣬������ü��õ�ֵ�����ǣ����ģʽ����Ϊtraditional("�ϸ�ģʽ")��������Χ��ֵ�����ܾ�����ʾ���󣬲��Ҹ���SQL��׼�����ʧ�ܡ��μ�5.3.2�ڣ�"SQL������ģʽ"��

���INT����UNSIGNED���з�Χ�Ĵ�С��ͬ������˵���Ϊ��0��4294967295���������ͼ����-9999999999��9999999999���Է��ϸ�ģʽ���浽���е�ֵ��0��4294967296��

����ڸ���򶨵����з����ֵ����ָ��(��Ĭ��)���Ⱥͱ�ȹ涨�ķ�Χ��MySQL�Է��ϸ�ģʽ�����ʾ��Χ��Ӧ�˵��ֵ��

��MySQLû�й������ϸ�ģʽʱ������ALTER TABLE��LOAD DATA INFILE��UPDATE�Ͷ���INSERT��䣬���ڲü�������ת��������Ϊ���档��MySQL�������ϸ�ģʽʱ����Щ��佫ʧ�ܣ����Ҳ��ֻ�ȫ��ֵ����������ģ�ȡ�����Ƿ��Ϊ�������������ء�����μ�5.3.2�ڣ�"SQL������ģʽ"��