说说我的MySQL

mysql

今天做网站的可离不得数据库,说不定你维护的网站就连接着MySQL数据库。MySQL是一种关系型数据库管理系统(RDMS),我们知道,有了数据库,你的网站才会由死气沉沉的静态站点一跃而变得“神采奕奕”、活力四射,个人数据的管理、一般性的日常数据库应用等等都靠网站后端的数据库支撑着呢,这就是MySQL大显神威的地方了!我们这篇文章要谈论的就是MySQL数据库,希望读者能从概述性的本文中学到更多关于MySQL数据库的知识,由此进入MySQL世界的大门。

巨便宜的全能数据库

MySQL在开放源代码世界和Web团体社区中都是如雷贯耳的流行数据库系统,而且,实质上已经成为了免费数据库软件事实上的标准。原因何在呢?其实,MySQL数据库确实是一种真正面向大众的“下里巴”式、通俗的解决方案,它吸引了为数众多的、各种各样的数据库用户和数据库管理员,我们随后就会讨论到这些。

Mysql获得巨大成功还有另外一个原因:要获得它特别方便。在开放源代码世界里,GPL是共享开放源代码软件的一种标准许可协议;它规定自由软件(我们现在说的就是MySQL)可以无须付费即可使用,只要包含GPL产品的任何源代码也在遵守GPL的条件范围内被使用即可。这么说吧:你一个子儿不用就能免费下载MySQL。

而且,这并不是说,如果你的数据库用的是MySQL你就必须公开发布你的软件源代码。其实,只有在以下两种情况下你才必须执行GPL:其一是,从功能上说,MySQL代码是你的软件所必要的组成部分,其二是你随同自己的软件分派这种RDMS。而在商务或者个人自用的情况下就没有任何限制了,不过,使用MySQL的许多公司通常会采取专有许可协议防止软件源代码的泄露。专有许可协议可以按每一数据库服务器为单位购买,一个单位的起步价大约是200美元(如果按卷分发许可协议的话这个价格也可能会更低一些)。

--------------------------------------------------------------------------------

遵照GPL采用MySQL的网站示范

Slashdot—技术人员新闻站点
PHP-Nuke—网站管理系统
Freshmeat.net—软件目录
Linux.com—Linux新闻、技巧和下载的门户站点

--------------------------------------------------------------------------------

然而,MySQL也有个最令人头痛的问题:它没有完全地遵守ANSI SQL标准。如果你特别在意这个问题而且为此忧心忡忡,那我建议你不妨读一读Michael M. Gorman撰写的有关文章。这篇论文阐述了ANSI SQL标准的有效性,因为——说老实话,没有一个数据库系统老老实实遵守了SQL99规范。

除了标准问题之外,MySQL在设计上考虑到了开发过程中的友好性和应用的方便性。此外,这种开放数据库还处于不断地发展和逐渐成熟的过程中,在维护现有用户应用的同时其用户基础也在日益壮大。目前已经采取了很多措施提升获取和应用MySQL的方便性,随着图形用户界面(MySQLGUI)的引入、对用户定义表类型开始提供支持以及公开发布API(MySQL++)等等一系列举措的实施,MySQL在数据库领域可谓风头正劲。

由于以上谈到的这些特性——当然还有其他的一些优良特性,只是我们没法在这里一一涉足——MySQL受到普遍欢迎和接纳就不足为奇了;现在MySQL吸引了相当数量的用户。你不妨继续阅读本文了解哪些人可以从这种数据库的应用中获益。

广阔天地大有作为

虽然MySQL自称为“世界上最受欢迎的开放源代码数据库,定位于快速、强大、重载和精确的关键应用”,不过,在你自己真正部署MySQL之前还是要斟酌再三,探询你自己特有的用户需求。假如你要把这种系统用在大规模、要求高可靠性的关键应用系统之上,那么你得事先做好大量周到细致的准备。用户组和邮件列表可以为你提供免费服务,当然,你也可以直接购买系统支持服务;由于MySQL越来越有组织性,同其他很多开放源代码软件一样其开发也会因需求的变化而变化。

要是用在其他一般用途MySQL可就足够强大了。这种系统特别适宜于那些C字母系列和P字母(比如PHP、Perl、Python和Pascal等)系列的开发人员,原因就在于其语法支持同以上编程语言非常相似。如果你有本事甚至能直接读取和修改系统源代码满足自己任何需要。

还有,假如你才刚刚接触数据库,你会发现MySQL表现得特别好,它不但受到广泛支持而且支持容错语法和优良的错误消息。MySQL手册叙述详尽、日久弥新,再有,你也可以对其采用GUI,包括phpMyAdmin、MySQLdb for Python、MySQL Ruby等等。好,说到这,你不妨查阅MySQL网站 、Developer Shed以及FreeWebMasterHelp.com,等网站上的有关教程。

--------------------------------------------------------------------------------
学习结构化查询语言(SQL)
你可以访问SQLCourse.com。教程是免费的。这个网站上有好多实际数据库操作示范。
--------------------------------------------------------------------------------

MySQL的选择和更新操作在性能上胜于插入和删除操作。它是数据存储和引用绝佳选择,但是,就即时创建和删除数据表而言它就不是上上之选了。在Web应用方面,用MySQL跟踪用户信息、创建动态页面简直是棒极了。

某些数据库主要应用在特定的部署场合,但就个人数据库而言MySQL最适合不过了。你能获得所需要的所有功能却不必掌握太多的数据库技术。我觉得大中小三种规模的部署情况都可以用到MySQL系统,从基本的内容管理到驱动公司信息等等,这些领域都是MySQL的用武之地。

现实之选

MySQL不但特别适合于各种用户应用,而且它还受到了几乎所有主流服务器平台的支持。MySQL目前的版本是3.23,于2001年早些时候发布。当前的开发版本是4.01,这一新版本对代码结构进行了大量修改以支持各类新增功能。下一个主要发布版本是4.1,这一版本有望在2002年第4季度发布。

目前的MySQL产品有很多种,如下所示:

MySQL—对处理速度进行优化之后的RDMS(不支持交易)
MySQL-max—功能最全的RDMS,提供额外的平台和数据表类型支持,提供针对Windows的符号连接支持。
MySQL AB—出售许可协议的数据库公司
MySQL++—MySQL API
MyODBC—兼容ODBC的RDMS
MySQL最近主要增加的特性包括:连接、外键约束、交易和XML格式的dump处理等。4.1计划新增的特性包括串联删除、联合以及存储过程等。除了这些新增特性之外,MySQL还将凭借其卓越的性能同其他类似系统竞争,例如PostgreSQL等。

最后的话
MySQL是一种非常流行的开放源代码数据库系统。它不但是一种用途广泛的大型数据库工具,而且完全免费,用户甚至可能不用掏一个子儿就可以很容易地掌握它。另外,有关的讨论、教程以及帮助组非常丰富,从而令其成为目前受到最广泛应用的开放源代码RDMS。

好了,说到这,检查检查你的网络系统吧!看看你是否已经用到了这种功能强大的数据库系统。费不了多大工夫你就可以很容易地通过它提高整个网站的性能。

时间: 2024-11-18 07:23:10

说说我的MySQL的相关文章

php列出mysql表所有行和列的方法

 这篇文章主要介绍了php列出mysql表所有行和列的方法,涉及php操作mysql数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php列出mysql表所有行和列的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: <html> <head> <title>Selecting Data</title> </head> <body> <?php $user = "root&quo

mysql 复制表数据,表结构的3种方法

 什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的文件呢,操作起来也还是麻烦. 一,复制表结构 方法1: mysql> create table a like users; //复制表结构 Query OK, 0 rows affected (0.50 sec)   mysql> show tables; +------+ | Tables_i

Sequelize 和 MySQL 对照

如果你觉得Sequelize的文档有点多.杂,不方便看,可以看看这篇. 在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Model)框架.毕竟直接操作SQL比较繁琐,通过ORM框架,我们可以使用面向对象的方式来操作表.NodeJS社区有很多的ORM框架,我比较喜欢Sequelize,它功能丰富,可以非常方便的进行连表查询. 这篇文章我们就来看看,Sequelize是如何在SQL之上进行抽象.封装,从而提高开发效率的. 安装

MySQL和MongoDB设计实例对比

MySQL是关系型数据库中的明星,MongoDB是文档型数据库中的翘楚.下面通过一个设计实例对比一下二者:假设我们正在维护一个手机产品库,里面除了包含手机的名称,品牌等基本信息,还包含了待机时间,外观设计等参数信息,应该如何存取数据呢? 如果使用MySQL的话,应该如何存取数据呢? 如果使用MySQL话,手机的基本信息单独是一个表,另外由于不同手机的参数信息差异很大,所以还需要一个参数表来单独保存. CREATE TABLE IF NOT EXISTS `mobiles` (     `id` 

mysql-求一个Mysql语句 查询出当前周的数据按照天分组

问题描述 求一个Mysql语句 查询出当前周的数据按照天分组 SELECT DATE_FORMAT(uploadTime_beg%Y-%m-%d"") as time SUM(field01) as sumStatus1 SUM(field02) as sumStatus2 SUM(field03) as sumStatus3 SUM(field04) as sumStatus4 SUM(field05) as sumStatus5 FROM health_realdata WHERE

在MYSQL中插入当前时间,就象SQLSERVER的GETDATE()一样。(见内)

mysql|server|sqlserver|插入 NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中.CURDATE()以'YYYY-MM-DD'的格式返回今天的日期,可以直接存到DATE字段中.CURTIME()以'HH:MM:SS'的格式返回当前的时间,可以直接存到TIME字段中.例:insert into tablename (fieldname) values (now()) 

Mysql字段长度,供出血者参考,呵呵!

mysql|参考 列类型  需要的存储量  TINYINT  1 字节 SMALLINT  2 个字节 MEDIUMINT  3 个字节 INT  4 个字节 INTEGER  4 个字节 BIGINT  8 个字节 FLOAT(X)  4 如果 X < = 24 或 8 如果 25 < = X < = 53 FLOAT  4 个字节 DOUBLE  8 个字节 DOUBLE PRECISION  8 个字节 REAL  8 个字节 DECIMAL(M,D)  M字节(D+2 , 如果M

在oracle中限制返回结果集的大小,类似于mysql的limit(转译)

mysql|oracle Oracle不支持类似于 MySQL 中的 limit. 但你还是可以rownum来限制返回的结果集的行数. 如果你只希望返回前十行纪录,你可以这样写: SELECT * FROM table WHERE ROWNUM<10; 但是下面的语句是不对的: SELECT * FROM table WHERE ROWNUM>90 AND ROWNUM<100; 这是因为 Oracle 认为这个条件不成立,所以没有返回.你应该这样写: SELECT * FROM tab

使用MySQL时的一些常见错误

mysql|错误 MySQL server has gone away错误本小节也涉及有关Lost connection to server during query的错误. 对MySQL server has gone away错误最常见的原因是服务器超时了并且关闭了连接.缺省地,如果没有事情发生,服务器在 8个小时后关闭连接.你可在启动mysqld时通过设置wait_timeout变量改变时间限制. 你可以通过执行mysqladmin version并且检验正常运行的时间来检查MySQL还没

视频出炉:4月15日《阿里云RDS MySQL分支深度定制实战分享》

活动视频 <阿里云RDS MySQL分支深度定制实战分享> PDF地址:https://oss.aliyuncs.com/yqfiles/a5344b5961b367786a95620c636c4640.pdf 分享简介:阿里云RDS MySQL经过多年的积累,不断的进行性能优化,并定制了适合不同行业需求的功能,同时也向官方和社区贡献力量.本次主题主要介绍RDS MySQL分支的深度定制,包括功能扩展.资源管控.性能优化.数据安全.行业解决方案等. 分享者:赵建伟,现任阿里云数据库内核资深研发