首页  >  文章  >  数据库  >  创建MySQL数据库和表_MySQL

创建MySQL数据库和表_MySQL

WBOY
WBOY原创
2016-06-01 13:06:121031浏览

如何创建一个表来插入表单数据?在本教程中,我将解释如何使用 MySQL 执行此操作。

创建 MySQL 数据库和表

在之前的教程中,我们创建了一个表单来收集数据(如果您还没有有了这个)设置了本地开发环境(使用 PHP、MySQL 和 Apache)。

我们现在希望能够将表单数据插入到 Web 服务器上的数据库中。这样我们以后就可以随时检索这些数据。

数据库是数据的集合。它的组织方式使得可以快速搜索以检索特定数据。 MySQL 可能是最流行的数据库管理系统。 MySQL 数据库包含一个或多个表。表中的数据按记录(=行)组织。每条记录中都有几个字段(= 列)。我们可以使用所谓的查询来创建数据库、表、检索数据等。MySQL 中的 SQL 代表结构化查询语言。在本教程中,您将学习该语言的基础知识。

本教程假设您已经在本地计算机上设置了 PHP 和 MySQL 的开发环境或知道如何执行此操作。如果没有,我建议您首先阅读如何设置本地开发环境的教程

创建数据库的步骤

要创建新数据库,您需要:

  1. 登录 phpMyAdmin(以“root”用户身份)
  2. 单击选项卡“数据库”(位于顶部)
  3. 将数据库名称插入“创建数据库”下方的字段中”(在上一个和下一个教程中,我将使用数据库名称“all_sports”)。
  4. 从下拉菜单“排序规则”中选择选项“utf8_general_ci”。
  5. 然后单击单击“创建”按钮。

您现在应该看到新数据库的名称出现在“创建数据库”下表和左侧面板中。

创建数据库的步骤创建表

要在数据库中创建表,您:

  1. 首先需要通过单击左侧面板中的名称来选择该数据库
  2. 然后单击“SQL”选项卡(顶部)
  3. 将下面所示的代码插入查询框中(然后单击“Go”)

SQL - 查询创建表

CREATETABLEmembers(

idINTUNSIGNEDNOTNULLAUTO_INCREMENTKEY,

firstnameVARCHAR(255)NOTNULL,

lastnameVARCHAR(255)NOTNULL,

genderVARCHAR(6)NOTNULL,

dobDATENOTNULL,

addressVARCHAR(255)NOTNULL,

cityVARCHAR(128)NOTNULL,

zipcodeVARCHAR(128)NOTNULL,

phoneVARCHAR(128)  NOTNULL,

emailVARCHAR(255)NOTNULL)

CREATETABLEmembers(idINTUNSIGNEDNOTNULLAUTO_INCRMENTKEY,firstnameVARCHAR(255)NOTNULL,lastnameVARCHAR(255)NOTNULL,genderVARCHAR(6)NOTNULL,dobDATENOTNULL,addressVARCHAR(255)NOTNULL,cityVARCHAR(128)NOTNULL,zipcodeVARCHAR (128)NOTNULL,phoneVARCHAR(128)  NOTNULL,emailVARCHAR(255)NOTNULL)

如果一切顺利,您应该会看到左侧面板中数据库名称下方列出的表名称(上面代码中的“members”)。

您可以看到/单击“结构”选项卡检查刚刚创建的表的结构;然后单击表的名称(例如“成员”);然后再次单击“结构”选项卡(现在显示在“浏览”选项卡右侧)。

主键列

第一列/字段与我们之前创建的表单,但包含变量“id”。通过此字段,我们可以确保表中的每条记录都是唯一的。

名为“id”的列具有以下特征:

INT UNSIGNEDINT 数据类型使该列采用整数。无符号表示不允许有负值。

NOT NULL 使用 NOT NULL 我们确保每一列都有一个值。

AUTO_INCRMENT 使 MySQL 在每一行中为该列设置唯一值。默认情况下,AUTO_INCRMENT的起始值为1,每一条新记录都会加1。这样我们就可以保证每条记录都有唯一的值。

KEY自动增量列可用作键,因为您将倾向于根据此列搜索行。当您查看结构信息时,您会注意到该字段的键符号具有不同的颜色。

“id”列中的每个条目现在都有一个唯一的编号,第一个从 1 开始,其他人从那里向上计数。每当插入新行时,其“id”列将自动按顺序给出下一个数字。

SQL 中的数据类型

我们使用以下方式定义了表中的字段各种 SQL 数据类型:

VARCHAR (n)VARCHAR 数据类型接受文本字符串(术语 VARCHAR 代表可变长度字符字符串)。对于 VARCHAR 数据类型,表中字段的大小有限制。该限制由(n)设定。正如您所看到的,我有时将此限制设置为 255 或 128。

对于此表,我没有使用数据类型 CHAR。但最好了解这种数据类型以及它与 VARCHAR 类型的区别。 CHAR 和 VARCHAR 都接受文本字符串并对字段的大小施加限制。这两种数据类型之间的区别在于,对于 CHAR,每个字符串都具有指定的大小。如果我使用 CHAR(6) 表示性别,则字符串“male”将用(两个)空格填充。 VARCHAR 字段不会填充文本;它可以改变字段的大小以适应插入的文本。但 VARCHAR 需要少量开销来跟踪每个值的大小。因此,如果所有记录中的大小相似,则 CHAR 的效率稍高,而如果大小变化很大且变大,则 VARCHAR 的效率更高。此外,开销导致访问 VARCHAR 数据比访问 CHAR 数据稍慢。

除了 VARCHAR 和 CHAR,我们在创建表时还可以使用 TEXT 数据类型。对于名字等,您可能会想使用数据类型 TEXT。但是,使用 TEXT 数据类型,您将永远不会在字段中搜索超过一定数量的前导字符。因为用户还希望能够搜索名称的一部分,所以我使用了 VARCHAR 类型。

DATE 使用数据类型 DATE,输入的格式将类似于“yyyy-mm-dd”。您会注意到这与表单 (mm/dd/yyyy) 中的格式略有不同。当您使用表单将数据插入数据库并检查结果时,您会发现这不会造成问题,并且表单日期将正确转换为 SQL 格式。

INTINT 代表整数。当您的数据由数字(例如电话号码)组成时,您可能会想使用 INT 数据类型。我的建议是仅对主键和要进行数学运算(例如加法、乘法)的数据使用 INT 数据类型。例如,电话号码不能与另一个数字相乘。邮政编码也是如此。这就是为什么我们将它们定义为 VARCHAR 数据类型。

如何向表中添加字段?

您可能已经注意到,我们在创建时“忘记”了一个字段(“区域”)桌子。这让我可以解释如何向现有表添加字段/列。

转到显示表结构的选项卡。在结构下方,您将看到向表格添加一(或多)列的选项。

  1. 选择选项“之后”
  2. 从下拉菜单中选择“ zipcode”
  3. 单击“Go”

然后您会看到一个窗口,要求您定义字段/列:

  1. 对于名称,插入“region”(不带引号)
  2. 对于类型,选择 VARCHAR
  3. 对于长度/值,插入 128
  4. 对于排序规则,选择“ utf8_general_ci”(不带引号)
  5. 然后单击“保存”

现在我们的数据库/表已准备就绪,我们可以开始编写 PHP 脚本,该脚本将从表单发送数据到 MySQL 数据库。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn