《MySQL 入门很轻松》第 3 章:数据库的创建与操作
MySQL 数据库是存放有组织的数据集合的容器,以系统文件的形式存储在磁盘上,由数据库系统进行管理和维护。
@[toc]
1. MySQL 数据库概述
1.2 数据库特点
在 MySQL 中,数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的应用程序接口(Application Program Interface,API),用于创建、访问、管理、搜索和复制所保存的数据。不过,也可以将数据存储在文件中,但是在文件中读写数据的速度相对较慢。所以,现在使用关系数据库管理系统(Relational Database Management System,RDBMS)来存储和管理大数据量。而 MySQL 是最流行的关系数据库管理系统,尤其是在 Web 应用方面,MySQL 可以说是最好的 RDBMS 应用软件之一。
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系数据库管理系统具有以下特点,这也是 MySQL 数据库具有的特点。(1)致据以表格的形式出现。
(2)每行为各种记录名称。
(3)每列为记录名称所对应的数据域。
(4)许多的行和列组成一张表单。
(5)若干的表单组成数据库。
1.2 数据库对象
MySQL 数据库中的数据在逻辑上被组织成一系列对象,当一个用户连接到数据库后,所看到的是这些逻辑对象,而不是物理的数据库文件。MySQL 中有以下数据库对象。(1)数据表:数据库中的数据表与我们日常生活中使用的表格类似,由列和行组成。其中,每一列代表一个相同类型的数据。每列又称为一个字段,每列的标题称为字段名;每一行包括若千列信息,一行数据称为一个元组或一条记录,它是有一定意义的信息组合,代表一个实体或联系;一个数据库表由一条或多条记录组成,没有记录的表称为空表。(2)主键:每个表中通常都有一个主关键字,用于唯一标识一条记录。主键是唯一的,用户可以使用主键来查询数据。(3)外键:用于关联两个表。(4)复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。(5)索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,类似于书籍的目录。(6)视图:视图看上去同表相似,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。视图是由查询数据库表或其他视图产生的,它限制了用户能看到和修改的数据。由此可见,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。(7)默认值:默认值是当在表中创建列或插入数据时,为没有指定具体值的列或列数据项赋予事先设定好的值。(8)约束:是数据库实施数据一致性和数据完整性的方法,或者说是一套机制,包括主键约束、外键约束、唯一性约束、默认值约束和非空约束。(9)规则:用来限制数据表中字段的有限范围,以确保列中数据完整性的一种方式。(10)触发器:一种特殊的存储过程,与表格或某些操作相关联,当用户对数据进行插入、修改、删除或对数据库表进行建立、修改、删除时激活,并自动执行。(11)存储过程:一组经过编译的可以重复使用的 T-SQL 代码的组合,它是经过编译存储到数据库中的,所以运行速度要比执行相同的 SQL 语句块快。MySQL 为关系数据库,这种所谓的“关系”可以理解为“表格”的概念,一个关系数据库由一个或数个表格组成。
(1)表头(header):每一列的名称。
(2)列(col):具有相同数据类型的数据的集合。
(3)行(row):每一行用来描述某条记录的具体信息。
(4)值(value):行的具体信息,每个值必须与该列的数据类型相同。
(5)键(key):键的值在当前列中具有唯一性。
1.3 系统数据库
MySQL 包含了 information schema、mysql、performance_schema、sakila、sys 和 world 6 个系统数据库。在创建任何数据库之前,用户可以使用命令来查看系统数据库,具体的方法为:在“命令提示符”窗口中登录到 MySOL 数据库,然后输入如下命令:
(1) information_schema:这个数据库保存了 mysql 服务器所有数据库的信息,比如数据库的名、数据库的表、访问权限、数据库表的数据类型、数据库索引的信息等。该数据库是一个虚拟数据库,物理上并不存在,在查询数据后,从其他数据库获取相应的信息。
(2) mysql:这个数据库是 MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库的用户、权限设置、关键字等,还有 mysql 自己需要使用的控制和管理信息。例如,可以使用 mysql 数据库中的 mysql.user 表来修改 root 用户的密码。
(3) performance_schema:这个数据库主要用于收集数据库服务器性能参数,并且数据库里表的存储引擎均为 PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为 PERFORMANCESCHEMA 的表的。
(4) sakila:这个数据库最初由 MySQLAB 文档团队的前成员 Mike Hillyer 开发,旨在提供可用于书籍、教程、文章、样本等示例的标准模式。sakila 示例数据库还用于突出 MySQL 的最新功能,如视图、存储过程和触发器。
(5 ) sys:这个数据库所有的数据源来自 performance_schema 数据库。目标是把 performance schema 数据库的复杂度降低,让数据库管理员(DBA)能更好地阅读这个库里的内容,从而让数据库管理员更快地了解数据库的运行情况。(6) world:这个数据库是 MySOL 提供的示例数据库,包括 3 个数据表,分别是 city 城市表、country 国家表、countrylanguage 国家语言表。
2. 创建数据库
默认情况下,只有系统管理员和具有创建数据库角色的登录账的拥有者,才可以创建数据库。在 MySQL 中,root 用户拥有最高权限,因此使用 root 用户登录 MySOL 数据库后,就可以创建数据库了。
2.1 使用 CREATE DATABASE 语句创建
在 MySQL 中,SQL 提供了创建数据库的语句 CREATE DATABASE,其基本语法格式如下
主要参数为 mybase:为要创建的数据库的名称,该名称不能与已经存在的数据库重名。
2.2 使用 mysqladmin 命令创建
使用 mysqladmin 命令创建数据库 book,输入语句如下:
2.2 使用 php 脚本创建
使用 PHP 中的 mysqli_query 函数可以创建或者删除 MySQL 数据库。该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。其语法格式如下:
主要参数介绍如下:
GLon;query, resultmode);主要参数介绍如下。connection:必需。规定要使用的 MySQL 连接。
query:必需。规定查询字符串。resultmode:可选。一个常量。可以是 MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)和 MYSQLI_STORE_RESULT(默认)任意一个。N_ULI (默认)任意一个。使用 PHP 创建数据库 mymaster,输入语句如下:
3. 选择与查看数据库
当连接到 MySQL 数据库后,可能有多个可以操作的数据库,这时就需要选择要操作的数据库了。当选择完成后,还可以查看数据库的相关信息。
3.1 从命令提示窗口中选择
在 mysql>提示窗口中可以很简单地选择特定的数据库。使用 SOL 命令中的 USE 语句可以选择指定的数据库。语法格式如下:
主要参数为 database_name:要选择的数据库名称。
3.2 使用 PHP 脚本选择
PHP 提供了函数 mysqli_select_db 来选取一个数据库。函数在执行成功后返回 TRUE,否则返回 FALSE。语法格式如下:
主要参数介绍如下。connection:必需。规定要使用的 MySQL 连接。
dbname:必需。规定要使用的默认数据库。
注意:所有的数据库名、表名、表字段都是区分大小写的,所以在使用 SQL 命令时需要输入正确的名称。
3.3 使用命令查看数据库
在控制台输入
4. 删除数据库
删除数据库是将已经存在的数据库从磁盘空间中清除,
4.1 使用 drop 语句删除
在 MySOL 数据库中,可以使用 DROP 语句删除数据库,其基本语法格式如下:
主要参数为 database name:是要删除的数据库名称,加果指定数据库名不存在,则删除出错。
4.2 使用 mysqladmin 命令删除
使用 mysqladmin 命令删除数据库 book,输入如下命令:
4.3 使用 php 脚本删除
使用 PHP 中的 mysqli_query 函数可以删除 MySQL 数据库。该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。其语法格式如下:
主要参数介绍如下 connection:必需。规定要使用的 MySQL 连接。
query:必需。规定查询字符串。resultmode:可选。一个常量,可以是 MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)和 MYSQLI_STORE_RESULT(默认)中的任意一个值。
版权声明: 本文为 InfoQ 作者【乌龟哥哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/9f341f758bf09becade1538bb】。文章转载请联系作者。
评论