MySQL是一个真正的多用户 多线程SQL数据库服务器 是目前最流行的开放源码数据库服务器之一 来自MySQL项目的数据显示 目前MySQL用户已经达到 万个 大家熟知的 使用MySQL的Web站点包括Yahoo Finance Motorola NASA Silicon Graphics和Texas Instruments等 一般来说 用户以命令行的方式来使用MySQL 很多用户在Windows环境中一直使用图形用户界面(GUI)来 *** 作和管理数据库 对命令行方式可能不习惯 而很多新手更是觉得MySQL不容易掌握 为了方便用户对MySQL数据库进行管理 实际上早就已经有一些图形化用户管理的项目在进行中 它们是MySQL Control Center(MySQLCC) MySQLGUI和phpMyAdmin 此外 使用Red Hat自带的OpenOffice也可以完成对MySQL的图形化管理 安装MySQL 在安装 设置和应用图形化管理工具之前 首先要安装好MySQL服务器 使用以下命令查看本机是否安装了MySQL # rpm qa | grep mysqlmysql server a mysql a 本文所有例子均在Red Hat 中实现 在Red Hat 中 可以通过 软件包管理 程序来直接安装MySQL 具体方法是先在 添加或删除软件包 界面选中 SQL数据库服务器 并在细节中选中 mysql server MySQL服务器和相关的文件 然后插入第二张光盘 选择更新即可 也可以通过直接从光盘上使用rpm命令进行安装 因为MySQL服务器需要Perl语言的支持才能正常运行 所以在采用后一种安装方法时 安装MySQL前需要先安装Perl语言及相关软件包 安装完成后 使用以下命令启动MySQL服务器 #service mysqld startMySQL在安装完成后 预定义了一个超级用户root 口令为空 任何用户均可以从MySQL服务器本地使用该用户连接MySQL数据库进行 *** 作 显然这非常不安全 所以MySQL启动之后 应该立即设置root密码 设置方法如下 #mysqladmin password ylgui 这样就设置了一个新的密码 ylgui MySQL服务器是否已经正常运行?可以通过启用客户端程序mysql进行查看 这里要使用到上面设置的密码 # mysql u root pylguiWele to the MySQL monitor Commands end with ; or \g Your MySQL connection id is to server version: Type help; or \h for help Type \c to clear the buffer 注意 参数p与密码之间没有空格 屏幕会显示目前都有哪些数据库 mysql> show databases;+ +| Database |+ +| mysql|| test |+ + rows in set ( sec)可以看到MySQL数据库服务器里有两个数据库 分别是mysql和test 这表明该数据库服务器已经正确安装 并已经正常启动 下面就分别看看四种MySQL GUI解决方案的安装 设置和使用情况 MySQL Control CenterMySQLCC是一个功能齐全的 基于GUI的MySQL客户端程序 可以跨平台 *** 作 它提供多种风格的用户界面 支持简体中文 易于 *** 作 某些 *** 作界面与SQL Server数据库系统的客户端工具—— 企业管理器 非常相似 因此 无论在功能上还是在界面上 MySQLCC都可以与商业数据库所提供的 基于GUI的客户端程序相媲美 该项目的开发一直非常活跃 .下载可从下载该软件 写作本文时 该软件的较新版本是 并有两个不同版本 一个是针对glibc 的 另一个是针对glibc 的 下载前 需要先查看本机glibc的版本号 # rpm qa |grep glibcglibc kernheaders glibc mon glibc devel glibc 由上可知Red Hat 中所安装的是glibc 下载的软件包文件名为mysqlcc linux glibc tar gz .安装先将文件移至/usr/local目录下 然后切换至想要安装该软件的目录 #mv mysqlcc linux glibc tar gz /usr/local#cd /usr/local解开软件包 并创建安装路径 #tar xvzf /usr/local/mysqlcc linux glibc tar gz#ln s mysqlcc linux glibc mysqlcc第一个命令tar会创建一个名为mysqlcc linux glibc 的目录 第二个命令ln则会创建一个符号链接 这样做的目的是为了让每次进入安装目录时更加容易 只需使用命令cd/usr/local/mysqlcc即可进入安装目录 进入安装目录后 执行 /mysqlcc启动该程序 界面如图 所示educity cn/img_ / / / jpg > 图 MySQLCC用户界面 .设置启动MySQLCC后 选择 Option 选单中的 General 然后将 Language 选项设置为 Simplified Chinese (简体中文) 注意 在默认情况下 应用程序使用的字体并不能正确显示中文 所以还应该将其更改为可以正确显示中文的字体 方法是依次选择 Option→Fonts→Application Font 然后在d出的界面中进行选择 这里将其选为Zysong 选择结尾为GB的字体也可以正确显示中文 选择完成后 重新启动MySQLCC 即可进入具有中文字体显示的界面 如图 所示educity cn/img_ / / / jpg> 图 设置后的中文界面 由图 和图 可以看到 启动MySQLCC时 会d出设置 注册服务器 的界面 在该界面输入名称为MySQL 主机名为 用户名为root 密码为上文所设置的ylgui 其它选项不用更改 单击 添加 即可将新建的连接添加至连接列表中 如图 所示educity cn/img_ / / / jpg> 图 添加新建的连接 选中新建的连接 然后单击 连接 按钮 即可完成连接 如图 所示educity cn/img_ / / / jpg> 图 连接到MySQL数据库服务器 . *** 作数据库 设置好MySQLCC后就可以应用该管理工具来对数据库进行 *** 作了 ( ) 创建/删除数据库 在左边列表中的 数据库 项上单击右键 选择 新建数据库 然后在d出的对话框中输入数据库名称 mydatabase 这时 数据库 项目下就会显示名为 mydatabase 的数据库 如果要删除新建的数据库 可以直接在该数据库上单击右键 然后选择 丢弃数据库 即可完成删除 ( ) 新建/删除表 双击 mydatabase 其下方会显示 表 的子项 在该子项目上单击右键 选择 新建数据表 这时会d出创建表的界面 如图 所示 为简单起见 这里只为该表设置了四个字段 NO name sex birthday 单击保存 将该表保存为mytableeducity cn/img_ / / / jpg > 图 新建表 要删除数据库中的表 直接在该表上单击右键 然后选择 丢弃表 即可完成删除 ( ) 更改表结构 要编辑表结构 可直接在表上单击右键 选择 编辑表 可以对表进行各种更改 包括添加/删除字体 更改字段属性 创建索引 更改表属性等 *** 作 ( ) 输入数据 要向该表输入数据 直接在该表上双击左键 会打开如图 所示的查询窗口 在该窗口中 可以对表进行各种 *** 作 比如要向表中添加/删除记录 只需单击工具栏上的插入/删除记录即可educity cn/img_ / / / jpg > 图 向表中输入记录 在图 所示界面中 还可以非常方便地使用SQL语句对表进行 *** 作 方法是单击工具栏上的SQL图标 然后在查询框中输入SQL语句 单击工具栏上的 执行 即可 如果对查询语句不熟 也可以直接在工具栏上单击 查询类型 按键 并在下拉列表中选择常用的查询语句 如图 所示 educity cn/img_ / / / jpg> 图 使用SQL语句 lishixinzhi/Article/program/MySQL/201311/29323
关系型数据库管理系统
本书是讲述SQL的 它是一种关系型数据库或者关系型数据库管理系统(RDBMS)的语言 自从Codd博士在 世纪 年代奠定关系型数据库的理论基础以来 已经产生了相当多的关系型数据库实现 一些新的关系型数据库实现也不断出现
很多人将DB 视为所有数据库的鼻祖 IBM的研究员Edgar Frank Codd博士在 年的一份IBM的研究报告中发表他的论文 Derivability Redundancy and Consistency of Relations Stored inLarge Data Banks 时 给这种数据库理论定义了一个非常恰当的术语 关系型 关系型数据库被其他两种技术竞争 一种是Honeywell Information Systems在 年销售的Multics RelationalData Store 另一种是密歇根大学从 年起作为实验性设计的Micro DBMS(它开创了Codd博士两年之后提出的规范化理论) Micro DBMS的最后一个产品已经于 年退役 这两种技术演变成了 年发布的Oracle V 商业数据库 在通往RDBMS的道路上 包含了很多其他公司的产品所树立的里程碑(当然偶尔也有墓碑) 这些产品包括 IBM PRTV( ) IBM SQL/DS( ) QBE( ) Informix( ) Sybase( ) Teradata( ) Ingres 一个给其他很多成功的系统带来灵感的开源项目 例如PostgreSQL( ) Nonstop SQL( )和MicrosoftSQL Server( )等 这些系统使用了原始SQL的不同方言 SEQUEL QUEL Informix SQL等 直到 年 人们才第一次试图为SQL语言制定标准 毫无疑问 各个厂商关于SQL语言的战争仍在继续
当前的RDBMS市场已经被几个重量级的专有关系型数据库瓜分 Oracle( %) IBM( %)和Microsoft( %) 更小的专有数据库系统Teradata和Sybase 每种不到 %的市场份额 其他数据库厂商 包括开源数据库 大约占有 %的市场份额
对于大型企业来说 选择一个数据库产品作为应用程序的基础并不是一个简单的任务 这不仅仅是因为数据库系统软件需要花费好几万美元的许可证费用 几十万美金的维护和技术支持费 而且在于与其他软件 硬件和人力资源投资相比 数据库软件的投资还是一个决定整个企业架构的关键要素 尽管近年来从一个RDBMS迁移到另一个RDBMS变得更加容易 但考虑选择哪一种数据库依然会给CFO带来噩梦
IBM DB LUW
从带有MVS系列 *** 作系统的大型机到z/OS 以及后来的UNIX和Windows系统 IBM在RDBMS领域都是一个长期的领跑者 IBM数据库的当前版本是IBM DB LUW(Linux UNIX和Windows)
IBM DB 在事务处理速度上保持了绝对领先的记录(更多信息请参见第 章) 它具有多个不同的版本 从Advanced Server Enterprise版本到免费的DB Express C版本(尽管功能上有限制) 免费的DB Express C版本可用于运行本书中的示例
直到DB 的 版本 依然遵循ANSI/ISO SQL Entry标准(请参考本章后面的内容)并支持由其他标准化组织制定的一些高级功能 例如Open Geospatial Consortium(开放地理信息联盟) JDBC X/Open XA 它还包含了最新SQL: 标准的部分功能 除了自己内置的过程化扩展语言SQL PL之外 它还支持使用Oracle的PL/SQL语言 Java语言 甚至Microsoft的 NET家族的语言来创建存储过程(更多内容请参见第 章)
Oracle
Oracle数据库可以追溯到 年第一次发布的Oracle V 开始时用于VAX/VMS系统 并于 年支持UNIX系统 经过多年发展 对于SQL标准定义的绝大多数功能 Oracle数据库都添加了相应的支持 在最新发布的Oracle g版本中功能支持达到了极致 它声称遵循最新SQL: 标准的很多功能
在高性能事务处理的标杆上 Oracle占据了第二名的位置 它是企业生态系统的核心 Oracle是一个安全的 健壮的 可伸缩的 高性能的数据库系统 它统治UNIX市场长达数十年 除了对SQL标准的支持之外 Oracle还提供了一种内置的过程化语言PL/SQL(关于过程化扩展的更多内容 请参见第 章) 另外它还支持通用的程序设计语言 例如Java
在写作本书之时 Oracle的最新版本是Oracle g 只有Oracle g有免费的速成版 该版本在数据存储的容量和RDBMS能够利用的处理器(CPU)数量上存在一定的限制 速成版完全支持本书所讨论的所有SQL功能
Microsoft SQL Server
SQL Server来源于Microsoft Ashton Tate和Sybase合作的结果 开始的目标是改写已有的 仅适用于UNIX的Sybase SQL Server数据库 使之适用于新的IBM *** 作系统OS/ Ashton Tate随后退出了这一合作 IBM OS/ *** 作系统也逐渐被人淡忘 Microsoft和Sybase为了分享成果 开始小心地避免触犯彼此 Microsoft致力于发展并支持Windows和OS/ 系统上的SQL Server 而Sybase则致力于UNIX平台 尽管在SQL Server的核心技术上Microsoft依然采用了相当多的Sybase技术 但双方的合作关系于 年正式结束 Microsoft于 年发布了Microsoft SQLServer 它消除了Sybase余留的痕迹 为世界(Windows系统的世界)带来了一个完全崭新的RDBMS系统 时至今日 Microsoft占据了RDBMS大约 %的市场份额 而在Windows系统上它占据了至高无上的位置
在写作本书之时 最新版本是Microsoft SQL Server Release Microsoft还提供了一个免费但有限制的Express版本 它支持本书所介绍的全部SQL功能
Microsoft Access
Microsoft Access也被称为Microsoft Office Access 它是一个桌面型关系数据库(相对来说是关系型的) Microsoft Access的设计目标是成为一个集成的解决方案 结合关系型数据库引擎的要素和应用程序开发的基础结构(配套有内置的程序设计语言和程序设计模型) 并作为一个报表平台 与本书中讨论的其他RDBMS不同的是 Microsoft Access是一个基于文件的数据库 因此它在性能和可伸缩性方面都存在固有的局限 例如 虽然最新版本的Access理论上允许最多 个并发用户 但在实践中超过 多个用户就会减慢Access的性能 Access仅支持SQL标准的一个子集 它提供了许多仅在Access环境中有效的功能
Access提供的功能之一就是从远程数据库链接表的能力 该功能使Access可以作为应用程序
的前端 访问任何与ODBC/OLEDB兼容的数据库
PostgreSQL
PostgreSQL是从美国加州伯克利大学的Michael Stonebraker所领导的一个项目演变而来的 Michael Stonebraker是关系型数据库理论的先驱 在最初的Ingres项目以及其继任者PostgreSQL中采用的那些原则也以各种方式被其他RDBMS产品采用 例如Sybase Informix EnterpriseDB和Greenplum
PostgreSQL的第一个版本发布于 年 之后第二年以 版本的名义发布 并保留了一个由一组专门的开发人员维护的开源项目 PostgreSQL具有很多个商业版本 最著名的是EnterpriseDB 一个私人公司为该产品提供企业支持(以及大量专有的管理工具) 在一些苛刻的企业级应用环境中 很多高端客户(例如Sony和Vonage)都采用了开源的RDBMS 这充分证明了EnterpriseDB的性能
在对SQL标准的支持方面 PostgreSQL可以说是最接近SQL标准的 另外它还提供了很多在其他数据库中所没有的功能 与它的开源伙伴(例如MySQL)不同 PostgreSQL从一开始就提供了参照完整性和事务支持 PostgreSQL内置了对PL/pgSQL过程化扩展语言的支持 另外实际上还具有适配其他任何语言来实现过程化扩展的功能
MySQL
MySQL最先是由Michael Widenius和David Axmark于 年开发的 并于 年发布了第一个版本 MySQL最初定位为一个轻量级的快速数据库 用于作为数据驱动型网站的后台数据库 尽管MySQL缺乏更加成熟的RDBMS产品所具有的许多功能 但在提供信息服务的速度上非常快 对于很多场合来说都已经 足够好 (为了达到真正的快速 MySQL避开了参照完整性约束和事务支持 更多内容请参见第 章和第 章) 另外 MySQL有着无法抗拒的价格 它是免费的 因此 在中小规模的用户群中 MySQL成为最流行的关系型数据库 在数据库产品的市场上 很多其他的免费产品在功能上都有所缺乏或者带有近乎商业炒作的宣传 数据库产品的巨人 Oracle IBM Microsoft和Sybase在那时也都没有提供各自RDBMS产品的免费速成版 在 年 Sun Microsystems公司收购了MySQL 随后Sun公司又被Oracle收购
目前 Oracle提供了一个带有商业支持的MySQL版本和一个Community Edition版本 伴随着这一收购 出现了大量分支版本 例如MariaDB和 Percona Server 它们在通用公共许可证(General PublicLicense GPL)下继续保持免费状态 GPL是一种限制最小的开源许可证
MySQL的最新版本是 MySQL 也已经指日可待 它是多平台的(Linux/UNIX/Windows) 并且支持SQL: 的绝大多数功能 其中一些功能依赖于选定的配置选项(例如 存储引擎)
存储引擎选项是MySQL独一无二的特性 它允许采用不同的方式处理不同的表类型 每一种引擎都有独特的功能和一定的限制(例如事务支持 聚集索引 存储限制等) 可以采用不同的存储引擎选项来创建MySQL数据库中的表 默认使用的是MyISAM引擎
HSQLDB和OpenOffice BASE
超结构化查询语言数据库(Hyper Structured Query Language Database HSQLDB)是一个用Java程序设计语言实现的关系型数据库管理系统 它是伯克利软件发行(BSD)许可证(这个许可证相当宽松)下的一个开源数据库
HSQLDB是OpenOffice BASE自带的默认RDBMS引擎 OpenOffice BASE是一个桌面型数据库 被定位于和Microsoft Access进行市场竞争 OpenOffice BASE也是一个关系型数据库 它健壮 功能丰富且相当快速 支持多种平台 包括Linux 各种版本的UNIX和Microsoft Windows OpenOffice BASE声称几乎完全遵循SQL: 标准 该标准包含了本书所讨论的绝大多数SQL子集
改写过的HSQLDB可以作为OpenOffice 套件组件BADE的一个嵌入的后端 并从 版本开始成为OpenOffice 套件中的一部分 与Microsoft Access类似 假如有适当的驱动程序的话 OpenOffice BASE可以连接到多种不同的RDBMS 在OpenOffice BASE产品中 已经包含了大量可用的Java Database Connectivity(JDBC)和ODBC(Open Database Connectivity)驱动程序
随着Oracle收购了OpenOffice 而其在Oracle的资助下作为开源项目的状态并不明确 OpenOffice 社区决定启动一个名为LibreOffice的新项目 意图在原来的BSD许可证的授权下将LibreOffice作为一个免费软件 实现OpenOffice的所有功能
关系型数据库并不是数据库领域中唯一的主角 一些似乎已经被关系型数据库理论打败的旧技术在更快和更便宜的硬件以及软件创新的帮助下卷土重来 对更高性能和更容易创建应用程序的需求催生了对列式数据库(columnar database)和面向对象数据库 使 将所有数据放在一个桶中 方法可行的框架 特定领域扩展(例如测地数据管理或多媒体)以及各种数据访问机制的研究 第 章将讨论这些话题
返回目录 SQL实战新手入门
编辑推荐
Oracle索引技术
高性能MySQL
lishixinzhi/Article/program/SQL/201311/16492
以上就是关于mysql创建photo字段全部的内容,包括:mysql创建photo字段、数据库应该选择什么、如何才能使图形化管理MySQL更轻松(一)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)