Veri Türleri
"ZN Framework'te tema entegrasyonu sürükle bırak kadar basit bir şekilde gerçekleştirilebilmektedir."
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
DB::int(int $len = NULL, bool $type = true) : string |
DB::smallInt(int $len = NULL, bool $type = true) : string |
DB::tinyInt(int $len = NULL, bool $type = true) : string |
DB::mediumInt(int $len = NULL, bool $type = true) : string |
DB::bigInt(int $len = NULL, bool $type = true) : string |
DB::decimal(int $len = NULL, bool $type = true) : string |
DB::double(int $len = NULL, bool $type = true) : string |
DB::float(int $len = NULL, bool $type = true) : string |
DB::char(int $len = NULL, bool $type = true) : string |
DB::varchar(int $len = NULL, bool $type = true) : string |
DB::tinyText() : string |
DB::text() : string |
DB::mediumText() : string |
DB::longText() : string |
DB::date(int $len = NULL, bool $type = true) : string |
DB::dateTime(int $len = NULL, bool $type = true) : string |
DB::time(int $len = NULL, bool $type = true) : string |
DB::timeStamp(int $len = NULL, bool $type = true) : string |
# Int
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::int(11); # INT(11)
DBForge::addColumn('persons' , [ 'id' => [DB::int(11), DB::primaryKey(), DB::autoIncrement()] ]);
# SmallInt
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::smallInt(11); # SMALLINT(11)
# TinyInt
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::tinyInt(11); # TINYINT(11)
# MediumInt
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::mediumInt(11); # MEDIUMINT(11)
# BigInt
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::bigInt(11); # BIGINT(11)
# Decimal
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::decimal(11); # DECIMAL(11)
# Double
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::double(11); # DOUBLE(11)
# Float
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::float(11); # FLOAT(11)
# Char
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::char(1); # CHAR(1)
# Varchar
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::varchar(200); # VARCHAR(200)
# TinyText
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.
Parametreler
return string |
Kullanımı
echo DB::tinyText(); # TINYTEXT;
# Text
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.
Parametreler
return string |
Kullanımı
echo DB::text(); # TEXT
# MediumText
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.
Parametreler
return string |
Kullanımı
echo DB::mediumText(); # MEDIUMTEXT
# LongText
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.
Parametreler
return string |
Kullanımı
echo DB::longText(); # LONGTEXT
# Date
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::date(); # DATE
# DateTime
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::dateTime(); # DATETIME
# Time
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::time(); # TIME
# TimeStamp
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.
Parametreler
int $length = NULL | Kolon karakter uzunluğu. |
return string |
Kullanımı
echo DB::timeStamp(); # TIMESTAMP