Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom Bar]
[Photo not available]
Jose M. Fernández

���e�ؿ��G
²��
�D�n�S��
�w��
�Ĥ@�B�A �t�κ޲z (�w����)
�b MySQL �U�ϥ� SQL �y��
����


�P�@���pô

MySQL
�@�ظ�Ʈw���A�n��

[Ilustration]

���e�K�n�G MySQL �O�@�ӵ��c�Ƭd�߻y����Ʈw���A���A �åB�䴩�\�h�ت����x�A �����]�A�F Linux�C �� Linux �����O�H�ֳt���į�@���]�p���Ҷq�C




²��

MySQL �O�@�ӵ��c�Ƭd�߻y����Ʈw���A�n��A ���O�@�إD�ЫȦ������ε{���A �ӥB�i�Ѥ@�����A�D���A �γ\�h���Τ�D���@�P�B�@�C

�n�`�J�Q�� SQL ��Ʈw�A �O�@��D�`�������Ʊ��A �]���������^�������p����Ʈw (relational database) �����_�A �ӥ��g�峹���ت��A �ëD���N�n�y�z����h�A �u�O�n�Q��k�Ӵy�z�B �åܽd�Y�ӯS�����γ��X�� SQL ���A�{���C

���ڭ̥��Ӧ^�Ф@�Ǿ��v�ƥ�A ���@�E�K�@�~�ɡA IBM �}�l�� SQL �ˤW���A �B�q���ӮɭԶ}�l�A �o�� SQL �N�b���p����Ʈw���o�i�W�A �����t�ۭ��n����C IBM ���g���X�@�ت����� SQL �������a�зDz��� (ANSI)�A ��ӳQ�q�L�����зǡA �ӥB�q���ӮɭԶ}�l�A SQL �N�s�x���Q�ϥΦb�@�몺���p����Ʈw���C �b���ɡA DB2 �O��������Ʈw���A �̨��w�諸�@�ءA ���O�b 1983 �~�Q�]�p�X�ӡA �j�����Φb�j���D�����ҡC

�b GNU ���@�ɸ̡A MySQL �O Linux ���Ҥ��A �̱`�Q�ޥΨӤ������p����Ʈw���{�����@�C �o�����ε{���A �q�`�O���|�]�t�b�U���w�ˮM�󤤡A �]�������O���� GNU ���n��ϥγ\�i�o�檺�F �p�G�O�ϥΩ�ӷ~���X�A �Φb�䥦���ε{�����ĥΥ��A �N�ݭn���o�\�i�ҷӤ~�i�H�C

���޸�ƶq���j�p�A �o�M��Ʈw���A�n��A ���Q�{�� ( �Ⱥޤw�b MySQL �����̸��� ) �O�t�קֳt�B �t�αj�T���@�� ( ���M�O�b�P�@���Ť��A �P�䥦����Ʈw�ۤ� )�C �ڭ̵��@�U�|�ԲӰQ�ר�A ��ֳt���B�z��O�A �O�˱�Y�� SQL �зǥ\�઺�묹�ӨӡC

MySQL ����l�ɡA �H�Υi�����ɡA �i�H�Φb�G Linux 2.0+, SCO, Solaris 2.5, 2.6, SUNOS 4.x, BSDI 2.x, 3.0, SGI IRIX 6.x, AIX 4.x, DEC UNIX 4.x, HPUX 10.20, Windows 95 ( �A���@��! �S�d���a? )�A �X�G�Ҧ��`�����@�~�t�γ��䴩�F�C

�o�ӧK�O�������A �O�� Michael Windenis �Ҽg���A �t�~�ӷ~���O�� TCX Datakonsulter AB �ҵo��C

�D�n�S��

  • Mysql ���D�n�]�p���ؼСA �O�ֳt�αj�T�C
  • �H C �� C++ �g��, �èϥ� GCC 2.7.2.1 �Ӵ��աA �ϥ� GNU ���۰ʰ����A �ӼW�[�i���ȩʡC
  • �Τ�ݥi�H�� C, C++, JAVA, Perl, TCL �h�ػy���C
  • �䴩�h���B�z���A �p�G�i����o�h�ӳB�z���귽�A ���A�{���i�H�[�H�Q�ΡC
  • �i�H�b�U�����x�Χ@�~�t�ΤW����C
  • �t���K�X�έӤH�ϥ��v���]�w�A �D�`���w�����F���C
  • �Ҧ��g�L�����ǰe���K�X�A ���g�L�[�K�B�z�C
  • ���i�ܤΩT�w���O�� (records) �j�p�C
  • �C�Ӫ��� (table) �i�H�� 16 �ӯ��� (index)�A �C�ӯ��ޥi�H�Ѥ@�ܤQ�������A �Ψ䤤�@�����Ҳզ��A �B�̤j���ץi�H�� 127 �Ӧ줸�� (bytes)�C
  • �Ҧ�����쳣�i�H���w�]�ȡC
  • ���@�Ӥu�� (Isamchk) �i�H�Ψ��ˬd�B �̨ΤơB �H�έץ�����C
  • �Ҧ�����ơA ���O�� ISO8859_1 �榡���x�s�C
  • �Τ�ݥi�H�� TCP �� UNIX �ʥ] (sockets) �өM���A�n�鷾�q�C
  • �b��ܿ��~�T���ɥi�䴩�h��y���C
  • �Ҧ������O���i�� -help �� -? �ӴM�D��U�C
  • ���\�h����������ƫ��A�A �p�G 1, 2, 3, 4 �� 8 �Ӧ줸�ժ���� (int)�B �B�I�� (floats)�B ����ׯB�I�� (double)�B �r�� (character)�B ��� (date)�B �C�| (enum) ���C
  • ���� Windows 95 �ϥΪ� ODBC �X�ʵ{�� (�t��l��)�A �i�� ACCESS �өM���A�n��s���C

�w��

�ܦ۵M�a�A �b�w�˳o�Ӹ�Ʈw���e�A �A�ݭn���쩳�U�����x�U���ɮרӦw�ˡG

http://www.tcx.se


�θg�� FTP :
ftp://ftp.sunet.se/pub/unix/databases/relational/mysql

�����A ���M�n���M�w�n�U����l�ɩΪ̬O�i�����ɡA ��ܥΰ����ɦw�ˡA �|�O��²�檺�w�ˤ�k�A ���L�A �n��o��t�X�ڭ̩ҥΥ��x���i�����ɤ~�� ( �b�̱`�������x�W�A ���M�O�|���� )�C

�����w�˥i������

���U���o���ɡG

mysql-Version.tar.gz

�M��Ѷ}���A�ڱ`�Ϊ���k�p�U�G

  1. �������Y�ɮסG
    gunzip -dfv mysql-Version.tar.gz
  2. �M��� .tar �ɮ׸Ѷ}�G
    tar -xvf mysql-Version.tar

    �ڦb /usr/local �o�ӥؿ��U���� tar �o�өR�O�A�ҥH�Ѷ}���ɮ׷|�O�b
    /usr/local/mysql-3.20.32a-pc-linux-gnu-i586 ���U�C

    �o�ӦW�r�D�`������ΡA �ҥH�ڥH�إߤ@�ӲŸ��쵲 (symbolic link) ���覡�A �N��s�� mysql�G

    > ln -s mysql-3.20.32a-pc-linux-gnu-i586/bin mysql

    �o�ӥؿ����U�]�A�F���U���F��G

    drwxr-xr-x 8192 Nov 24 1993 bin
    drwxr-xr-x 8192 Nov 24 1993 etc
    drwxr-xr-x 8192 Aug 17 1997 i18n
    drwxr-xrx 8192 Mar 16 1994 include
    drwxr-xr-x 8192 Mar 19 02:03 jdk1.1.3
    drwxr-xr-x 8192 Aug 17 1997 jre
    drwxr-xr-x 8192 Mar 16 1994 lib
    lrwxrwxrwx 36 Jan 18 19:40 mysql
    drwxr-xr-x 8192 Feb 5 00:07 mysql-3.20.32a-pc-linux-gnu-i586
    drwxr-xr-x 8192 Nov 24 1993 sbin
    drwxr-xr-x 8192 Nov 24 1993 src

    ���̰��� `cd mysql`�A �N�i�H�ݨ� MySQL ���@�ǥi�����ɡA �@�����`���ܡA �N�i�H�dzƱҰʸ�Ʈw���A�n���o�C

�q��l�X�w��

�ϥΥ��e����k�Ӹ����Y��l�ɡC ���۰���U�����ʧ@�G


cd mysql-Version
./configure
make install

��^�Ӫ���l�X�M��̭��A �q�`�������\�h����w�˵{�Ǫ����C ���@�Ǥv�������ΡB �S�w���x�M�@�~�t�Ωһݪ`�N���ƶ��B �]�w�һݭn���ѼơB �M�@�Ƿj���_�Ӫ� FAQ�C ���Ĥ@���w�ˮɳ��ܶ��Q�ɡA �|���ͤ@�ӧt���i�����ɪ��ؿ��A �N�����e����i�����ɦw�ˮɪ��ɮפ@�ˡC

��ij�ϥΪ̡A �n�b�w�ˤνsĶ�{���譱�A �㦳�������g��A �~�έ�l�ɨӦw�ˡA �ӥB�i��o�ǰʧ@�A �Y�J����D�ɡA �@�w�n���R�Ϊ��ɶ��M�@�ߡC

�Ĥ@�B�A �t�κ޲z (�w����)

�b�ΤW�����쪺����@�ؤ覡�����w�� MySQL �H��A�A���t�θ̭����Ӧ��H�U�o �ӥؿ��G

/usr/local/mysql-3.20.32a-pc-linux-gnu-i586

should contain these files and directories:

-rw-r--r-- 1 root root 4133 Oct 1 1997 INSTALL-BINARY
-rw-r--r-- 1 root root 16666 Oct 7 21:10 INSTALL-SOURCE
-rw-r--r-- 1 root root 24088 Oct 27 23:06 NEWS
-rw-r--r-- 1 root root 3562 Apr 11 1997 PORTING
-rw-r--r-- 1 root root 8512 May 21 1997 PUBLIC
-rw-r--r-- 1 root root 1963 Jul 31 1997 README
-rw-r--r-- 1 root root 3416 Jun 4 1997 TODO
drwxr-xr-x 6 root root 8192 Oct 28 00:44 bench
drwxr-xr-x 2 cuenta1 users 8192 Mar 27 00:42 bin
drwxr-xr-x 5 root root 8192 Mar 31 00:26 data
drwxr-xr-x 2 root root 8192 Oct 28 00:44 include
drwxr-xr-x 2 root root 8192 Oct 28 00:44 lib
-rw-r--r-- 1 root root 132883 Jun 8 1997 mysql-faq.html
-rw-r--r-- 1 root root 117622 Jun 10 1997 mysql-faq.txt
-rw-r--r-- 1 root root 9301 Jun 8 1997 mysql-faq_toc.html
drwxr-xr-x 4 root root 8192 Oct 28 00:44 mysqlperl
drwxr-xr-x 2 root root 8192 Oct 28 00:44 scripts
drwxr-xr-x 3 root root 8192 Oct 28 00:44 share
drwxr-xr-x 2 root root 8192 Oct 28 00:44 tests

�A�i�H�ݬ� README�B TODO�B INSTALL�B mysql-faq ����r�ɡA �H��o��h����w�˪���T�A �o�Ǥ�󳣫ܧ���ӥB��ڡA �ȱo�@�� (�o�g�峹���@�����A �N�O�q�o�̬ݨӪ�)�C

�b /data �ؿ����U�A �|�̤��P�ؿ��A ��m�z�b�o�Өt�ΤW�A �ҫإߪ���Ʈw���e�A �b��w�˧��t�Ϊ��ɭԡA �o���U�|���@�ӦW�� “mysql” ����Ʈw�A ���O�ΨӤ䴩�w���ʥ\��A

�b /bench �ؿ����U���X�� SQL ���O�ɽd�ҡC �S�O�`�N���έ�l�X�w�˪��|���\�\�h�h�Υi�����ɦw�ˮɨS�����d���ɡC

�b /share �ؿ����U�|��m�\�h���P�y�������~�T������ɡC

�P /include �P /lib �ؿ����U�O MySQL �w�ˮM�� ���Ѫ����Y�� (header files) �H�ε{���w�C

�A�@�w�q�o�� /bin ���U�O��i�����ɪ��a�A �o�ǥi�����ɸ̭��̭��n���X�ӬO�G


`mysql'

�@�Ӥ䴩 GNU readline �� SQL �R�O�� (command shell)�A �i�H��ͦ��Χ妸�����B�z SQL ���O�C


`mysqladmin'

MySQL ���޲z�u��A �i�ΨӫإߩΧR����Ʈw�A �Ϊ̥Ψ���o��������T�C


`mysqld'

SQL “deamon” �A�����@���b�I��������C


`mysqlshow'

�Ψ��˵���Ʈw�B �������쪺������T�C


`safe_mysqld'

�ΨӱҰ� “mysqld” ���p�{���C


`mysqlaccess'

�Ψ��ˬd�D�� (Host)�B�ϥΪ� (User) �H�θ�Ʈw (Database) �����J��Y�زզX�ɪ��v���C


`mysqlbug'

�ΨӦ^���b���A�n��̧�쪺���ΡC


`mysql_install_db'

�إߤ@�Ӥ����w�]�v�������j����F �q�`�b�w�˧��@�ӷs�t�ΥH�����C


`isamchk'

�Ψ��ˬd�B�̨ΤƤέץ�����C

�w����

MySQL ���O���t�Υi�H�O�ҨϥΪ̶ȯ����g�L�Y��{�� (authorized) ���u�@ (���h�]����)�C

�t�Χ@���󲧰� (transaction) �ɳ��|�̾� “���ӨϥΪ�” (WHICH USER) �q “���x�D��” (WHICH HOST) �s�W “�S�w��Ʈw” (GIVEN DATABASE) �ӵ��P���P���v���A �t�άO�̾� “mysql” ��Ʈw�̭��� “USER”�B“HOST” �P “DB” �o�T�Ӫ� �檺���e�ӨM�w�O�_��\�Y���ާ@�C


�o�X�Ӫ���̭������p�U�G


��Ʈw�G mysql
Tables
db
host
user


����G db
Field Type Null Key Default Extra
Host char(60)   PRI    
Db char(32)   PRI    
User char(16)   PRI    
Select_priv char(1)     N  
Insert_priv char(1)     N  
Update_priv char(1)     N  
Delete_priv char(1)     N  
Create_priv char(1)     N  
Drop_priv char(1)     N  

����G host
Field Type Null Key Default Extra
Host char(60)   PRI    
Db char(32)   PRI    
Select_priv char(1)     N  
Insert_priv char(1)     N  
Update_priv char(1)     N  
Delete_priv char(1)     N  
Create_priv char(1)     N  
Drop_priv char(1)     N  

����G user
Field Type Null Key Default Extra
Host char(60)   PRI    
User char(16)   PRI    
Password char(16)        
Select_priv char(1)     N  
Insert_priv char(1)     N  
Update_priv char(1)     N  
Delete_priv char(1)     N  
Create_priv char(1)     N  
Drop_priv char(1)     N  
Reload_priv char(1)     N  
Shutdown_priv char(1)     N  
Process_priv char(1)     N  
File_priv char(1)     N  

�A�i�H�ǧ��o�Ǫ����P�ϥΪ̹�Y�@�Ӫ���i���X (SELECT)�B ���J (INSERT)�B ��s (UPDATE) �� �R�� (DELETE) ���ʧ@���v���C

�]��b���]�w�������\�إ� (CREATE)�B�R�� (DROP) ����θ�Ʈw�C

�t�~���쪺�O�A�A�٥i�H�]�w�ϥ� “shutdown”�B “reload”�B“process” ���t���O���v���C

���~�A�i�H�� “mysqlaccess” �o�өR�O��Z (script) ���˵��t�Υثe���U���v���]�w�C

�b�]�w�v���ɡA�D�� (HOST) �����O “host local” �BIP ��} �άO�@�� SQL ���ܦ� (expression)�C���p�b���� “db” �̭� "host" ���O���A �o���ܬO “host” ����̭��� “any host”�F�۹諸�A���p�b���� “host” �� “user” �̭��� "host" ���O���A �N�N���F�����P�����A���إ� TCP �s�u���D���C

"Db" �O����Ʈw���W�١C

�@�Ӫťժ� “USER” ���N�����󪺨ϥΪ̡C

�Ĥ@�B

�Ұ� MySQL ���A�n��̧֪���k�N�O����H�U���O�G

mysql.server start

�Q�n������A�n��i�H����G

mysql.server stop

�p�P�b MySQL ���w�˫��n�����쪺�A �H�W���ʧ@���i�H�ǩR�O��Z safe_mysql �ӹF���A���L���ަp��A���G���O�|���� “mysqld” �o�ӭI���{�� (deamon)�C

�ڭ̫ܮe���i�H�z�ѡA�����n�Ұʸ�Ʈw���A�{���ӹ��Ʈw�i��Ҧ����ާ@�F �����A�{���b�I�����檺�ɭԡA�ڭ̤~�i�H�i�� "mysqladmin" �̪��ާ@ �Amysqladmin ���y�k�p�U�G

mysqladmin [OPTIONS] command command …

�ﶵ OPTIONS �i�H�O�G

-f, --force �b�R�����椧�e���|���n�D�ϥΪ̧@�T�{�ʧ@�A �����R���C
-?, --help ��ܧA���b�ݪ��o�ӻ����T���C
-h, --host=# �s�W�D���C
-p, --password[=...] �s�������A�����K�X�C
-P --port=... �Ψӳs�u���� (Port number)�C
-S --socket=... �Ψӳs�u���ʥ]�ɮ� (Socket file)�C
-u, --user=# �Ψӳs�u���ϥΪ̱b���C
-V, --version ��ܥثe���A�n�骺�����C

�� command �i�H�O�@�өΦh�Ӫ��U�C���O�G

  • create database_name
    �إ߷s����Ʈw�C
  • drop database_name
    �R���o�Ӹ�Ʈw�Ψ䤤���Ҧ�����C
  • kill process_id
    �R���p���� mysql ���@�ӵ{�ǡC
  • processlist
    �C�X�p���� mysql ���Ҧ��{�ǡC
  • shutdown
    �������A�n��C
  • status
    ��ܦ��A�n��ثe�����A�C
  • version
    ��ܦ����A�n�骺�����C

    �|�Ҩ����A����G

    mysqladmin create newdatabase

    �|�s�ؤ@�ӦW�� "newdatabase" ����Ʈw�C

    �n�C�X���b�o�x���A���W�]���Ҧ��{�ǡA�i�H�G

    mysqladmin processlist

    �٦��@�ӭ��n�����O�O "mysqlshow"�A���i�H��ܥثe�Ҧ�����Ʈw�A �|�� �Ө��A���[����Ѽư��� mysqlshow ���ܡG

    > mysqlshow

    	+-----------+
    	| Databases |
    	+-----------+
    	| mysql     |
    	| people    |
    	| test      |
    	+-----------+
    

    �b MySQL �U�ϥ� SQL �y��

    �ڭ̦b���׸̭��w�g���X MySQL �o�M SQL ���A�n��Q�{���O�P���Ū��n�� �̭��t�׳̧֪��@�ӡA�P�ɤ]����ʯ���{�n���N���N�O���ണ�Ѥ@�ǧڭ� �H�{���ܭ��n�� SQL �S�ʡA�䤤��ӥ����Ѫ����n�S�ʴN�OIJ�o�� (Triggers) �P�����޿� (Transactional Logic)�C

    �ҿת�IJ�o�����u�O�@�p�q�{���X�A�o�q�{���X�b��Ʈw�Q�I�H�Y�S�w�� �@ (�p��s�B�R������) �ɴN�|�Q "IJ�o" --����--�A�t����M�n�����B�~ ���귽�Ӵ���IJ�o���QIJ�o������H�κ޲z�o��IJ�o���A�o�N�O MySQL �ä� ����IJ�o�����ߤ@��]�C

    �b���s�ʸ�Ʈw�̭��A �U�Ӫ��� (table) ���������O���@�P�ʡA �O�D�`���n���A SQL ���ѤF�@��²�檺����A �ӫO�ҳo�˪��@�P�ʡG �u�����޿�v�A ���A�n�餣���n���Ѿ������w (blocking) �ɮסA �ӥB�n�Τ@���Ʈw���ާ@�A �æb�Y�ӫ��O�ާ@���H��A �ٯ���h�^���U���O���e�����A�F �n�աA MySQL ���F�ﵽ�B�z���t�סA �ҥH�å����Ѳ����޿� (�ܤ֤��W�O�o�򻡪�)�A �ڭ̰ߤ@�ۧU����k�A �N�O�b��ʸ�Ʈw���e�� LOCK tables/UNLOCK tables �o�ǫ��O�A ����w�ɮפ�����L�ϥΪ̨ӨϥΡA ���L�A �٬O�S��k�����w�g���ƬI�檺�ާ@�C

    ���l�̭��Ҽ{�M���o�M���A�n�骺����H��A ���۸ӨӽƲߴX�� SQL ���O�o�A �o�@�q���ئa�A ���O�n�Ӹ�j�a���R��s SQL ���O�A �u�O�n���j�a�ݬݳo���A�n��A �O�p�󴣨ѳo�ǫ��O�Ӥw�C

    �b�Ұʦ��A�n��H��A �N�����e�X���O���dzƤF�C �{�b�A ���ڭ̨ӫإߤ@�ӦW�r�s�@ "people"�B �̭��t�� "clients"�B "states"�B "counties" �T�Ӫ��檺��Ʈw�A �o�O�@�ӫ�²��A �ӥB���ӹ�Ϊ��d�ҡA ���L�A �w���H���ڭ��A�ѡA �n�p��B�z�b�u��@�ɸ̭�����ơC �������������@�U�A ���o�X�Ӱʧ@�A �i�H�Ϋܦh��k�ӹF���G �A�i�H�Q�� MySQL ���Ѫ����ε{������ (API) �A���g C�B C++ �� JAVA �{���A �b Windows95 ���U�u�@���H�i�H�z�L ODBC �����M MySQL ���q (�j�a�A��̧ڤ@��)�A�Ϊ̤]�i�H�ϥ� MySQL ���Ѫ��R�O�� (shell) �Ӿާ@�C���U�ӧڱN �|��ܥγ̫�@�Ӥ�k�ӥܽd�ާ@�A�]����o �g�峹���ئa�Ө��A�ϥΩR�O �ߨӾާ@��Ʈw�w�g���j�F�A�]�i�H�קK�n�h �y�z�䥦�{���y�����S�ʡC

    �i�H����U�����O�ӱҰ� Mysql ���R�O�ߡG

    mysql databasename

    �U�����O��N�|�i�� MySQL �R�O�ߪ����ܲŸ��U�A �N�i�H�}�l�e���O�����A�n��F�C

    ���~�]�i�H�ΩR�O�ߪ��妸�Ҧ��Ӱ�����O�G

    mysql -e (“SQL command …… “)databasename

    �W�������O�|�� SQL ���O�����e�����A�n��A���|�i�J�R�O�ߪ����ܲŸ��C

    �b�ڭ̪��d�Ҹ̭��A �n���إߤ@�Ӹ�Ʈw "people"�A �ҥH�ڭ̭n������U�����O�G

    mysqladmin create people

    ���ۦA���� MySQL �R�O�ߡG

    mysql people

    �{�b�ڭ̥i�H�}�l�b�R�O�߸̭��A ����O�e���A�������A�n��F�A �Ҧp�i�H�ΤU�����O�A �ݬݳo�Ӹ�Ʈw�̭������Ǫ���G

    > show tables /g

    �t���^���O�G


    Database: people
    	+-------------+
    	|   Tables    |
    	+-------------+
    	| clients     |
    	| counties    |
    	|  states     |
    	+-------------+
    

    �Ҧ��ѩR�O�߰e����A�n�骺���O���n�H /g �����A �Ψӧi�D�t�Ϋ��O�����A �i�H�e����A���ݥh����F�C

    �b�A���t�ΤW���A �i��L�k�o��p�W�ҭz���t�Φ^���A ���M�աA �Q�n�o��p���^�����ܡA �N�������� CREATE ���O�A �ӫإ߬���������~��A �A�i�H�ΤU���o�X�Ө嫬�� CREATE ���O�A �إ߳o�T�Ӫ���G

    	CREATE TABLE clients
    (NIF CHAR(9) NOT NULL PRIMARY KEY, Name CHAR(15) NOT NULL, Family_name CHAR(35) NOT NULL, Address CHAR(50) NOT NULL, City INT(5) NOT NULL, State INT(2) NOT NULL, Phone INT(9), Date DATE NOT NULL) /g

        CREATE TABLE states    
    (Cod_state INT(2) NOT NULL PRIMARY KEY, Description_s CHAR(30) NOT NULL) /g

        CREATE TABLE counties  
    	      (Cod_state           INT(2)    NOT NULL,
    	       Cod_county          INT(3)    NOT NULL,
    	       Description_c       CHAR(30)  NOT NULL,
    	          PRIMARY KEY(Cod_state,Cod_county)) /g          
    

    ���ۡA �i�H�b�إߦn���椧��A ����U�����O�G

    > show colums from clients from people /g
    > show columns from states from people /g
    > show columns from counties from people /g

    �ڭ̱N�|�o��G

    Database: people   	Table: clients   Rows: 4
    +--------------+----------+------+-----+---------+-------+
    | Field        | Type     | Null | Key | Default | Extra |
    +--------------+----------+------+-----+---------+-------+
    | NIF          | char(9)  |      |PRI  |         |       |
    | Name         | char(15) | YES  |     |         |       |
    | Family_name  | char(35) |      |     |         |       |
    | Address      | char(50) |      |     |         |       |
    | City         | int(5)   |      |     |   0     |       |
    | State        | int(2)   |      |     |   0     |       |
    | Phone        | int(9)   | YES  |     |         |       |
    | Date         | date     | YES  |     |         |       |
    +--------------+----------+------+-----+---------+-------+
    
    Database: people   	Table: states      Rows: 3
    +-----------------+----------+------+-----+---------+-------+
    | Field           | Type     | Null | Key| Default  | Extra |
    +-----------------+----------+------+-----+---------+-------+
    | Cod_state       | int(2)   |      | PRI |    0    |       |
    | Descripcion_s   | char(30) |      |     |         |       |
    +-----------------+----------+------+-----+---------+-------+
    
    Database: people   	Table: counties    Rows: 9
    +------------------+----------+------+-----+---------+-------+
    | Field            | Type     | Null | Key| Default  | Extra |
    +------------------+----------+------+-----+---------+-------+
    | Cod_state        | int(2)   |      | PRI |   0     |       |
    | Cod_county       |  int(3)  |      | PRI |   0     |       |
    | Descripcion_c    | char(30) |      |     |         |       |
    +------------------+----------+------+-----+---------+-------+
    

    ���U�ӭn�i�檺�O�A �b�C�Ӫ���̭����J (insert) ��ơF ���ڭ̥� INSERT �o�� SQL ���O�ӹF���u�@�A �𶷨ϥΨ��L�{���y���A �Υ������ε{�������{�� (API routine)�G

    �H�U�C���O�b "clients"�B"counties" �H�� "states" �o�T�Ӫ���̡A �U���J�@����ơG

    INSERT INTO clients VALUES
    ("5316828K","PEDRO","ROMERO DIAZ","C/ HOLA 9 ",29003,29,911111111,19980203)
    /g

    INSERT INTO counties VALUES
    (28,001,"Fuenlabrada") /g

    INSERT INTO states VALUES
    (08,"Barcelona") /g

    �̫�@�@���`���A �� SQL ���O�A �N��贡�J��Ʈw����̭�����Ʀ�A ��� (select) �X�ӡA ���ڭ̥��q "counties" �o�Ӫ����X Cod_state �� 28 �������A �A�̤��P���������q "clients" �̭��A ��X�Q�n�������G

    > SELECT ALL Cod_state, Cod_county, Description_c from counties where Cod_state = 28 /g
    Cod_state	Cod_county	Description_c
    28              1               Fuenlabrada
    28              2               Pozuelo
    28              3               Madrid
    
    > SELECT ALL NIF,Name,Family_name,Address from clientes where City = 28001
    NIF Name Family_name direccion
    2416728U JOSE FERNANDEZ ROMERO C/ FELIZ 1 3G


    > SELECT ALL NIF,Name,Family_name,Address from clients
    where State = 29

    NIF        Name           Family_name           Address   
    23198623N  JUAN ANDRES    RUIZ MORALES          C/ CATEDRAL 12 2B
    5316828K   PEDRO          ROMERO DIAZ           C/ HOLA 9
    52312844J  LUIS ALBERTO   LISTO JIMENEZ         C/ ROSA DE LOS VIENTOS 129  3I  
    

    ����

    �ڭ̦b�@�}�Y�A �w�g�����F�o����󪺥ؼСA �O�b��i�ܬY�ӯS�w SQL ���A�n�� (MySQL) ���򥻯S�ʡA �ڭ̨ä��Q�n��o������Y���� MySQL ���ϥΨB�J�Ϋ��O�C���A ���ӥN�����O�A �ڭ̧Ʊ�b�o�̡A ��s�@�U�o�M�n�骺�i��ʻP����Ҧb�F �u�����p���`�J���A�Ѥ@�M�n��A �~����u������o�o�M�n�鴣�Ѫ����j�n�B�A MySQL �ٲ��F����IJ�o���H�β����޿�A �]�Өϱo��ƪ��޲z (���J�B�ק�B�R������) �b�h�ϥΪ̪����ε{���A �H�ΨϥΨ�\�h�Ӭۤ����s������ɡA �ܱo�D�`�����C ���M�p���A �b���Ψ�ݭn��j����Ʈw�@�ֳt�s�����ɭԡA �ڷ|����ϥγo�M�n��C

    �̫�ګַܼN�i�D�j�a�A �o�����̭��j��������ơA ���i�H�b�]�t�� MySQL �M��̭�����󤤧��A �t�~�@�����A �h�O�ڦb�X�g�޳N�����x���峹�A �٦��@���w�g�o���� IBM ���� SQL ����U�̭��ݨӪ��C


����� �������B �G�쩾 ��½Ķ

�D������ Miguel Angel Sepulveda ���@
© Jose M. Fernández 1998
LinuxFocus 1998