Veri Türleri
"Dinamik bir kütüphaneyi tanımlarken sınıf isminin başına Internal ön eki getirirerek statik erişimli hale getirebilirsiniz. "
(ZN >= 3.0.0)
Bu bölümde veritabanı sürücülerine göre farklılık gösteren veri türlerinin nasıl hepsinde ortak kullanılacağını göstereceğiz. Aşağıda veri türlerinin veritabanı platformlarına göre değişimini gösteren tablo yer almaktadır.
MySQL | Postgres | SQLite | SQLServer | ODBC | Oracle |
int | intEGER | intEGER | int | intEGER | NUMBER |
SMALLINT | SMALLINT | SMALLINT | SMALLINT | SMALLINT | NUMBER |
TINYINT | SMALLINT | TINYINT | TINYINT | TINYINT | NUMBER |
MEDIUMINT | intEGER | MEDIUMINT | int | intEGER | NUMBER |
BIGINT | BIGINT | BIGINT | BIGINT | BIGINT | NUMBER |
DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL |
DOUBLE | DOUBLE PRECISION | DOUBLE | float | float | float |
float | NUMERIC | float | float | float | float |
CHAR | CHARACTER | CHARACTER | CHAR | CHAR | CHAR |
VARCHAR | CHARACTER VARYING | VARCHAR | VARCHAR | VARCHAR | VARCHAR2 |
TINYTEXT | CHARACTER VARYING(255) | VARCHAR(255) | VARCHAR(255) | VARCHAR(255) | VARCHAR2(255) |
TEXT | TEXT | TEXT | VARCHAR(65535) | VARCHAR(65535) | VARCHAR2(65535) |
MEDIUMTEXT | TEXT | CLOB | VARCHAR(16277215) | VARCHAR(16277215) | VARCHAR2(16277215) |
LONGTEXT | TEXT | BLOB | VARCHAR(16277215) | VARCHAR(16277215) | CLOB |
DATE | DATE | DATE | DATE | DATE | DATE |
DATETIME | TIMESTAMP | DATETIME | DATETIME | DATETIME | TIMESTAMP |
TIME | TIME | DATETIME | TIME | TIME | TIMESTAMP |
TIMESTAMP | TIMESTAMP | DATETIME | TIMESTAMP | TIMESTAMP | TIMESTAMP |
Yukarıdaki farklılıkları gidermek için bu veri türlerine göre yöntemler oluşturulmuştur. Bu yöntemlerin nasıl kullanılacağı ile ilgili bir örnek aşağıda verilmiştir.
# Yöntemler
# Int (ZN >= 3.0.0)
SQL int deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::int(11); # INT(11)
DBForge::addColumn('persons' ,
[
'id' => [DB::int(11), DB::primaryKey(), DB::autoIncrement()]
]);
# SmallInt (ZN >= 3.0.0)
SQL SMALLINT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::smallInt(11); # SMALLINT(11)
# TinyInt (ZN >= 3.0.0)
SQL TINYINT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::tinyInt(11); # TINYINT(11)
# MediumInt (ZN >= 3.0.0)
SQL MEDIUMINT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::mediumInt(11); # MEDIUMINT(11)
# BigInt (ZN >= 3.0.0)
SQL BIGINT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::bigInt(11); # BIGINT(11)
# Decimal (ZN >= 3.0.0)
SQL DECIMAL deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::decimal(11); # DECIMAL(11)
# Double (ZN >= 3.0.0)
SQL DOUBLE deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::double(11); # DOUBLE(11)
# Float (ZN >= 3.0.0)
SQL float deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::float(11); # FLOAT(11)
# Char (ZN >= 3.0.0)
SQL CHAR deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::char(1); # CHAR(1)
# Varchar (ZN >= 3.0.0)
SQL VARCHAR deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::varchar(200); # VARCHAR(200)
# TinyText (ZN >= 3.0.0)
SQL TINYTEXT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
void | ||
return | string |
echo DB::tinyText(); # TINYTEXT;
# Text (ZN >= 3.0.0)
SQL TEXT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
void | ||
return | string |
echo DB::text(); # TEXT
# MediumText (ZN >= 3.0.0)
SQL MEDIUMTEXT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
void | ||
return | string |
echo DB::mediumText(); # MEDIUMTEXT
# LongText (ZN >= 3.0.0)
SQL LONGTEXT deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
void | ||
return | string |
echo DB::longText(); # LONGTEXT
# Date (ZN >= 3.0.0)
SQL DATE deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::date(); # DATE
# DateTime (ZN >= 3.0.0)
SQL DATETIME deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::dateTime(); # DATETIME
# Time (ZN >= 3.0.0)
MYSQL TIME deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::time(); # TIME
# TimeStamp (ZN >= 3.0.0)
MYSQL TIMESTAMP deyiminin karşılığıdır. Ancak yöntemin çıktısı yukarıdaki tabloya göre seçili veritabanı sürüsünün türüne göre değişiklik göstermektedir.
int | $length = NULL | Kolon karakter uzunluğu. |
return | string |
echo DB::timeStamp(); # TIMESTAMP