PHP kuzunguza dabu ya MySQL

Dabu ina tabia moja au zaidi.

Kuzunguza dabu

Kitendo kama CREATE DATABASE inatumia kuzunguza dabu kwenye MySQL.

Mafanikio

CREATE DATABASE database_name

Kuwa na haki kuwafanya amri ya juu kwenye PHP, lazima tumetumie mysql_query() kikombe. Kikombe hiki kinatumia kusaidia kusoma amri au kikombe kwa MySQL.

Mfano

Kwenye mfano hii, tumekuzunguza dabu ya "my_db":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Inasikia kuwasiliana: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database inayotengenezwa";
  }
else
  {
  echo "Kumakua database kinasababishwa kwa ukosa: " . mysql_error();
  }
mysql_close($con);
?>

Kuzunguza tabia

CREATE TABLE inatumia kuzunguza tabia kwenye MySQL.

Mafanikio

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

Kuwa na haki kuwafanya amri hii, lazima nifungue kitendo kama CREATE TABLE kwenye mysql_query() kikombe.

Mfano

Mfano hii inaeonyesha kuhakika kama tabia ya "Persons" inapokeza tatu kwa maelezo. Jina la maelezo ni "FirstName", "LastName" kwa "Age":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Inasikia kuwasiliana: ' . mysql_error());
  }
// Kuzunguza dabu
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database inayotengenezwa";
  }
else
  {
  echo "Kumakua database kinasababishwa kwa ukosa: " . mysql_error();
  }
// Kumakua tablica kwenye database ya my_db
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons 
(
Kina jina varchar(15),
Kifupi varchar(15),
Umri int
)";
mysql_query($sql,$con);
mysql_close($con);
?>

Matukio mengi:Inafaa kuanza kumakua database kabla ya kumakua tablica. Kwa kumakua database kwa kiparamu cha mysql_select_db() kifunzi.

Msaada:Kwa sababu ya kumakua ukurabu wa database kwa tipe la varchar, inafaa kumweka ukurabu wa kikubalianishwa kwa ukurabu wa kiparamu cha size, kama: varchar(15).

Tipe ya data ya MySQL

maudhui ya tipe ya data ya MySQL yenye uwanja wa kutumika:

tipe data ya namba 描述
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
inaonyesha namba peke yake. Inaonyesha ukurabu wa namba kwenye kiparamu cha size.
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

inahusha namba na uangalifu.

inaonyesha ukurabu wa namba na uangalifu. Inaonyesha ukurabu wa namba kwenye chini ya chaguo cha d.

tipe data ya matukio wa text 描述
char(size)

inahusha stringi za ukurabu wa kikubalianishwa.(inayoweza kuwa na herufi, namba na chaguo).

inaonyesha ukurabu wa kikubalianishwa kwenye kiparamu cha size.

varchar(size)

inahusha stringi za uendozi.(inayoweza kuwa na herufi, namba na chaguo).

inaonyesha ukurabu wa kikubalianishwa kwenye kiparamu cha size.

tinytext inahusha stringi za uendozi, ukurabu wa kikubalianishwa ni 255 kina.
  • text
  • blob
inahusha stringi za uendozi, ukurabu wa kikubalianishwa ni 65535 kina.
  • mediumtext
  • mediumblob
inahusha stringi za uendozi, ukurabu wa kikubalianishwa ni 16777215 kina.
  • longtext
  • longblob
inahusha stringi za uendozi, ukurabu wa kikubalianishwa ni 4294967295 kina.
tipe data taarifa ya tarehe 描述
  • date(gg-mm-dd)
  • datetime(gg-mm-dd hh:mm:ss)
  • timestamp(ggmmddhhmmss)
  • time(kh:mm:ss)
支持日期或时间
杂项数据类型 描述
enum(value1,value2,ect) ENUM 是 ENUMERATED 列表的缩写。可以在括号中存放最多 65535 个值。
set SET 与 ENUM 相似。但是,SET 可拥有最多 64 个列表项目,并可存放不止一个 choice

主键和自动递增字段

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

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

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

Mfano hii inasaidia kufungua kifupi ya personID kama kifupi cha kina. Kifupi cha kina kinaadui kwa kina ya ID, na kina hiki inapendekezwa kuwa AUTO_INCREMENT. AUTO_INCREMENT inaona kina kina inaingia kina kina kila mara. Kufikiria kwamba kifupi cha kina kina haikuchukuliwa, inafikiria kwamba kina kina kina kinaingia NOT NULL.

Mfano

$sql = "CREATE TABLE Persons 
(
personID int NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(personID),
Kina jina varchar(15),
Kifupi varchar(15),
Umri int
)";
mysql_query($sql,$con);