PHP luo MySQL-tietokannan

Tietokanta sisältää yhden tai useamman taulun.

Tietokannan luominen

CREATE DATABASE -lause käytetään MySQLissä tietokannan luomiseen.

Syntaksi

CREATE DATABASE database_name

Jotta PHP voi suorittaa yllä olevan lauseen, meidän täytyy käyttää mysql_query() -funktiota. Tämä funktio lähettää kyselyt tai komennot MySQL-yhteydelle.

例子

Seuraavassa esimerkissä luodaan "my_db"-niminen tietokanta:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Ei voitu yhdistää: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Tietokanta luotiin";
  }
else
  {
  echo "Virhe luodessa tietokantaa: " . mysql_error();
  }
mysql_close($con);
?>

Taulujen luominen

CREATE TABLE käytetään MySQLissä tietokantataulujen luomiseen.

Syntaksi

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

Jotta tämä komento voidaan suorittaa, minun täytyy lisätä CREATE TABLE -lause mysql_query() -funktioon.

例子

Seuraava esimerkki näyttää, miten luodaan "Persons"-niminen taulu, jolla on kolme saraketta. Sarakkeiden nimet ovat "FirstName", "LastName" ja "Age":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Ei voitu yhdistää: ' . mysql_error());
  }
// Luo tietokanta
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Tietokanta luotiin";
  }
else
  {
  echo "Virhe luodessa tietokantaa: " . mysql_error();
  }
// Luo taulu my_db tietokannassa
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);
?>

Tärkeä:Ennen taulukon luomista sinun on valittava ensin tietokanta. Valitse tietokanta mysql_select_db() funktion avulla.

Huomautus:Kun luot varchar-tyyppisen tietokannan kentän, sinun on määritettävä kentän enimmäispituus, esimerkiksi: varchar(15).

MySQL datatyypit

Seuraavat käytettävissä olevat MySQL datatyypit:

numerot datatyypin 描述
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
tukee vain kokonaislukuja. Määrittää suurimman arvon size parametrissa.
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

tukee desimaalilukuja.

määrittää desimaaliluvun suurimman arvon size parametrissa. Määrittää desimaalin enimmäispituuden d parametrissa.

tekstit datatyypin 描述
char(size)

tukee kiinteää pituutta olevia merkkijonoja. (Saa sisältää kirjaimia, numeroita ja erikoismerkkejä).

määrittää suurimman pituuden size parametrissa.

varchar(size)

tukee muuttuvan pituisia merkkijonoja. (Saa sisältää kirjaimia, numeroita ja erikoismerkkejä).

määrittää suurimman pituuden size parametrissa.

tinytext tukee muuttuvan pituisia merkkijonoja, enimmäispituus on 255 merkkiä.
  • text
  • blob
tukee muuttuvan pituisia merkkijonoja, enimmäispituus on 65535 merkkiä.
  • mediumtext
  • mediumblob
tukee muuttuvan pituisia merkkijonoja, enimmäispituus on 16777215 merkkiä.
  • longtext
  • longblob
tukee muuttuvan pituisia merkkijonoja, enimmäispituus on 4294967295 merkkiä.
päivämäärä datatyypin 描述
  • päivämäärä(yyyy-mm-dd)
  • datetime(yyyy-mm-dd hh:mm:ss)
  • aikaleima(yyyymmddhhmmss)
  • aika(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);