2023/06/20
使用 phpMyAdmin 来管理资料库
介绍 phpMyAdmin
phpMyAdmin 是一个用于管理 MySQL 资料库的开源网页应用程式。
它提供了一个直观和功能丰富的用户界面,让用户能够通过网页浏览器轻鬆地管理和操作 MySQL 资料库。
安装MAMP时,phpMyAdmin已经包含在内,不用另外下载。
以下是 phpMyAdmin 的一些主要特点和功能:
资料库管理:
phpMyAdmin 允许用户创建新的资料库,删除资料库,修改资料库结构以及执行资料库相关操作。
资料表管理:
用户可以建立新的资料表,修改资料表结构,添加、删除或修改列,设置索引和主键等。
资料操作:
phpMyAdmin 提供了强大的工具,让用户能够轻鬆地插入、编辑、更新和删除资料。
SQL 查询:
用户可以直接在 phpMyAdmin 中执行 SQL 查询,从而进行複杂的资料查询和操作。
用户管理:
phpMyAdmin 允许用户管理 MySQL 的用户帐号和权限,包括创建新的用户帐号,修改用户权限,重置用户密码等。
导入和导出资料:
用户可以通过 phpMyAdmin 将资料从外部导入到资料库中,或将资料从资料库导出为不同的格式(如 SQL、CSV、XML 等)。
监视和优化:phpMyAdmin 提供了监视工具,用于检视资料库的性能和状态,并提供了一些优化建议。
多语言支援:phpMyAdmin 支援多种语言,用户可以选择自己熟悉的语言进行界面显示和操作。
phpMyAdmin 是一个广泛使用的 MySQL 资料库管理工具,
其易于使用和丰富的功能使得开发人员和系统管理员能够高效地管理和操作 MySQL 资料库。
它是一个非常有价值的工具,尤其适用于初学者和中小型项目。
1.打开MAMP应用程式,打开Server
我们将使用 phpMyAdmin 来管理资料库
有多种方式可以打开 phpMyAdmin 的网页界面,
以下列举2种常见的方式:
透过浏览器直接访问 URL:
在浏览器的网址栏中输入 phpMyAdmin 的 URL,http://localhost/phpMyAdmin/
透过本地开发环境的管理工具:
打开MAMP应用程式后,点击下图 Open WebStart page
确保 ApacheServer & MySQL Server 右方绿点都有亮
没有亮就按 Start Servers 按钮,开啓Server
就会跳转预设浏览器的 MAMP localhost 页面
点击中央 MySQL 的 phpMyAdmin (蓝字超连结)就会进入phpMyAdmin页面
MAMP应用程式的Server开啓状态才能进入phpMyAdmin页面
2.进入phpMyAdmin页面
3.设计资料库和资料表:(需先了解"资料型别")
这里使用玩家资料表作为範例,我们可以建立一个包含以下栏位的资料表:
实际执行需要根据项目需求进行修改,不过原理是相同的。
资料型别
在资料库中,资料型别用于定义栏位中可以存储的资料的类型和範围。不同的资料型别适用于不同类型的资料,例如数>字、文字、日期等。以下是常见的资料型别:
整数型别(Integer):
用于存储整数值,如整数、小数和负数。常见的整数型别包括INT、BIGINT、SMALLINT和TINYINT。
浮点数型别(Floating-Point):
用于存储带有小数部分的数值。常见的浮点数型别包括FLOAT和DOUBLE。
字符串型别(String):
用于存储文字或字符数据。常见的字符串型别包括CHAR、VARCHAR和TEXT。其中,CHAR定义固定长度的字符串,而>VARCHAR定义可变长度的字符串,TEXT则用于存储大量文字数据。
日期和时间型别(Date and Time):
用于存储日期和时间数据。常见的日期和时间型别包括DATE、TIME、DATETIME和TIMESTAMP。
布林型别(Boolean):
用于存储仅有两个可能值(真或假)的数据。常见的布林型别为BOOLEAN或BIT。
二进制型别(Binary):
用于存储二进制数据,如图像、文件等。常见的二进制型别包括BLOB和BYTEA。此外,不同的资料库管理系统(DBMS)可能还提供了其他特定的资料型别和扩充型别,以满足特定的需求。
在设计资料库时,选择适当的资料型别至关重要,以确保资料的準确性、一致性和有效性。这涉及考虑资料的範围、大小、精确度以及对资料的操作和查询需求。
使用"VARCHAR"数据类型来存储中文字符集
由于MAMP是一个集成环境,其中包含了Apache、MySQL和PHP,而MySQL是其中的数据库组件,
因此当在MAMP中使用MySQL时,需要遵守MySQL的数据库规範和限制。
对于存储中文字符集的字符串数据,请使用"VARCHAR"数据类型。"VARCHAR"数据类型可以用于在MySQL数据库中存储不同字符集的字符串数据,包括中文字符集。
您可以将中文字符串存储在"VARCHAR"列中,而无需使用"nvarchar"(“nvarchar” 数据类型特定于 Microsoft SQL Server 不是其他可用数据库引擎支持的数据类型)。总结来说,在MAMP中使用MySQL时,请使用"VARCHAR"数据类型来存储中文字符集的字符串数据。
计算varchar类型可以存储多少个汉字,多少个数字,具体看mysql的版本,
目前2020年以后使用的版本是按照字符数来算,而不是字节数。mysql 5.0.3版本以下,比如 varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)
mysql 5.0.3版本及以上,比如varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个
汉字在不同字符集占用字节不同:
GBK编码下,一个汉字占2个字节bai;
UTF-8编码下,一个汉字占3个字节
4.设置资料库和资料表:
当您在phpMyAdmin页面上,点击 "New" ->
建立新的资料库并命名为 "player_data",维持预设utf8_general_ci,
点击 "Create" ->
创建资料库后,
您可以遵循以下步骤在刚创建的资料库中使用SQL建立玩家资料表:
点击 "player_data" 资料库,将焦点设定在该资料库上。
在顶部菜单中,选择 "SQL" 选项卡,以进入SQL查询模式。
在SQL查询编辑器中,
输入以下建表语句以创建玩家资料表:(CREATE)
CREATE TABLE player ( ID INT PRIMARY KEY, AccountName VARCHAR(100), Password INT, Nickname VARCHAR(100), Level INT, Score INT, Progress INT, LastLoginTime DATETIME, Email VARCHAR(100), Coins INT, Diamonds INT, VIPLevel INT, RankPoints INT, PurchaseTotal INT, Region INT);
确保您已经完成了上述SQL语句的输入。
点击 "Go" 按钮以执行该SQL查询,从而创建玩家资料表。
现在,您已经在名为 "player_data" 的资料库中
成功创建了一个名为 "player" 的资料表,其中包含了所需的栏位
*创建资料表前
*创建资料表后
点选 "Structure" 看 玩家资料表 的结构
5.以下是在phpMyAdmin中使用SQL查询执行以下操作的具体步骤:
"GO"按钮="执行"按钮(位于phpMyAdmin-SQL选项 页面右下角)
将资讯插入到资料表:(INSERT)
在左侧导航窗格中,选择您的资料库(例如"player_data")。
在上方菜单中,选择"SQL"选项卡。
在SQL查询编辑器中,输入以下INSERT语句并替换相应的值:INSERT INTO Player (ID, AccountName, Password, Nickname, Level, Score)VALUES (3, 'player3', 333333, 'nickName3', 30, 3000);
点击"执行"按钮以将资讯插入到资料表中。
原本资料表没有资料
结果:
从资料表中读取/选取资讯:(SELECT)
开启phpMyAdmin并选择您的资料库(例如,"player_data")。
在上方的菜单中,选择"SQL"选项卡。
在SQL查询编辑器中,输入SELECT语句并在WHERE子句中指定条件,例如:SELECT * FROM `player` WHERE Level >= 10;
这个SELECT语句将从Player资料表中选取所有等级(Level)大于或等于10的资讯。
点击"执行"按钮以执行SELECT查询。
您将看到在执行查询后符合WHERE条件的资料。
请根据您的需求自定义WHERE条件。WHERE子句可以使用各种运算符和条件来指定要筛选的资讯,
例如等于(=)、大于(>)、小于(<)、LIKE等等。
点击"执行"按钮以执行SELECT查询并浏览资料表中的资讯。
更新资料表中的资讯:(UPDATE)
在左侧导航窗格中,选择您的资料库(例如"player_data")。
在上方菜单中,选择"SQL"选项卡。
在SQL查询编辑器中,输入以下UPDATE语句以更新资料表中的资讯:UPDATE `player`SET Score = 2000WHERE ID = 1;
点击"执行"按钮以执行UPDATE语句并更新资料表中的资讯。
补充:
(更多用法可以去W3schools的网站看 https://www.w3schools.com/sql/)
读取(Read)部分的相应操作:
SELECT
使用SELECT从资料表中读取资讯
SELECT * FROM table_name;
这个SELECT语句将从指定的资料表(table_name)中选取所有栏位的资料。
如果您只想选取特定的栏位,而不是全部栏位,
可以在SELECT语句中指定栏位名称,
例如:
SELECT column1, column2 FROM table_name;
这将只选取指定的栏位(column1和column2)的资料。
WHERE
使用WHERE子句在SELECT语句中加入条件,以过滤所选取的资料。
SELECT * FROM table_name WHERE condition;
在上述语句中,将condition替换为您希望应用的特定条件,
例如栏位值等于特定值、大于/小于某个值等等。
ORDER BY
使用ORDER BY子句对选取的资料进行排序。
SELECT * FROM table_name ORDER BY column_name ASC/DESC;
将column_name替换为您希望按其排序的栏位名称。ASC表示升序排序,DESC表示降序排序。
LIMIT
使用LIMIT子句限制选取的资料行数。
SELECT * FROM table_name LIMIT number;
将number替换为您希望显示的资料行数。
以上是SQL中读取操作的基本代码示例,
您可以根据具体情况自定义和扩展这些代码。
请注意,代码中的table_name应替换为实际的资料表名称,
column_name则应替换为所需的栏位名称。
LIKE
SELECT * FROM your_table WHERE column_name LIKE pattern;
替换your_table为表的实际名称、column_name要匹配的列的名称以及pattern要搜索的特定模式。
确定要用于“LIKE”运算符的模式。常用的通配符有两种:
'%' 表示任何字符序列(包括无字符)。
'_' 代表任何单个字符。
您可以将这些通配符与其他字符结合使用以形成您的搜索模式。这里有一些例子:
要查找以“A”开头的名称:
SELECT * FROM your_table WHERE column_name LIKE 'A%';
要查找以“儿子”结尾的名字:
SELECT * FROM your_table WHERE column_name LIKE '%son';
要查找名称中任何位置包含“en”的名称:
SELECT * FROM your_table WHERE column_name LIKE '%en%';
要查找恰好包含四个字符的名称:
SELECT * FROM your_table WHERE column_name LIKE '____';
执行 SELECT 语句以从表中检索匹配的记录。
确保调整表名和列名以及特定模式,以匹配您自己的数据库结构和搜索条件。
带有通配符的“LIKE”运算符允许您在 SQL 查询中执行灵活的模式匹配,以根据您的搜索要求从您的表中检索特定信息。
从资料表中删除资讯:(DELETE)
在左侧导航窗格中,选择您的资料库(例如"player_data")。
在上方菜单中,选择"SQL"选项卡。
在SQL查询编辑器中,输入以下DELETE语句以从资料表中删除资讯:DELETE FROM `player`WHERE ID = 1;
点击"执行"按钮以执行DELETE语句并从资料表中删除资讯。
以上是使用phpMyAdmin,使用SQL Query进行资料表操作的步骤。
下一节 05
[Unity] PHP用到的部分 - Unity导入云端排行榜步骤纪录 05
聚焦在说明PHP 此案例中用到的部分