打印本文 打印本文 关闭窗口 关闭窗口
MySQL中文参考手册2(MySQL 的一般信息)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2555  更新时间:2009/4/22 20:48:44  文章录入:mintao  责任编辑:mintao
bsp;... SELECT --稳定 
一些人已经认为他们在这里发现了错误,但是这些经常多是误解。请在报告问题前检查手册! 
ALTER TABLE --稳定 
在 3.22.12中有小的改变。 
DBD --稳定 
现在由 Jochen  Wiedmann 维护了。 
mysqlaccess --稳定 
由 Yves  Carlier 编写并维护。 
GRANT -- Gamma  
MySQL 3.22.12.做了很大改变。 
MyODBC (使用 ODBC  SDK 2.5 )-- Gamma  
它与一些程序似乎工作得很好。 
TcX 为付费客户提供电子邮件的支持,但是MySql邮件列表通常提供常见问题的答案,错误通常马上用一个补丁修补,对严重的错误,几乎总是有新的版本发行。


1.6 顺应2000年(Year 2000 compliance)
MySql本身己没有2000年有问题( Y2K ): 

MySql使用Unix时间函数并且在2069年前没有日期问题, 所有2位年份被认为在1970年到2069年的范围,这意味着如果在一个year类型的列中存储的01,MySql把它当作2001。 
所有MySql日期函数存储在一个文件''''sql/time.cc''''中,并且很仔细地编码保证是2000年安全的 。 
MySql 3.22 和以后的版本,新的YEAR类型的列能在一个字节中存储0年和1901年到2155年,并用使用2或4位显示它们。 
你可以用一种不是Y2K-safe的方式使用 MySql应用程序来深入该问题。例如,许多老的应用程序使用2位数字(它有二义性)而非4位数字存储或操作年份,这个问题可能与使用诸如00或99作为“丢失的”值的提示的应用程序混淆起来。

很不幸,这些问题可能很难修复,因为不同的应用程序可能由不同程序员编写,其中每一个可能使用了不同的约定和日期处理函数。

这里是简单的示范,显示MySql在 2030 年之前没有任何日期问题。

mysql> DROP TABLE IF EXISTS y2k;
mysql> CREATE TABLE y2k (date date, date_time datetime, time_stamp timestamp);
mysql> INSERT INTO y2k VALUES ("1998-12-31","1998-12-31 23:59:59",19981231235959);
mysql> INSERT INTO y2k VALUES ("1999-01-01","1999-01-01 00:00:00",19990101000000);
mysql> INSERT INTO y2k VALUES ("1999-09-09","1999-09-09 23:59:59",19990909235959);
mysql> INSERT INTO y2k VALUES ("2000-01-01","2000-01-01 00:00:00",20000101000000);
mysql> INSERT INTO y2k VALUES ("2000-02-28","2000-02-28 00:00:00",20000228000000);
mysql> INSERT INTO y2k VALUES ("2000-02-29","2000-02-29 00:00:00",20000229000000);
mysql> INSERT INTO y2k VALUES ("2000-03-01","2000-03-01 00:00:00",20000301000000);
mysql> INSERT INTO y2k VALUES ("2000-12-31","2000-12-31 23:59:59",20001231235959);
mysql> INSERT INTO y2k VALUES ("2001-01-01","2001-01-01 00:00:00",20010101000000);
mysql> INSERT INTO y2k VALUES ("2004-12-31","2004-12-31 23:59:59",20041231235959);
mysql> INSERT INTO y2k VALUES ("2005-01-01","2005-01-01 00:00:00",20050101000000);
mysql> INSERT INTO y2k VALUES ("2030-01-01","2030-01-01 00:00:00",20300101000000);
mysql> INSERT INTO y2k VALUES ("2050-01-01","2050-01-01 00:00:00",20500101000000);
mysql> SELECT * FROM y2k;
+------------+---------------------+----------------+
| date       | date_time           | time_stamp     |
+------------+---------------------+----------------+
| 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |
| 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |
| 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |
| 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |
| 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |
| 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |
| 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |
| 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |
| 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |
| 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |
| 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |
| 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |
| 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 |
+------------+---------------------+----------------+

13 rows in set (0.00 sec)

这表示DATE和DATETIME类型将不会有未来日期的任何问题(它们处理日期到 9999 )。

TIMESTAMP类型被用来存储当前时间,有一个仅2030-01-01的上限。TIMESTAMP在32位的机器上(有符号值)有一个从1970到2030的范围,在64位机器上它处理时间可达2106(无符号值)。

尽管MySql是顺应Y2K的,但提供无二义性的输入是你的责任。对于MySql处理二义性日期的输入(包含2位数字年份)的规则,详见7.3.6.1 Y2K 问题和日期类型。

1.7 SQL一般信息和教程
MySql邮件列表上,这本书被多人推荐:

Judith S. Bowman, Sandra L. Emerson and Marcy Darnovsky
The Practical SQL Handbook: Using Structured Query Language
Second Edition
Addison-Wesley
ISBN 0-201-62623-3
http://www.awl.com
这本书也接受了 MySql 用户的一些建议:

Martin Gruber
Understanding SQL
ISBN 0-89588-644-8
Publisher Sybex 510 523 8233
Alameda, CA USA

一本SQL语言教程可在 http://www.geocities.com/SiliconValley/Vista/2207/sql1.html 找到。

SQL in 21 Tagen (用德语写的网上书籍)  http://www.mut.de/leseecke/buecher/sql/inhalt.htm 。

1.8 有用的MySql相关链接 
1.8.1 教程

      
  • A beginner''''s tutoral of how to start using MySQL
      
  • http://www.analysisandsolutions.com/code/mybasic.htm新手如何在一台Windows机器上安装和设置MySQL
      
  • 很多MySQL教程
      
  • 建立一个基于<>bMySQL的网站
      
  • MySQL perl 教程
      
  • PHP/MySQL教程


1.8.2 Perl相关链接

      
  • MySQL 的Perl DBI FAQ

1.8.3 MySql 讨论论坛

      
  • 使用MySQL实例(check Top 20)

1.8.4 支持 MySql 的商业应用

      
  • SupportWizard; Interactive helpdesk  on the web (This product includes a licensed copy of MySQL)
      
  • Right Now Web; Web automation for  customer service
      
  • Bazaar; Interactive Discussion Forums with web interface
      
  • PhoneSweepT是世界的第一个商业电话扫描仪.近年来的很多侵入不是通过因特网,而是通过非法的拨号调制解调器.PhoneSweep让你通过循环地将电话发到你的公司控制的每个号码上来发现这些调制解调器,PhoneSweep有一个内置的专家系统,能识别出超过250种不同类型的遥远存取程序,包括Carbon CopyT、pcANYWHERET和Windows NT RAS.所有信息保存在SQL数据库,最后产生一份详细易懂的报告,说明你公司内那个拨号调制解调器的那项服务被刺探。

1.8.5 SQL客户程序

      
  • 微软Windows 平台上MySQL编辑器/实用程序
      
  • KDE MySQL客户
      
  • Kiosk:一个用于数据库管理的MySQL客户 用Perl编写,将成为Bazaar的一部分。


1.8.6 支持MySql的Web 开发工具

      
  • PHP :一种服务器端的嵌入HTML的脚本语言
      
  • Midgard 应用服务器:基于MySQL和PHP强大的网站开发环境
      
  • SmartWorker是一个Web应用开发平台
      
  • XSP: e(X)tendible (s)erver (p)ages:是一个用Java编写的嵌入HTML的标签语言(以前XTAGS出名)
      
  • dbServ:是对Web服务器的扩充,它将到数据库输出集成进你的HTML编码。你可以在你的输出使用任何HTML函数,只有客户端能阻止你。它作为独立的服务器或作为Java servlet运行。
      
  • Chili!Soft平台无关的ASP
      
  • MySQL+ PHP demos
      
  • ForwardSQL:操作的MySQL数据库的HTML接口
      
  • WWW-SQL:显示数据库信息
      
  • Minivend:Web购物车
      
  • HeiTML:是HTML的服务器端扩充,同时又是一种第四代语言语言
      
  • Metahtml:一种WWW应用程序的动态编程语言
      
  • VelocityGen for Perl and TCL
      
  • Hawkeye因特网服务器套件
      
  • Linux网络数据库连接
      
  • WDBI:是作为一个很好支持MySQL数据库的通用前端的Web浏览器
      
  • WebGroove脚本:HTML编译器和服务器端脚本语言
      
  • 一种服务器端网站脚本语言
      
  • 怎样在Solaris上用Coldfusion使用MySQL
      
  • Calistra的ODBCMySQL管理器
      
  • Webmerger:这个CGI工具解释文件并且生成基于一套简单标签的动态输出,通过ODBC提供MySQL和PostgreSQL的Ready-to-run驱动程序。
      
  • PHPclub:PHP的技巧
      
  • MySQL和Perl脚本
      
  • Widgetchuck:网站工具和小配件
      
  • AdCycle:广告管理软件


1.8.7 用 MySql 支持的数据库设计工具

      
  •  Dezign for databases 是使用一个实体关系图表的数据库开发工具(ERD).

<b1.8.8 使用MySql工具的Web服务器

      
  • 一个Apache认证模块
      
  • The Roxen Challenger Web server

1.8.9 对其他程序的扩充

      
  • 一个有源代码的MySQL的Delphi接口. 
        由Matthias Fichtner编写。
      
  • TmySQL:一个通过Delphi使用MySQL的库
      
  • Delphi TDataset部件
      
  • 支持BIND(Internel域名服务器)
      
  • 使用MySQL的Sendmail扩充


1.8.10 通过其他程序使用MySql

      
  • 通过Access使用MySQL

1.8.11 ODBC有关的链接

      
  • 流行的iODBC驱动程序(libiodbc)现在以开放源代码获得
      
  • FreeODBC主页


1.8.12 API有关的链接
打印本文 打印本文 关闭窗口 关闭窗口