无为

无为则可为,无为则至深!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
MySQL DB是当今开源世界上最流行的free数据库,它的蓬勃发展和广泛的应用,奠定了当今主流数据库市场的一席。

一、数据库简介
MySQL 是一个快速、多线程、多用户和强壮的SQL数据库服务器。

对Unix和 OS/2 平台,MySQL基本上是免费的;但对微软平台,你在30 天的试用期后必须获得一个MySQL 许可证。详见第三节 MySQL许可证和技术支持

MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。

MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。

MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。

二、MySQL 的主要特征

下表描述MySQL一些重要的特征:

  • 使用核心线程的完全多线程。这意味着它能很容易地利用多CPU(如果有)。
  • C 、C++、 Eiffel 、 Java、 Perl、 PHP、Python、和 TCL  API。见20 MySQL 客户工具和 API
  • 可运行在不同的平台上,见4.2 MySQL支持的操作系统
  • 多种列类型:1、 2、 3、4、和 8 字节长度的有符号/无符号整数、FLOATDOUBLECHARVARCHARTEXTBLOBDATETIMEDATETIME、 TIMESTAMPYEARSETENUM类型。 见7.3 列类型
  • 利用一个优化的一遍扫描多重联结(one-sweep multi-join)非常快速地进行联结(join)。
  • 在查询的SELECTWHERE部分支持全部运算符和函数,例如:
    mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
        WHERE income/dependents > 10000 AND age > 30;
  • 通过一个高度优化的类库实现SQL函数库并且像他们能达到的一样快速,通常在查询初始化后不应该有任何内存分配。
  • 全面支持SQL的GROUP BYORDER BY子句,支持聚合函数( COUNT()COUNT(DISTINCT)AVG()STD()SUM()MAX()MIN() )。
  • 支持ANSI SQL的LEFT OUTER JOIN和ODBC语法
  • 你可以在同一查询中混用来自不同数据库的表。(与版本 3.22一样 )。
  • 一个非常灵活且安全的权限和口令系统,并且它允许基于主机的认证。口令是安全的,因为当与一个服务器连接时,所有的口令传送被加密。
  • ODBC for Windiws 95。所有的 ODBC 2 . 5 函数和其他许多函数。例如,你可以用Access连接你的 MySQL服务器。见16 MySQL  ODBC 支持
  • 具备索引压缩的快速B树磁盘表。
  • 每个表允许有16个索引。每个索引可以由1~16个列或列的一部分组成。最大索引长度是 256 个字节(在编译MySQL时,它可以改变)。一个索引可以使用一个CHARVARCHAR字段的前缀。
  • 定长和变长记录。
  • 用作临时表的内存散列表。
  • 大数据库处理。我们正在对某些包含 50,000,000 个记录的数据库使用MySQL。
  • 所有列都有缺省值,你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的缺省值。
  • 为了可移植性使用 GNU  Automake , Autoconf 和libtool。
  • 用C和C++编写,并用大量不同的编译器测试。
  • 一个非常快速的基于线程的内存分配系统。
  • 没有内存漏洞。用一个商用内存漏洞监测程序测试过(purify)。
  • 包括myisamchk,一个检查、优化和修复数据库表的快速实用程序,详见13 维护 MySQL安装
  • 全面支持ISO-8859-1  Latin1 字符集。例如,斯堪的纳维亚的字符 @ringaccent{a}, @"a and @"o 在表和列名字被允许。
  • 所有数据以 ISO-8859-1  Latin1 格式保存。所有正常的字符串比较是忽略大小写的。
  • 根据 ISO-8859-1  Latin1 字符集进行排序(目前瑞典语的方式)。通过在源代码中增加排序顺序数组可以改变它。为了理解一个更高级的排序例子,看一看捷克语的排序代码。MySQL支持可在编译时指定的很多不同的字符集。
  • 表和列的别名符合 SQL92 标准。
  • DELETEINSERTREPLACEUPDATE 返回有多少行被改变(受影响)。
  • 函数名不会与表或列名冲突。例如ABS是一个有效的列名字。对函数调用的唯一限制是函数名与随后的“(”不能有空格。详见7.31 MySQL对保留字很挑剔吗?
  • 所有MySQL程序可以用选项--help-?获得联机帮助。
  • 服务器能为客户提供多种语言的出错消息,详见9.1 MySQL支持哪些语言?
  • 客户端使用TCP/IP 连接或Unix套接字(socket)或NT下的命名管道连接MySQL。
  • MySQL特有的SHOW命令可用来检索数据库、表和索引的信息,EXPLAIN命令可用来确定优化器如何解决一个查询。

三、SQL语法

      登录MySQL服务器语法:mysql -h host_name -u user_name -p [password];
    1、创建、删除数据库 
             CREATE DATABASE [IF NOT EXISTS] db_name
             例如:create DATABASE Samp_db;
             DROP DATABASE [IF EXISTS] db_name
            例如:drop DATABASE Samp_db;

    2、创建表格
              CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)][table_options]               [select_statement];
           例如:mysql> CREATE TABLE test (a INT NOT NULL AUTO_INCREMENT,
                               ->        PRIMARY KEY (a), KEY(b))
                               ->        TYPE=MyISAM SELECT b,c FROM test2;

    3、插入数据
           INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
                   [INTO] tbl_name [(col_name,...)]
                  VALUES ((expression | DEFAULT),...),(...),...
                    [ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
         or  INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
                  [INTO] tbl_name [(col_name,...)]
                  SELECT ...
        or  INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
                    [INTO] tbl_name
        SET col_name=(expression | DEFAULT), ...
                    [ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
        例如:mysql> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);



凡是有该标志的文章,都是该blog博主Caoer(草儿)原创,凡是索引、收藏
、转载请注明来处和原文作者。非常感谢。

posted on 2007-04-07 15:28 草儿 阅读(653) 评论(0)  编辑  收藏 所属分类: Web Data Mining

只有注册用户登录后才能发表评论。


网站导航: