Veri Türleri
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."
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
