PHP ایجاد پایگاه داده MySQL
- 上一页 MySQL Connect
- 下一页 MySQL Insert
پایگاه داده شامل یک یا چند جدول است.
ایجاد پایگاه داده
دستور 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, ....... )
برای اجرای این دستور، باید دستور CREATE TABLE را به تابع mysql_query() اضافه کنم.
例子
در این مثال نحوه ایجاد یک جدول به نام "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(); } // جدول در پایگاه داده 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); ?>
مهم:قبل از ایجاد جدول، باید ابتدا پایگاه داده را انتخاب کنید. با استفاده از تابع mysql_select_db() پایگاه داده را انتخاب کنید.
توجه:هنگامی که یک فیلد نوع varchar در پایگاه داده ایجاد میکنید، باید طول حداکثر آن را تعیین کنید، به عنوان مثال: varchar(15).
نوعهای دادهی MySQL
نوعهای مختلف دادهی قابل استفاده در MySQL:
نوع دادهی عددی | 描述 |
---|---|
|
فقط اعداد صحیح را پشتیبانی میکند. در پارامتر size حداکثر عدد را تعیین کنید. |
|
پشتیبانی از اعداد با اعشار. در پارامتر size حداکثر عدد را تعیین کنید. در پارامتر d حداکثر تعداد اعداد پس از نقطه را تعیین کنید. |
نوع دادهی متن | 描述 |
---|---|
char(size) |
پشتیبانی از رشتههای طول ثابت. (میتواند شامل حروف، اعداد و نشانههای خاص باشد). در پارامتر size طول ثابت را تعیین کنید. |
varchar(size) |
پشتیبانی از رشتههای قابل تغییر طول. (میتواند شامل حروف، اعداد و نشانههای خاص باشد). در پارامتر size طول حداکثر را تعیین کنید. |
tinytext | پشتیبانی از رشتههای قابل تغییر طول، با حداکثر طول 255 کاراکتر. |
|
پشتیبانی از رشتههای قابل تغییر طول، با حداکثر طول 65535 کاراکتر. |
|
پشتیبانی از رشتههای قابل تغییر طول، با حداکثر طول 16777215 کاراکتر. |
|
پشتیبانی از رشتههای قابل تغییر طول، با حداکثر طول 4294967295 کاراکتر. |
نوع دادهی تاریخ | 描述 |
---|---|
|
支持日期或时间 |
杂项数据类型 | 描述 |
---|---|
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);
- 上一页 MySQL Connect
- 下一页 MySQL Insert