PHP میں MySQL جدول قائم کرنا

بانک میں ایک یا زیادہ جدول ہوتا ہے۔

جدول قائم کرنا

CREATE DATABASE کماند کو MySQL میں جدول قائم کرنے کے لئے استعمال کیا جاتا ہے۔

قواعد

CREATE DATABASE database_name

کہ PHP یہ کماندوں کو نفاذ دینا چاہے، تو ہمیں mysql_query() فنکشن استعمال کرنا پڑتا ہے، جو MySQL کنکشن کو کماند یا کوئی سوال بھیجتا ہے۔

مثال

ایک مثال میں، ہم نے "my_db" نام کا بانک قائم کیا ہے:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('نہیں جوڑ سکا: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
mysql_close($con);
?>

جدول قائم کرنا

CREATE TABLE کماند کو MySQL میں جدول قائم کرنے کے لئے استعمال کیا جاتا ہے۔

قواعد

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

یہ کماند کو نفاذ دینے کے لئے، میں mysql_query() فنکشن میں CREATE TABLE کماند لگا دینا پڑتا ہے۔

مثال

ایک مثال پیش کیا گیا ہے کہ کس طرح "Persons" نام کا جدول قائم کیا جاسکتا ہے، جس میں تین ستون ہیں۔ ستون کے نام "FirstName", "LastName" اور "Age" ہیں:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('نہیں جوڑ سکا: ' . mysql_error());
  }
// قائمہ بانک قائم کرنا
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
// Create table in my_db database
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons" 
(
نام varchar(15),
فامیل نام varchar(15),
عمر انٹ
)";
mysql_query($sql,$con);
mysql_close($con);
?>

重要事项:在创建表之前,必须首先选择数据库。通过 mysql_select_db() 函数选取数据库。

注释:当您创建 varchar 类型的数据库字段时,必须规定该字段的最大长度,例如:varchar(15)。

MySQL 数据类型

下面的可使用的各种 MySQL 数据类型:

数值类型 وصف
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
仅支持整数。在 size 参数中规定数字的最大值。
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

支持带有小数的数字。

在 size 参数中规定数字的最大值。在 d 参数中规定小数点右侧的数字的最大值。

文本数据类型 وصف
char(size)

支持固定长度的字符串。(可包含字母、数字以及特殊符号)。

在 size 参数中规定固定长度。

varchar(size)

支持可变长度的字符串。(可包含字母、数字以及特殊符号)。

在 size 参数中规定最大长度。

tinytext 支持可变长度的字符串,最大长度是 255 个字符。
  • text
  • blob
支持可变长度的字符串,最大长度是 65535 个字符。
  • mediumtext
  • mediumblob
支持可变长度的字符串,最大长度是 16777215 个字符。
  • longtext
  • longblob
支持可变长度的字符串,最大长度是 4294967295 个字符。
تايمستيپ ويجي داٽا تيپ وصف
  • تاريخ (yyyy-mm-dd)
  • ديتا تيم (yyyy-mm-dd hh:mm:ss)
  • تايمस्टامپ (yyyymmddhhmmss)
  • تايم (hh:mm:ss)
تاریخ یا وقت کا حامل
غیرمعمولی اعداد وشمار کا جنس وصف
enum(value1,value2,ect) ENUM کو ENUMERATED فہرست کا اختصار کیا جاتا ہے۔ 65535 کی قیمتیں کسی بندوں میں رکھی جاسکتی ہیں۔
set SET ایک طرح سے ENUM سے مشابهت رکھتا ہے، لیکن SET کو زیادہ سے زیادہ 64 مندرجہ فہرست آئٹمز رکھ سکتا ہے، اور ایک فٹ چوئس کو رکھ سکتا ہے

اصل کلید اور خودکار اضافی فیلڈ

ہر جگہ کو ایک اصل کلید فیلڈ ہونا چاہئے۔

اصل کلید کو عام طور پر جگہوں میں مخصوص کیا جاتا ہے، تاکہ جگہوں میں مخصوص کیا جاتا ہے۔ اصل کلید کا ہر قیمتی جگہوں میں منفرد ہونا چاہئے، علاوہ ازیں، اصل کلید فیلڈ خالی نہیں ہونا چاہئے، کیونکہ ڈی بی انجین کو ریکارڈوں کو جستجو کرنے کے لئے ایک قیمتیں ضروری ہوتی ہیں۔

اصل کلید فیلڈ کو ہمیشہ انڈیکس میں درج کیا جانا چاہئے۔ یہ اصول کو ناگزیر نہیں کیا جاتا۔ آپ کو اصل کلید فیلڈ کو انڈیکس میں درج کرنا چاہئے، تاکہ ڈی بی انجین اس کلید کی قیمتیں والے ریکارڈوں کو تیز رفتار پر جستجو کرسکے۔

درج ذیل مثال میں personID فیلڈ کو اصل کلید فیلڈ کے طور پر مقرر کیا گیا ہے۔ اصل کلید فیلڈ عام طور پر آئی ڈی نمبر کے طور پر استعمال کیا جاتا ہے، اور عام طور پر AUTO_INCREMENT کے ذریعے مقرر کیا جاتا ہے۔ AUTO_INCREMENT نئی ریکارڈ کی اضافے کے وقت اس فیلڈ کی قیمتیں ایک سے ایک اضافہ کردیتی ہے۔ تاکہ اصل کلید فیلڈ خالی نہ رہے، ہمیں اس فیلڈ کو NOT NULL سیٹ کرنا ہوتا ہے۔

مثال

$sql = "CREATE TABLE Persons" 
(
personID انٹ NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(personID),
نام varchar(15),
فامیل نام varchar(15),
عمر انٹ
)";
mysql_query($sql,$con);