基本概念
嘛是数据库
数据库(database): 保存有组织的数据的容器(通常是一个文件或一组文件)
人们常用”数据库“这个词来代表他们使用的数据库软件。这是不正确的
数据库软件应称作DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的
————————容器
数据库可以是保存在硬设备上的容器,也可以不是。在很大程度上说,数据库究竟是文件还是
啥别的东西并不重要,因为使用者并不直接访问数据库,而是通过DBMS操作
客户机-服务器软件
DBMS分为两类:一类为基于共享文件系统的DBMS,另一类为基于客户机-服务器的DBMS。前者(包括诸如Microsoft Access和File Maker)用于桌面用途,一般不用做更加高端关键的应用。
MySQL,Oracle以及Microsoft SQL Server等数据库是基于客户机-服务器的数据库。客户机-服务器应用分为两个不同的部分。服务器部分是负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务器的计算机上。
表
某种特定类型数据的结构化清单,是一种结构化的文件
表可以储存顾客清单,产品目录,或者其他信息清单
数据库中的表以其名字作为标识,所以要求数据库中不存在重复的表名
模式
一组用来描述表的信息,可以用来描述数据库中特定的表和整个数据库(和其中表的关系)
有时模式用作数据库的同义词,应尽量避免这样使用以免产生混淆
列和数据类型
列
表由列组成,列是表中的一个字段。所有表都是由一个或多个列组成的。
对列的理解最好的方法是将数据库理解为一个网格。网格中每一列存储着一条特定的信息。例如在顾客表中,
一个列存储着顾客编号,另一个储存着顾客名,而地址、城市、州以及邮政编码全都储存在各自的列中
通过特定的列对数据进行排序和过滤
行
表中的数据是按行储存的,所保存的每个记录储存在自己的行内
(有些叫数据库记录的,但是行才是正确的术语)
主键
表中的每行中都会有的一列(或者一组列)。用于唯一区分表中每个行
(可以理解为每行的名字或下标啥的)
- 如果没有特殊要求,应尽量为每个表创建一个主键以方便后续的管理。
- 任意两行都不允许有相同的主键值
- 每个行都必须具有一个主键值(主键列不允许出现NULL值)
主键的良好使用习惯
不更新主键中的值;
不重用主键中的值;
不在主键中使用可能会需要更改的的值(比如供应商,修改时不一定能保证正常)
最好使用自己定义的某种自增序列符号加识别来作为主键值;
SQL是什么
一种结构化查询语言的缩写。SQL是一种专门用来与数据库通信的语言
每个DBMS对SQL的实现都不完全相同,所以MySQL中不是全部语法都能移植到
其他的DBMS中。
什么是MySQL
是一种DBMS(数据库软件)即它是一种数据库管理软件
为啥选择?
- 成本——MySQL是开放源代码的,一般可以免费使用(甚至可以免费修改)
- 性能——MySQL的执行速度很快
- 可信赖——某些非常重要和声望很高的公司、站点使用MySQL,这些公司和站点都用MySQL来处理自己的重要数据
- 简单——MySQL很容易安装和使用
不足:并不总是支持其他DBMS所提供的功能和特性,这一点仍在慢慢改善当中。
版本
MySQL现在处于版本5,当然有很多的公司正在使用3和4。
版本更新内容:
- 4——InnoDB引擎,增加事务处理、并、改进全文本搜索等的支持
- 4.1——对函数库、子查询、继承帮助等的重要添加。
- 5——储存过程、触发器、游标、视图等。
MySQL工具
如前文所述,MySQL是一个客户机-服务器DBMS,因此,为了使用MySQL,需要有一个客户机,即需要用来和MySQL打交道(给MySQL提供需要执行的命令)的一个应用。
需要的工具:
- mysql命令行实用程序
每个MySQL安装都有一个名为mysql的简答命令行实用程序。这个实用程序没有用户界面和鼠标支持
在操作系统命令提示符下输入mysql将会出现一个简单提示(Welcome to the MySQl monitor。。。。)
MySQL选项和参数 如果仅输入mysql,可能会常出现一个错误消息。因为可能需要安全证书,或者是MySQL没有运行在本地或者默认端口上。mysql接受你可以(和可能需要)使用的一组命令行参数
例如:为了指定用户登录名ben,应该使用mysql -u ben -p -h myserver -P 9999。
完整的命令行选项和参数列表可以用mysql – help获取。
注意:
1.命令输入在mysql>之后
2.命令用;或者\g作为结束符号,仅按Enter不执行命令
3.输入help或\h获取帮助,也可以输入更多文本获得特定命令的帮助(例如,输入help select获得使用SELECT语句的帮助)
4.输入quit或exit退出命令行实用程序
mysql命令行实用程序是使用得最多的实用程序之一,它对于快速测试和执行脚本非常有价值。
2.MySQL Administrator
MySQL Administrator,即MySQL管理器。它是一个图形交互客户机,用来简化MySQL服务器的管理。
MySQL Administrator 不作为核心MySQL的组成部分安装。必须从http://dev.mysql.com/downloads/下载
MySQL Administrator提示输入服务器和登录信息(并且允许保存服务器定义供以后选择),然后显示允许选择不同视图的图标。其中:
- Server Information(服务器信息)显示客户机和被链接的服务器的状态和版本信息
- Server Control (服务控制)允许停止和启动MySQL以及指定服务器特性。
- User Administration (用户管理)用来定义MySQL账户,登录和权限‘
- Catalogs(目录)列出可用的数据库并允许创建数据和表。
为本书内容创建数据源:
可以使用Create New Schema选项为书中的表和各个章节创建一个数据源。
文中各个例子使用一个名叫crashcourse的数据源,你可以使用这个名字,也可以使用自己选择的名字
@快速访问其他工具
MySQL Administrator 工具菜单包含有启动mysql命令行使用程序和MySQL Query Browser(MySQL查询浏览器)的选项
MySQL Query Browser 也包含启动mysql命令行实用程序和 MySQL Administrator的菜单选项。
MySQL Query Browser
MySQL Query Browser 为一个图形交互客户机,用来编写和执行mysql命令。
获得MySQL Query Browser
与MySQL Administrator一样 ,不作为核心MySQL的安装成分。也必须从
http://dev.mysql.com/downloads/下载它(可得到用于Linux、Mac OS X 和Windows的版本,其源代码也可以下载
)
MySQL Query Browser 要求输入服务器和登录信息(在MySQL Query Browser和MySQL Administrator之间共享保存的定义),然后显示应用界面。