���룺����(yanzi) ��ҳ��http://aosp.me
��һ��, ǰһ��, ��һ��, ���һ����Ŀ¼.
����MySQL�ڷ�������֮ǰ��������ƽ̨�ϱ����ԡ��Ⲣ����ζ����MySQL��û���κδ���������д��������Ǻ��ٵIJ��Һ����ѷ��֡��������һ�����Ⲣ������㳢���ҳ�������ʲô�ݻ������ϵͳ�����������а����ģ���Ϊ�㽫��һ�����û���ʹ��������������
������Ӧ�������ҳ�����mysqld
�ػ������Ƿ���������������Ƿ�����Ŀͻ��йء��������mysqladmin
version
������mysqld
����������ִ���˶ʱ�䣬���mysqld
���ˣ���������ļ���mysql-data-directory/'hostname'.err�����ҵ���ԭ��
��Ϊ����֪��һЩ����Ϊʲô�������������ż��Ϊ�����˹����Ķ����Ƿ�ʹ��������볢���������飺
mysqladmin shutdown
ֹͣmysqld
�ػ����̣������б�������myisamchk
--silent --force */*.MYI
������mysqld
�ػ������̡��⽫��֤���һ���ɾ���״̬���С���13 ά��MySQL��װ��mysqld --log
�������Ŵ���־��Ϣȷ���Ƿ���ij���ض��IJ�ѯɱ���˷�������ȫ�������95%���ض��IJ�ѯ�йأ�ͨ����������־�ļ��о���MySQL����֮ǰ������ѯ֮һ����Ҳ������ʹ�����й�����֤����mysqladmin shutdown
)��myisamchk -s */*.MYI
��������֤���б�����ȷ�ġ�������κα�������myisamchk
-r path-to-table.MYI
������safe_mysql --log
������������mysqld
���������������ͨ���ָ����ݲ�ִ��mysql
< mysql-log-file
�����������Ƿ���һ���ض��IJ�ѯ����ġ���Ȼ�����ͨ����safe_mysqld
--data=path-to-backup-directory
������һ��MySQL����������ij������Ŀ¼�����DZ�MySQL���ݿ�Ŀ¼��������IJ��ԡ�fork_test.pl
��fork2_test.pl
��--with-debug
ѡ���configure
��������MySQLȻ�����±��롣��G.1 ����һ�� MySQL ��������mysql
��--skip-locking
ѡ��.��һЩϵͳ�ϣ�lockd
��������������ȷ������--skip-locking
ѡ�����mysqld
��ʹ���ⲿ����������ζ���㲻����ͬһ����������������mysqld
���������������ʹ��myisamchk
����һ��ҪС�ģ���������Ϊ�˲�������ѡ��������档��mysqld
�����������е�û�з�Ӧʱ���㳢�Թ�mysqladmin
-u root processlist
����ʱmysqld
���Ǻ���Ӧ�����������������Ϊ������������������õ����ӣ���������ڲ��������⡣mysqladmin
processlist
��������Щ����½�ͨ�����Խ���һ�����ӣ��������ṩ�йص�ǰ������������״̬��������Ϣ��mysqladmin -i 5
status
������ͳ�ơ�gdb
��������������)����mysqld
��mysqld
�����㵹(core dump)����back
������������еĻ���-backtrace����)��BLOB/TEXT
��(���ǽ�VARCHAR
��)���������ALTER
TABLE
���Ž�ȫ��VARCHAR
��ΪCHAR
���⽫ǿ��MySQLʹ�ù̶��ߴ���С��̶��ߴ����ռ�ݺ�С�Ķ���ռ䣬���Ǹ������̱�������ǰ��̬�еĴ�����
TCX ����ʹ��3
���ʱ�䣬û���κ����⣬���Ǵӱ����Ͻ�����̬���ȵ��жԴ�������У����������������а���������һ�¿�����һ�������⣡ MySQL server has
gone away
������С��Ҳ�漰�й�Lost connection to server during query
�Ĵ���
��MySQL server has gone away
���������ԭ���Ƿ�������ʱ�˲��ҹر������ӡ�ȱʡ�أ����û�����鷢������������
8��Сʱ��ر����ӡ����������mysqldʱͨ������wait_timeout
�����ı�ʱ�����ơ�
�����ͨ��ִ��mysqladmin version
���Ҽ����������е�ʱ�������MySQL��û������
�������һ���ű�����ֻ���ٷ�����ѯ�ÿͻ�����һ���Զ����������ӡ�
���������£���ͨ���ܻ�����д������(��õ�����OS��ص�)��
CR_SERVER_GONE_ERROR |
�ͻ����ܷ���һ��������������� |
CR_SERVER_LOST |
��д������ʱ���ͻ�û�г�����������û�еõ��������һ�������Ĵ�(���κδ�)�� |
���������������Ͳ���ȷ�Ļ�̫��IJ�ѯ����Ҳ���ܵõ���Щ�������mysqld
�õ�һ��̫��������İ�������Ϊ�ͻ������˲��ر����ӡ��������Ҫ�ϴ�IJ�ѯ(���磬��������ڴ����ϴ��BLOB
��)�������ʹ��-O
max_allowed_packet=#
ѡ��(ȱʡ1M)����mysqld
�����Ӳ�ѯ���ơ�������ڴ水����䣬����mysqld
ֻ�����㷢���ϴ��ѯʱ��mysqld
���뷵�ؽϴ�Ľ����ʱ����ʹ�ø�����ڴ棡
Can't connect to [local] MySQL server
����һ��MySQL�ͻ��������ֲ�ͬ�ķ�ʽ����mysqld
��������Unix���֣���ͨ�����ļ�ϵͳ�е�һ���ļ�(ȱʡ��/tmp/mysqld.sock��)�������ӣ���TCP/IP����ͨ��һ���˿ں����ӡ�Unix���ֱ�TCP/IP���죬����ֻ����������ͬһ̨������ϵķ�����������㲻ָ���������������ָ�������������localhost
��ʹ��Unix���֡�
����(2002��Can't connect to ...
ͨ����ζ��û��һ��MySQL������������ϵͳ�ϻ���ͼ����mysqld
������ʱ��������ʹ��һ������������ļ���TCP/IP�˿ڡ�
�ɼ��(ʹ��ps
)����ķ���������һ����Ϊmysqld
�Ľ������������û���κ�mysqld
���̣���Ӧ������һ������4.15.2 ����MySQL��������������
���һ��mysqld
�����������У������ͨ��������Щ��ͬ����������������(��Ȼ���˿ںź�����·������������İ�װ���Dz�ͬ��)��
shell> mysqladmin version shell> mysqladmin variables shell> mysqladmin -h `hostname` version variables shell> mysqladmin -h `hostname` --port=3306 version shell> mysqladmin -h 'ip for your host' version shell> mysqladmin --socket=/tmp/mysql.sock version
ע��hostname
����ʹ�÷����š�`�����������š�'������Щ����hostname
�����������ǰ������)�������mysqladmin
������
���ǿ������Can't connect to local MySQL server
�����һЩԭ��
mysqld
�������� mysqld
ʹ��
MIT-pthreads ����������4.2 ��MySQL֧�ֵIJ���ϵͳ��Ȼ����MIT-pthreads��֧��Unix���֣���˵������������ʱ��������һ��ϵͳ�ϣ������DZ�����ȷ��ָ��������������ʹ����������鵽�����������ӣ�shell> mysqladmin -h `hostname` version
mysqld
ʹ�õ�Unix����(ȱʡ��/tmp/mysqld.sock��)���������һ��cron
����ɾ����MySQL����(���磬һ���Ѿ��ļ�����/tmp��Ŀ¼��ɾ��������)�������ǿ�������mysqladmin
version
���Ҽ��mysqladmin
������ͼʹ�õ�����ȷʵ���ڡ�����������£���������ɾ��cron
�������ɾ����mysqld.sock
�����ַ��������ط������������������MySQL����ʱָ��һ����ͬ�����ֵص㣺shell> ./configure --with-unix-socket-path=/path/to/socket
��Ҳ����ʹ��--socket=/path/to/socket
ѡ������safe_mysqld
�����������MySQL�ͻ�ǰ���û�������MYSQL_UNIX_PORT
Ϊ����·�����������--socket=/path/to/socket
ѡ������mysqld
�������������ı��˷�����������·��������Ҳ����֪ͨMySQL�ͻ�������·��������������ͨ�����û�������MYSQL_UNIX_PORT
Ϊ����·���������ṩ����·������Ϊ�ͻ��IJ���������������������������֣�
shell> mysqladmin --socket=/path/to/socket version
mysqld
�߳�(����������һ���µ�MySQL������֮ǰ��������mysql_zap
�ű�������18.1 ���MySQL���DZ�����ô���������õ�����Can't connect to MySQL server on some_hostname
������Գ������в����ҳ�������ʲô��
telnet your-host-name tcp-ip-port-number
���Ұ����λس������������Ƿ��������С������һ��MySQL����������˿��ϣ���Ӧ�õõ�һ�������������е�MySQL�������İ汾�ŵ�Ӧ�������õ�������telnet:
Unable to connect to remote host: Connection refused
��һ��������ôû�з�������ʹ�õĶ˿������С�mysqld
�ػ����̣�����mysqladmin
variables
���mysqld������ʹ�õ�TCP/IP�˿�(����port
)�� mysqld
������û����--skip-networking
ѡ��������
Host '...' is
blocked
���������õ���������һ������
Host 'hostname' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts'
����ζ�ţ�mysqld
�Ѿ��õ��˴���(max_connect_errors
)������'hostname'
������;���ж��˵�����������max_connect_errors
��ʧ�������mysqld
�϶�������(������һ���ڿ͵Ĺ���)��������ֹ��վ���һ�������ӣ�ֱ��ij��ִ������mysqladmin
flush-hosts
��
ȱʡ�أ�mysqld
��10�����Ӵ��������һ̨�����������ͨ�����������������������ص�������
shell> safe_mysqld -O max_connect_errors=10000 &
ע�⣬�Ը���������������õ�����������Ϣ����Ӧ�����ȼ���������TCP/IP������û�����⡣������TCP/IP���Ӳ������У�����max_connect_errors
������ֵ����Ҳ�����а�����
Too many connections
�������������������MySQLʱ����õ�����Too many
connections
������ζ���Ѿ���max_connections
���ͻ�������mysqld��������
�������Ҫ��ȱʡ(100)��������ӣ���ô��Ӧ������mysqld
���ø����
max_connections ����ֵ��
ע�⣬mysqld
ʵ��������(max_connections+1)���ͻ����ӡ����һ��������Ϊһ����Process
Ȩ���û������ġ�ͨ���������Ȩ��һ���û�(���Dz�Ӧ����Ҫ��)�������Ȩ��һ������Ա���Ե�¼����ʹ��SHOW
PROCESSLIST
�ҳ�ʲô���ܳ�������7.21
SHOW
�䷨(�õ������е���Ϣ����
Out of
memory
��������㷢����ѯ���ҵõ�����������Ĵ���
mysql: Out of memory at line 42, 'malloc.c' mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k) ERROR 2008: MySQL client ran out of memory
ע�⣬����ָ����MySQL����mysql
����������ԭ��ܼ��ͻ�û���㹻���ڴ�洢ȫ�������
Ϊ������������⣬���ȼ����IJ�ѯ�Ƿ���ȷ����Ӧ�÷�����ô����У������������������������ʹ��mysql
--quick
����ʹ��mysql_use_result()
����������ϡ��⽫���ٵĸ��������˿ͻ���(ֻ�Ƿ���������)��
Packet
too large
������һ��MySQL�ͻ���mysqld
�������õ�һ����max_allowed_packet
���ֽڳ��İ���������һ��Packet
too large
������ֹ���ӡ�
���������ʹ��mysql
�ͻ��������ͨ����mysql
--set-variable=max_allowed_packet=8M
ָ��һ������Ļ������������ͻ�����
���������ʹ�ò�������ָ��������С�������ͻ�(���� DBI
)������Ҫ��������������ʱ���ð���С�������ʹ��mysqld
��������ѡ������max_allowed_packet
Ϊһ������ijߴ硣���磬�������������һ��ȫ����BLOB
����һ�ű��У��㽫��Ҫ��--set-variable=max_allowed_packet=24M
ѡ����������������
��
The table is full
����������������ڴ���ʱ����ñ�tmp_table_size
�ֽڴ�ʱ��Ϊ�˱���������⣬�����ʹ��mysqld
��-O
tmp_table_size=#
ѡ����������ʱ���Ĵ�С�������㷢�������ʵIJ�ѯ֮ǰʹ��SQLѡ��SQL_BIG_TABLES
����7.25 SET OPTION
�䷨��
��Ҳ����ʹ��--big-tables
ѡ������mysqld
������Ϊ���в�ѯʹ��SQL_BIG_TABLES
��ȫ��ͬ��
Commands out of sync
in client�������������Ŀͻ������еõ�Commands out of sync; You can't run this
command now
���������Դ���Ĵ�����ÿͻ�������
����ܷ��������磬���������ʹ��mysql_use_result()
���������Ѿ�������mysql_free_result()
֮ǰ��ͼִ���²�ѯ���������mysql_use_result()
��mysql_store_result()
֮����ͼִ�з������ݵ�2����ѯ����Ҳ���ܷ�����
Ignoring
user
���������õ����д���
Found wrong password for user: 'some_user@some_host'; Ignoring user
�������mysqld
����ʱ�������ٴ�װ��Ȩ�ޱ�ʱ������user
�����ҵ���һ����һ����Ч�������Ŀ���������Ŀ�ر�Ȩ��ϵͳ���ԡ�
���ܵ�����������ԭ���������
user
�����°汾mysqld
�������ͨ��ִ��mysqlshow
mysql user
���������ֶ��Ƿ����� 16���ַ��������������������������ͨ������scripts/add_long_password
�ű��������������--old-protocol
ѡ������mysqld
����һ���¿��������user
���е��û�����--old-protocol
����mysqld
��PASSWORD()
��������user
����ָ����һ�����ʹ��mysql
��һ���¿��������user
���е��û���ȷ��ʹ��PASSWORD()
������mysql> update user set password=PASSWORD('your password') where user='XXX';
Table 'xxx' doesn't exist
���������õ�����Table 'xxx' doesn't exist
��Can't find file:
'xxx' (errno: 2)
������ζ���ڵ�ǰ���ݿ���û����Ϊxxx
�ı����ڡ�
ע�⣬��ΪMySQLʹ��Ŀ¼���ļ��洢���ݿ�ͱ������ݿ�ͱ����������ִ�Сд��������Win32�ϣ����ݿ�ͱ����������ִ�Сд�ģ������ڲ�ѯ�ж����б������ñ���ʹ����ͬ�Ĵ�Сд����
�������SHOW TABLES
������ڵ�ǰ���ݿ������ĸ�������7.21 SHOW
�䷨(�õ������е���Ϣ����
������һ��������������ʱ��MySQL���������飺
Ϊ�˻���������⣬����Բ�ȡ�����ж���
mysqladmin kill
���̡߳�����һ�μ�����ʱ���߳̽�������(��1������)��һ��أ�mysql
�ͻ��������Ե�ʹ�ã���������
shell> mysql database
Ȼ����Ҳ�������SQL�������һ���ļ��в��Ҹ���mysql
�Ӹ��ļ���ȡ�����롣Ҫ��������������һ���ı��ļ���text_file��������������Ҫִ�е����Ȼ��������������mysql
��
shell> mysql database < text_file
��Ҳ��������һ��USE db_name
�����ı��ļ�������������£�����������ָ�����ݿ����Dz���Ҫ�ģ�
shell> mysql < text_file
��12.1 ��ͬ��MySQL���������
MySQLʹ��TMPDIR
����������ֵ��Ϊ�洢��ʱ�ļ���Ŀ¼��·�����������û������TMPDIR
��MySQLʹ��ϵͳȱʡֵ����ͨ������/tmp������/usr/tmp����������������ʱ�ļ�Ŀ¼���ļ�ϵͳ̫С����Ӧ�ñ༭safe_mysqld
�趨TMPDIR
ָ�������㹻�ռ��һ���ļ�ϵͳ����Ҳ����ʹ��mysqld��--tmpdir
ѡ��Ŀ������ʱĿ¼��
MySQL�ԡ������ļ�������������ʱ�ļ����Ᵽ֤�����mysqld
����ֹ����ʱ�ļ�Ҳ����ɾ����ʹ�������ļ���ȱ�����㽫������һ�������ʱ�ļ���������ʱ�ļ�Ŀ¼���ڵ��ļ�ϵͳ��
������(ORDER BY
��GROUP BY
)ʱ��MySQLͨ��ʹ��һ����������ʱ�ļ��������̿ռ������ǣ�
(�洢�����ij��� + sizeof (���ݿ�ָ��)) * ƥ������� * 2
sizeof(���ݿ�ָ��)
ͨ����4��������δ����ȷʵ�ܴ�ı��������ӡ�
��һЩSELECT
��ѯ��MySQLҲ������ʱSQL������Щû������������SQL_*����ʽ�����֡�
ALTER TABLE
��OPTIMIZE TABLE
��ԭ���ݿ����ͬһ��Ŀ¼�д���һ����ʱ����
�������������⣬��ʵ���κ��˿���ɾ��MySQLͨѶ������/tmp/mysql.sock������Unix�Ĵ�����汾�ϣ�����ͨ��Ϊ������sticky
��t��λ�����������/tmp���ļ�ϵͳ����Ϊroot
��¼�������������飺
shell> chmod +t /tmp
�⽫���������/tmp���ļ�ϵͳʹ���ļ����������ǵ��������û�(root
)ɾ����
����ִ��ls -ld /tmp
���sticky
λ�Ƿ����ã�������һλ����λ��t
����λ�������ˡ�
Access denied
������6.6 Ȩ��ϵͳ��ι����������ر�Ҫ��6.13 ����Access denied
�����ԭ����
MySQL������mysqld
�ܱ��κ��û����������С�Ϊ�˽�mysqld
����Unix�û�user_name
�����У���������������飺
mysqladmin shutdown
)��user_name
��Ȩ����д�ļ�(�������Ҫ��ΪUnix��root
�û���������)��shell> chown -R user_name /path/to/mysql/datadir
�����MySQL����Ŀ¼�е�Ŀ¼���ļ��Ƿ������ӣ���Ҳ����Ҫ˳����Щ���Ӳ��ı�����ָ���Ŀ¼���ļ���chown
-R
���ܸ���������ӡ�
user_name
�û������������������������ʹ��MySQL
3.22���Ժ�汾����Unix root
�û�����mysqld
��ʹ��--user=user_name
ѡ�mysqld
���ڽ����κ�����֮ǰ�л�����Unix
user_name
�û����С�mysql.server
�ű�����mysqld
����Ӧ�ñ༭mysql.server
��su
���û�user_name
����mysqld
����ʹ��--user
ѡ�����mysqld
�������ı�safe_mysqld
�DZ�Ҫ�ġ������ڣ����mysqld
����Ӧ��������ΪUnix�û�user_name
���У���������á�������һ������û�б仯��Ȩ�ޱ������ݡ�ȱʡ
��(���������˽ű�mysql_install_db
��װ��Ȩ�ޱ���)��MySQL�û�root
��Ψһ�д�ȡmysql
���ݿ�����������ݿ�Ȩ���û���������ı�����ЩȨ�ޣ�����������Ȼ���֡�������Ϊһ��Unix�û�������root
��¼ʱ���ⲻӦ����ֹ����ΪMySQL
root
�û�����ȡMySQL��ֻҪΪ�ͻ�����ָ��-u
root
��ѡ�
ע��ͨ�������������ṩ-u root
����Ϊroot
��ȡMySQL������ΪUnix
root
�û�������Unix�û�����MySQLû�й�ϵ��MySQL�Ĵ�ȡȨ���û�����Unix�û���������ȫ�ֿ��ġ�Ψһ��Unix�û����йص��ǣ�����������һ���ͻ�����ʱ���㲻�ṩһ��-u
ѡ��ͻ�����ͼʹ�����Unix��¼����Ϊ���MySQL�û����������ӡ�
������Unix������������ȫ�������Ӧ�������ڴ�ȡ����ΪMySQL
root
�û�����һ�������������̨��������һ���ʺŵ��κ��û�������mysql
-u root db_name
��������ϲ�������κ����顣
�����������MySQL��root
�û��Ŀ������������й��ָ̻�����
kill
������kill -9
)��mysqld
���������ر�mysqld��������pid
��������һ��.pid
�ļ��У�ͨ����MySQL���ݿ�Ŀ¼�У�kill `cat /mysql-data-directory/hostname.pid`
�������һ��UNIX root
�û������з���������ͬ�û��������
--skip-grant-tables
ѡ������mysqld
�� mysql -h hostname mysql
����mysqld������������һ��GRANT
����ı�����7.26 GRANT
��REVOKE
�䷨����Ҳ������mysqladmin
-h hostname -u user password 'new password'
����mysqladmin -h hostname flush-privileges
����SQL����FLUSH
PRIVILEGES
��װ��Ȩ�ޱ�������������ļ������йص����⣬���磬������㴴��һ�ű�ʱ��mysql
�������д�����Ϣ��
ERROR: Can't find file: 'path/with/filename.frm' (Errcode: 13)
��������mysqld
����ʱ����������UMASK
�������ò���ȷ��ȱʡ��umaskֵ��0660
���������������safe_mysqld
�ı�����Ϊ��
shell> UMASK=384 # = 600 in octal shell> export UMASK shell> /path/to/safe_mysqld &
������MySQL�õ�ERROR '...' not found (errno: 23)
,
Can't open file: ... (errno: 24)
���������errno 23
��errno
24
�Ĵ�������ζ�ţ���û��ΪMySQL�����㹻���ļ�������������ʹ��perror
ʵ�ó���õ�����ź�����ʲô��������
shell> perror 23 File table overflow shell> perror 24 Too many open files
�����������mysqld
������ͼͬʱ���ִ�̫����ļ�����Ҳ���Ը���mysqld
һ�β�����ô����ļ���������mysqld
�ɵõ����ļ�������������
Ϊ�˸���mysqld
һ�α��ִ��ٵ��ļ��������ͨ��ʹ��safe_mysqld
��-O
table_cache=32
ѡ�ȱʡֵ��64)ʹ�������С����Сmax_connections
ֵҲ�����ٴ��ļ�������(ȱʡֵ��90)��
Ҫ���ı�mysqld
���õ��ļ���������������safe_mysqld
�ű����ű�����һ��ע���˵���ulimit
-n 256
�������ɾ��'#'
�ַ���ȥ�����е�ע�ͣ����Ҹı�����256�ı�Ϊmysqld
���õ��ļ���������������
ulimit
�������ļ�������������������ֻ�ܵ�����ϵͳǿ�ӵ����ơ��������Ҫ����ÿ�����̿��õ��ļ�������������OS���ƣ��μ���IJ���ϵͳ�ĵ���
ע�⣬���������tcsh
��ǣ�ulimit
������������������ǰ����ʱ��tcsh
Ҳ�����治��ȷ��ֵ������������£���Ӧ����sh
����safe_mysqld
��
DATE
�е�����һ��DATE
ֵ�ĸ�ʽ��'YYYY-MM-DD'
������ANSI SQL��������������ʽ����Ӧ����UPDATE
����ʽ��SELECT
����WHERE�Ӿ���ʹ�������ʽ�����磺
mysql> SELECT * FROM tbl_name WHERE date >= '1997-05-05';
Ϊ�˷��㣬��������������������ģ�MySQL�Զ��任һ�����ڵ�һ������(���ҷ�����Ҳ���)��������ʱ�ͽ�һ��������TIMESTAMP
��DATE
��DATETIME
�бȽϵ�һ��WHERE
�Ӿ��У�Ҳ���㹻���������һ�֡����ɡ����ַ�����ʽ�������ɸ�ʽ��ζ���κα���ַ������ڲ���֮��ķָ�������磬'1998-08-15'
��'1998#08#15'
�ǵȼ۵ġ���MySQLҲ�ܱ任�������ָ����һ���ַ���(����
'19980815'
)���������Ϊһ������˵��ͨ��
��������'0000-00-00'
������Ϊ'0000-00-00'
���洢�ͼ�����
��ͨ��MyODBCʹ��һ��'0000-00-00'
����ʱ����MyODBC
2.50.12�����ϰ汾�������Զ���ת��ΪNULL
����ΪODBC���ܴ����������ڡ�
��ΪMySQLʵ���������ı任�����������Թ�����
mysql> INSERT INTO tbl_name (idate) VALUES (19970505); mysql> INSERT INTO tbl_name (idate) VALUES ('19970505'); mysql> INSERT INTO tbl_name (idate) VALUES ('97-05-05'); mysql> INSERT INTO tbl_name (idate) VALUES ('1997.05.05'); mysql> INSERT INTO tbl_name (idate) VALUES ('1997 05 05'); mysql> INSERT INTO tbl_name (idate) VALUES ('0000-00-00'); mysql> SELECT idate FROM tbl_name WHERE idate >= '1997-05-05'; mysql> SELECT idate FROM tbl_name WHERE idate >= 19970505; mysql> SELECT mod(idate,100) FROM tbl_name WHERE idate >= 19970505; mysql> SELECT idate FROM tbl_name WHERE idate >= '19970505';
Ȼ�������н���������
mysql> SELECT idate FROM tbl_name WHERE STRCMP(idate,'19970505')=0;
STRCMP()
���ַ����������������idate
ת��Ϊһ���ַ�������ʵʩ�ַ����Ƚϡ�������'19970505'
ת��Ϊһ�����ڲ�ʵʩ���ڱȽϡ�
ע�⣬MySQL����������Ƿ���ȷ�������洢һ������ȷ�����ڣ�����'1998-2-31'
����������ڽ����洢��������ڲ��ܱ��任���κκ�����ֵ����DATE
�ֶ��д洢һ��0
������Ҫ��һ���ٶ����Ⲣ��������Ϊ���������Ӧ�ó�������Σ�������������
�������һ�����⣬SELECT NOW()
��GMTʱ�䷵��ֵ��������ı���ʱ�䣬������趨TZ
��������Ϊ��ĵ�ǰʱ������Ӧ���ڷ��������еĻ������У�������safe_mysqld
��mysql.server
�С�
ȱʡ�أ�MySQL�����Ǵ�Сд�����е�(������һЩ�ַ����������Ǻ��Դ�Сд�ģ������ݿ���
)������ζ�ţ��������col_name
LIKE 'a%'
��Ѱ���㽫�õ�������A
��a
��ʼ����ֵ���������Ҫʹ���������Сд���У�ʹ����INDEX(col_name,
"A")=0
���һ��ǰ���������ֵ����ȷ����"A"
��ʹ��STRCMP(col_name,
"A") = 0
��
�ıȽϲ���(>=��>��= ��< ��<=
������;ۺ�)�ǻ���ÿ���ַ��ġ�����ֵ������ͬ������ֵ���ַ�(��E��e��'e)����Ϊ��ͬ���ַ���
LIKE
�Ƚ���ÿ���ַ��Ĵ�дֵ�Ͻ���(E==e ����E<>'e����
�������Ҫһ�������DZ�������Сд���еķ�ʽ��������ΪBINARY
����7.7 CREATE TABLE
�䷨��
�����ʹ������ν��big5������������ݣ���Ҫʹ���е��ַ�����BINARY
�������У�����Ϊbig5�����ַ�������˳�����
ASCII�����˳��
NULL
ֵ����NULL
ֵ�ĸ��������SQL�����ֵĻ������ձ�ԭ�����Ǿ�����ΪNULL
�Ǻ�һ�����ַ���''
��һ���Ķ��������������ģ����磬�����������ȫ��ͬ�ģ�
mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES ("");
��������ֵ���뵽phone
�У����ǵ�һ������һ��NULL
ֵ���ڶ�������һ�����ַ�������һ���ĺ��������Ϊ�ǡ��绰���벻֪���������ڶ��������ζ�š���û�е绰����
��SQL��NULL
ֵ�����κ�����ֵ����NULL
ֵ�Ƚ�ʱ���Ǽٵģ�FALSE��������NULL
��һ������ʽ���Dz���һ��NULL
ֵ�������ڰ����ڱ���ʽ�е�������ͺ������ĵ���ָ�������������ӣ����е��з���NULL
��
mysql> SELECT NULL,1+NULL,CONCAT('Invisible',NULL);
�������ҪѰ��ֵ��NULL
���У��㲻��ʹ��=NULL
���ԡ�������䲻�����κ��У���Ϊ���κα���ʽ��expr
= NULL
�Ǽٵģ�
mysql> SELECT * FROM my_table WHERE phone = NULL;
Ҫ��Ѱ��NULL
ֵ�������ʹ��IS NULL
���ԡ�������ʾ����ҳ�NULL
�绰����Ϳյĵ绰���룺
mysql> SELECT * FROM my_table WHERE phone IS NULL; mysql> SELECT * FROM my_table WHERE phone = "";
��MySQL�У�����ܶ�������SQL������һ�����㲻������������NULL
ֵ���С������������������ΪNOT
NULL
�����ң��㲻�ܲ���NULL
������������
����LOAD DATA INFILE
��ȡ����ʱ��������''
���¡��������Ҫ��һ��������NULL
ֵ����Ӧ�����ı��ļ���ʹ��\N
�������ϵĴ�'NULL'
Ҳ������ijЩ������ʹ�á���7.16 LOAD DATA INFILE
�䷨��
��ʹ��ORDER BY
ʱ�����ȳ���NULL
ֵ���������DESC
�Խ�������NULL
ֵ�����ʾ����ʹ��GROUP
BY
ʱ�����е�NULL
ֵ����Ϊ����ȵġ�
��������NULL
�Ĵ���������ʹ��IS NULL
��IS
NOT NULL
�������IFNULL()
������
��ijЩ�����ͣ�NULL
ֵ������ش���������㽫NULL
������ĵ�һ��TIMESTAMP
�У�����뵱ǰ�����ں�ʱ�䡣����㽫NULL
����һ��AUTO_INCREMENT
�У������˳���е���һ�����֡�
��
alias
�����������GROUP BY
��ORDER BY
����HAVING
������ʹ�ñ��������С�����Ҳ��������Ϊ��ȡһ�����õ�����֣�
SELECT SQRT(a*b) as rt FROM table_name GROUP BY rt HAVING rt > 0; SELECT id,COUNT(*) AS cnt FROM table_name GROUP BY id HAVING cnt > 0; SELECT id AS "Customer identity" FROM table_name;
ע�⣬��� ANSI SQL ����������һ��WHERE
�Ӿ�������һ��������������Ϊ��WHERE
���뱻ִ��ʱ����ֵ������û���սᡣ�������в�ѯ�����Ϸ���
SELECT id,COUNT(*) AS cnt FROM table_name WHERE cnt > 0 GROUP BY id;
WHERE
��䱻ִ����ȷ����Щ��Ӧ�ð���GROUP BY
��������HAVING
��������Ӧ��ֻ�ý�������е���Щ�С�
��ΪMySQL��֧����ѡ�����DELETE
�����ʹ�ö��������Ӧ��ʹ�����з�����2�������ı���ɾ���У�
WHERE
����SELECT
�С�DELETE
�С�DELETE FROM related_table WHERE related_column IN (selected_rows)
�����related_column
��ѯ�е��ַ���ȫ����������1,048,576(ȱʡֵmax_allowed_packet
������Ӧ�÷ֳɸ�С�IJ��ֲ���ִ�ж��DELETE
��䡣���related_column
��һ����������ÿ��ֻɾ��100-1000��related_column
id������ʹ��DELETE
��졣���related_column
����һ���������ٶ���IN
�Ӿ��в����������ء�
�������һ�����ӵIJ�ѯ���漰���������û�з����κ��У���Ӧ��ʹ�����й��̲������ѯ����ʲô���ԣ�
EXPLAIN
���Բ�ѯ���Ҽ�����Ƿ����ҳ���Ȼ�Ǵ����һЩ��������7.22 EXPLAIN
�䷨(�õ�����һ��SELECT
����Ϣ)��WHERE
�Ӿ���ʹ�õ��ֶΡ� LIMIT
10
��һ�������⡣ SELECT
����Դ�ѯ��������ɾ���ı���FLOAT
��DOUBLE
������С�������ֽ��бȽϣ��㲻��ʹ��=
!����������ڴ��������������dz����ģ���Ϊ����ֵ����ȷ��ֵ��mysql> SELECT * FROM table_name WHERE float_column=3.5; -> mysql> SELECT * FROM table_name WHERE float_column between 3.45 and 3.55;
�ڴ��������£���FLOAT
�ij�һ��DOUBLE
����������
mysql
test < query.sql
�IJ�������ʾ������⡣�������mysqldump
--quick database tables > query.sql
����һ�������ļ�����һ���༭���༭�ļ���ɾ��һЩ������(�����̫����Щ���)�������ļ�ĩβ�������ѡ����䡣��������Ȼ�����⣬������������shell> mysqladmin create test2 shell> mysql test2 < query.sql
ʹ��mysqlbug
���ʼIJ����ļ���[email protected]��
ALTER
TABLE
�йص��������ALTER TABLE
��������һ������
Error on rename of './database/name.frm' to './database/B-a.frm' (Errcode: 17)
���������MySQL��ǰһ��ALTER TABLE
���Ѿ���������������һ����Ϊ��A-xxx������B-xxx�����ϵ����ݿ��������������£���MySQL����Ŀ¼�в�ɾ������������A-
��B-
��ʼ���ļ���������������Ƶ���ĵط�������ɾ������)��
ALTER TABLE
������ʽ�ǣ�
���ijЩ��������������MySQL��ͼ��ԭ�ı䡣�����������(��Ȼ���ⲻӦ�÷�����)��MySQL�����������ϱ�Ϊ��B-xxx������һ��������Ӧ�ûָ�������ݡ�
SQL��Ҫ�����г���Ӧ�ó����Ա������ݴ洢��ʽ����Ӧ������������Ҫ�������ݵ���Ըָ��˳�����磺
SELECT col_name1, col_name2, col_name3 FROM tbl_name;
����col_name1
��col_name2
��col_name3
��˳���У�����
SELECT col_name1, col_name3, col_name2 FROM tbl_name;
����col_name1
��col_name3
��col_name2
��˳���С�
��һ��Ӧ�ó����У���Ӧ�������������ǵ�λ��ʹ��SELECT
*
�����У���Ϊ�����ص��е�˳����Զ������֤����������ݿ��һ���ı���ܵ������Ӧ�ó����൱��Ϸ���Ե�ʧ�ܡ�
�����������������Ҫ�ı��е�˳���������������
INSERT INTO new_table SELECT fields-in-new_table-order FROM old_table
.
old_table
��ALTER TABLE new_table RENAME old_table
��