mysql-logo.gif (3082 bytes)MySQL���IJο��ֲ�


��һ��, ǰһ��, ��һ��, ����һ��


21 �����Ա�MySQL���������ݿ�

21.1 �����Ա�MySQL��mSQL

��һ����MySQL�����߱�д������Ӧ�����ǵ��Ķ���������û��������˵����ʵ������

��������֧�ֵ����ơ����������͵�һ���б�����crash-me��ҳ��

����
�����ٶȵ���ʵ�Ƚϣ����̲��ϳ�����MySQL��׼�׼�����10.8 ʹ�����Լ��Ļ�׼����Ϊû���̴߳���������һ����С���﷨�����������ٹ��ܺͼ򵥵İ�ȫ�ԣ�mSQLӦ�������з�������Щ��

��Ϊ��Щ���������˼򵥣������и��ߵ���������ʱ����������Щ�������ø��á������ӱ������Ժ���MySQLӦ�����ܺ�һЩ������һ���棬MySQL��mSQL���Լ�������������SQLʵ��)�����з�������Щ��

SQL����
���̿ռ�Ч��
��������ʹ���ı��ж�С��MySQL�кܾ�ȷ�����ͣ����������Դ���ռ�ݺ�С�ռ��ı���һ�����õ�MySQL�������͵�������MEDIUMINT������3���ֽڳ�����������100,000,000����¼��ÿ����¼��ʡ����һ���ֽ�Ҳ�Ǻ���Ҫ�ġ�mSQL2��һ�������޵������ͼ��ϣ����˸�����ʹ����С��
�ȶ���
�����ѿ͹۵����ۡ�����MySQL�ȶ��Ե����ۣ���1.5 MySQL�ж�ô�ȶ���������û��mSQL�ȶ��Եľ��飬�������ǶԴ˲���˵�κζ�����
�۸�
��һ����Ҫ������������֤��MySQL��һ����mSQL������������֤������Ҳ����mSQL������������ѡ��ʹ���ĸ���Ʒ���ǵ�Ҫ���ٿ���֧��һ������֤�������ʼ�֧�ֵķ��á�����Ȼ�������������۵�һ����Ʒ������MySQL�У��㽫��Ҫ������һ������֤����
Perl�ӿ�
MySQL����mSQL������ͬPerl�ӿڣ�����һЩ���ӵĹ��ܡ�
JDBC ( Java ��
MySQLĿǰ��4��JDBC����������

�Ƽ�������������twz��mm�������������߾�������������ɫ������֪��mSQL��һ�� JDBC �������򣬵������Ƕ�����̫�ٵľ��鲻�ܽ��бȽϡ�

�����ٶ�
MySQL��һ���dz�С�Ŀ����߶��飬���������Ƿdz�ϰ������C��C++���룬�dz����١���Ϊ�̡߳�������GROUP BY����mSQL����δʵ�֣����кܶ�׷�Ϲ���Ҫ����Ҫ���õ���������һЩǰ���������Բ鿴mSQL����һ���� ��HISTIRY���ļ�����������MySQL�ο����ֲ����¹���С�ڱȽ�(��D MySQL��Ǩ��ʷ)���ĸ��쿪��������Ӧ�����൱���Եġ�
ʵ�ó���
mSQL��MySQL����������Ȥ�ĵ��������ߡ���Ϊ������ֲ(��mSQL��MySQL)�Ǻ����׵ģ���������mSQL���õ���Ȥ��Ӧ�ó���Ҳ�ɱ�MySQLʹ�á�MySQL����һ���򵥵�msql2mysql����������mSQL��MySQLʹ�õĴ�����C API����֮��ƴд���������磬����msqlConnect()ʵ���ı�Ϊmysql_connect()���任һ���ͻ�������mSQL��MySQLͨ����������ʱ�䡣

21.1.1 ������mSQL�Ĺ���ת����MySQL

�������ǵľ��飬ת������ʹ��mSQL C API��msql-tcl��msqljava���߽�ֻ������һСʱʱ�䣬ʹ��������MySQL C API������

ת�������ǣ�

  1. ��Դ�������������ǽű�msql2mysql������Ҫreplace����������MySQLһ��ɢ����
  2. ���롣
  3. �����������������

mSQL C API��MySQL C API ֮�������ǣ�

21.1.2 mSQL��MySQL�Ŀͻ���/������ͨѶЭ���кβ�ͬ

���㹻�IJ���ʹ�ò�����(�����ٲ�����)֧�����ߡ�

��MySQLЭ�鲻ͬ��mSQLЭ��������Ҫ�ķ����������棺

21.1.3 mSQL 2.0��SQL�䷨��MySQL�кβ�ͬ

������

MySQL
�����ж���������(�Ƚ������ģ���7.7 CREATE TABLE�䷨)�� ��
MySQLҲ֧�����ж������������ԣ�
mSQL2
mSQL�����Ͷ�Ӧ��MySQL������ʾ�����棺
mSQL���� ��Ӧ��MySQL����
CHAR(len) CHAR(len)
TEXT(len) TEXT(len)��len�����󳤶ȡ�����LIKE�����á�
INT INT���кܶ���ѡ�
REAL REAL����FLOAT����4��8�ֽڰ汾��
UINT INT UNSIGNED
DATE DATE��ʹ�� ANSI SQL ��ʽ����mSQL�Լ��ġ�
TIME TIME
MONEY DECIMAL(12,2)����2��С��λ�Ķ���ֵ��

��������

MySQL
���������ڱ�����ʱ��CREATE TABLE����ָ����
mSQL
�ڱ����������Ժ����������뱻�������õ�����CREATE INDEX���䡣

��һ��Ψһ��ʶ�����뵽һ�ű���

MySQL
ʹ��AUTO_INCREMENT��Ϊ���������η�����20.4.29 mysql_insert_id()��
mSQL
��һ�ű��ϴ���һ��SEQUENCE����ѡ��_seq�С�

Ϊ�л���һ��Ψһ��ʶ��

MySQL
����������һ��PRIMARY KEY��UNIQUE����
mSQL
ʹ��_rowid�С�ע��_rowid���Խ����ı䣬ȡ���ںܶ����ء�

�õ����������޸ĵ�ʱ��

MySQL
�ڱ�������һ��TIMESTAMP�С������㲻������ֵ������������һ��NULLֵ�������Զ�ΪINSERT��UPDATE��������Ϊ��ǰ�����ں�ʱ�䡣
mSQL
ʹ��_timestamp�С�

NULLֵ�ıȽ�

MySQL
MySQL����ANSI SQL����NULL�ıȽ�����NULL��
mSQL
��mSQL�У�NULL = NULL��TRUE���棩������mSQL��MySQL��ֲ�ϵĴ���ʱ�������뽫=NULL��ίIS NULL������<>NULL��ΪIS NOT NULL��

�ַ����ıȽ�

MySQL
ͨ�����ַ����Ƚ��Դ�Сд�޹ط�ʽ����ǰ�ַ���(ȱʡΪISO-8859-1 Latin1)��������������ʵʩ�������㲻ϲ��������������������BINARY���ԣ���ʹ�ñȽϸ�������MySQL�����������ϵ�ASCII˳�����С�
mSQL
���е��ַ����Ƚ��Դ�Сд���еķ�ʽ��ASCII˳�����������С�

��Сд�����е�����

MySQL
LIKE��һ����Сд�����л���Сд���е�����������ȡ�����漰���С�����LIKE��������һ��ͨ�����ַ���ʼ�����п��ܣ�MySQL��ʹ��������
mSQL
ʹ��CLIKE��

β���ո��Ĵ���

MySQL
��ȥCHAR��VARCHAR��β���Ŀո���������ϣ��������Ϊ��ʹ��һ��TEXT���С�
mSQL
����β���Ŀո���

WHERE�Ӿ�

MySQL
MySQL��ȷ�����Ȼ��κζ���(AND��ORǰ����)��Ҫ����MySQL���õ�mSQL����Ϊ��ʹ������(������ʾ)��
mSQL
�������Ҽ����κζ���������ζ�ų���3��������һЩ�߼����㲻�����κη�ʽ��ʾ����Ҳ��ζ�ŵ���������MySQLʱ���������ı�һЩ��ѯ����ͨ���������ź������������㡣�ٶ���������mSQL��ѯ��
mysql> SELECT * FROM table WHERE a=1 AND b=2 OR a=3 AND b=4;

Ϊ��ʹMySQL��mSQL�������������������������ţ�

mysql> SELECT * FROM table WHERE (a=1 AND (b=2 OR (a=3 AND (b=4))));

��ȡ����

MySQL
�б����洢��ÿ���û������������ݿ�����Ȩ(����)ѡ���6.6 Ȩ��ϵͳ���ι�����
mSQL
��һ���ļ���mSQL.acl��������������Ϊ�û���Ȩ��/дȨ�ޡ�
��

21.2 �����Ա�MySQL��PostgreSQL

PostgreSQL��һЩ���߼��Ĺ����綨���û����͡���������������һЩ����֧�֡�Ȼ����PostgreSQL ȱ���ܶ����� ANSI SQL��ODBC�ĺܶ���׼���ͺͺ���������һ�������������б�����֧�ֻ���֧����һ�����ͺͺ�������crash-me��ҳ��

ͨ����PostgreSQL�DZ�MySQL���ܶࡣ��10.8 ʹ�����Լ��Ļ�׼�����󲿷����������ǵ�����ϵͳ��������ȷʵ��Ҫ������PostgreSQL�ṩ�ķḻ��������ϵ�������ܳ����ٶȵ���ʧ����Ӧ�ÿ��� PostgreSQL��


��һ��, ǰһ��, ��һ��, ����һ��