PHP gumawa ng MySQL database

Ang database ay may isang o ilang table.

Magtayo ng database

Ang CREATE DATABASE statement ay ginagamit upang gumawa ng database sa MySQL.

Gramata

CREATE DATABASE database_name

Upang maisagawa ang mga katumbas na pangungusap sa PHP, dapat gamitin namin ang function na mysql_query(). Ang function na ito ay ginagamit upang ipagpadala ng query o command sa koneksyon sa MySQL.

例子

Sa kasunod na halimbawa, gumawa kami ng isang database na may pangalan na "my_db":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Hindi nakakonekta: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
mysql_close($con);
?>

Magtayo ng tabla

CREATE TABLE ay ginagamit upang gumawa ng database table sa MySQL.

Gramata

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)

Upang maisagawa ang komando, dapat akong magdagdag ng CREATE TABLE sa function na mysql_query().

例子

Ang kasunod na halimbawa ay nagpapakita kung paano gumawa ng isang tabla na may pangalan na "Persons", na may tatlong linya. Ang pangalan ng linya ay "FirstName", "LastName" at "Age":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Hindi nakakonekta: ' . mysql_error());
  }
// Magtayo ng database
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
// Lumikha ng talahanayan sa database na my_db
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons 
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);
mysql_close($con);
?>

Mahalagang Balita:Bago nilikha ang talahanayan, dapat muna mapili ang database. Pumili ng database sa pamamagitan ng function na mysql_select_db().

Komento:Kapag nilikha mo ang isang larawan ng database sa uri ng varchar, dapat mong itukoy ang pinakamataas na haba ng field, halimbawa: varchar(15).

Uri ng MySQL

Ang mga magagamit na uri ng MySQL na data:

uri ng numero 描述
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
tanging sumasang-ayon sa integer. Tutukoy ang pinakamataas na halaga ng numero sa parameter ng size.
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

sumasang-ayon sa numero na may decimal.

tutukoy sa pinakamataas na halaga ng numero sa parameter ng size. Sa parameter ng d tutukoy ang pinakamataas na halaga ng numero ng decimal sa kanang bahagi ng titik.

uri ng teksto 描述
char(size)

sumasang-ayon sa patuloy na haba ng string. (Maaaring kasama ang mga titik, numero at espesyal na simbolo).

tutukoy sa patuloy na haba sa parameter ng size.

varchar(size)

sumasang-ayon sa maluwag na haba ng string. (Maaaring kasama ang mga titik, numero at espesyal na simbolo).

tutukoy sa pinakamataas na haba sa parameter ng size.

tinytext sumasang-ayon sa maluwag na haba ng string, ang pinakamataas na haba ay 255 na character.
  • text
  • blob
sumasang-ayon sa maluwag na haba ng string, ang pinakamataas na haba ay 65535 na character.
  • mediumtext
  • mediumblob
sumasang-ayon sa maluwag na haba ng string, ang pinakamataas na haba ay 16777215 na character.
  • longtext
  • longblob
sumasang-ayon sa maluwag na haba ng string, ang pinakamataas na haba ay 4294967295 na character.
uri ng petsa sa talaan 描述
  • date (yyyy-mm-dd)
  • datetime (yyyy-mm-dd hh:mm:ss)
  • timestamp (yyyymmddhhmmss)
  • oras ng oras (hh:mm:ss)
支持日期或时间
杂项数据类型 描述
enum(value1,value2,ect) ENUM 是 ENUMERATED 列表的缩写。可以在括号中存放最多 65535 个值。
set SET 与 ENUM 相似。但是,SET 可拥有最多 64 个列表项目,并可存放不止一个 choice

主键和自动递增字段

每个表都应有一个主键字段。

主键用于对表中的行进行唯一标识。每个主键值在表中必须是唯一的。此外,主键字段不能为空,这是由于数据库引擎需要一个值来对记录进行定位。

主键字段永远要被编入索引。这条规则没有例外。你必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行。

下面的例子把 personID 字段设置为主键字段。主键字段通常是 ID 号,且通常使用 AUTO_INCREMENT 设置。AUTO_INCREMENT 会在新记录被添加时逐一增加该字段的值。要确保主键字段不为空,我们必须向该字段添加 NOT NULL 设置。

例子

$sql = "CREATE TABLE Persons 
(
personID int NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(personID),
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);