写点什么

《MySQL 入门很轻松》第 3 章:数据库的创建与操作

作者:乌龟哥哥
  • 2022 年 2 月 13 日
  • 本文字数:3924 字

    阅读完需:约 13 分钟

《MySQL入门很轻松》第3章:数据库的创建与操作

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 数据库,然后输入如下命令:


show databases;
复制代码



(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,其基本语法格式如下


CREATE DATABASE mybase;
复制代码


主要参数为 mybase:为要创建的数据库的名称,该名称不能与已经存在的数据库重名。


2.2 使用 mysqladmin 命令创建

使用 mysqladmin 命令创建数据库 book,输入语句如下:


mysqladmin -u root -p create bookEnter password:******
复制代码



2.2 使用 php 脚本创建

使用 PHP 中的 mysqli_query 函数可以创建或者删除 MySQL 数据库。该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。其语法格式如下:


mysqli query(connection,query, resultmode);
复制代码


主要参数介绍如下:


GLon;query, resultmode);主要参数介绍如下。connection:必需。规定要使用的 MySQL 连接。


query:必需。规定查询字符串。resultmode:可选。一个常量。可以是 MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)和 MYSQLI_STORE_RESULT(默认)任意一个。N_ULI (默认)任意一个。使用 PHP 创建数据库 mymaster,输入语句如下:


<?php$dbhost = 'localhost:3306';//MySQL服务器主机地址$dbuser = 'root';// MySQL用户名$dbpass - 'zZ19801212371...';11 MySQL用户名密码$conn = mysqli_connect ($dbhost,$dbuser,$dbpass);if(!$conn )die('连接错误:'. mysqli_error ($conn));echo'连接成功<br />';$sql = 'CREATE DATABASE RUNOOB';$retval = mysqli_query (Sconn,$sql );if(! $retval )die('创建数据库失败:' . mysqli_error ($conn));echo"数据库 RUNOOB创建成功\n";mysqli_close ($conn) ;?>
复制代码

3. 选择与查看数据库

当连接到 MySQL 数据库后,可能有多个可以操作的数据库,这时就需要选择要操作的数据库了。当选择完成后,还可以查看数据库的相关信息。

3.1 从命令提示窗口中选择

在 mysql>提示窗口中可以很简单地选择特定的数据库。使用 SOL 命令中的 USE 语句可以选择指定的数据库。语法格式如下:


use database_name;
复制代码


主要参数为 database_name:要选择的数据库名称。


3.2 使用 PHP 脚本选择

PHP 提供了函数 mysqli_select_db 来选取一个数据库。函数在执行成功后返回 TRUE,否则返回 FALSE。语法格式如下:


mysqli_select_db (connection, dbname);
复制代码


主要参数介绍如下。connection:必需。规定要使用的 MySQL 连接。


dbname:必需。规定要使用的默认数据库。


<?php// MySQL服务器主机地址$dbhost = 'localhost: 3306';$dbuser = 'root';// MySQL用户名$dbpass ='Ty0408';// MySQL用户名密码$conn = mysqli_connect ($dbhost,$dbuser, $dbpass);if( ! $conn ){die('连接失败:'.mysqli_error ($conn));}echo '连接成功’;mysqli_select_db ($conn, 'mybase' );mysqli_close ($conn) ;?>
复制代码


注意:所有的数据库名、表名、表字段都是区分大小写的,所以在使用 SQL 命令时需要输入正确的名称。

3.3 使用命令查看数据库

在控制台输入


show databases;
复制代码


4. 删除数据库

删除数据库是将已经存在的数据库从磁盘空间中清除,

4.1 使用 drop 语句删除

在 MySOL 数据库中,可以使用 DROP 语句删除数据库,其基本语法格式如下:


DROP DATABASE database_name;
复制代码


主要参数为 database name:是要删除的数据库名称,加果指定数据库名不存在,则删除出错。


4.2 使用 mysqladmin 命令删除

使用 mysqladmin 命令删除数据库 book,输入如下命令:


mysqladmin -u root -p drop book
复制代码


4.3 使用 php 脚本删除

使用 PHP 中的 mysqli_query 函数可以删除 MySQL 数据库。该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。其语法格式如下:


mysqli_query(connection, query, resultmode);
复制代码


主要参数介绍如下 connection:必需。规定要使用的 MySQL 连接。


query:必需。规定查询字符串。resultmode:可选。一个常量,可以是 MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)和 MYSQLI_STORE_RESULT(默认)中的任意一个值。


<?php$dbhost ='localhost : 3306';1/ MySQL服务器主机地址$dbuser ='root';// MySQL用户名$dbpass ='zZ19801212371...';// MySQL用户名密码$conn - mysqli_connect ($dbhost,$dbuser,$dbpass);if(!$conn )die('连接失败:',mysqli_error($conn));echo'连接成功<br />';$sql = ' DROP DATABASE RUNOOB';$retval = mysqli_guery( $conn,$sql );if(! Sretval){    die('删除数据库失败:'.mysqli_error($conn));}echo "数据库删除成功\n"    mysqli_close($conn);?>
复制代码


用户头像

乌龟哥哥

关注

还未添加个人签名 2021.03.16 加入

还未添加个人简介

评论

发布
暂无评论
《MySQL入门很轻松》第3章:数据库的创建与操作