Rumah  >  Artikel  >  Tutorial sistem  >  Ringkasan pembelajaran Mariadb (3): jenis data

Ringkasan pembelajaran Mariadb (3): jenis data

王林
王林asal
2024-07-18 08:15:011115semak imbas
Jenis data

Jenis data-> ialah abstraksi klasifikasi data dengan atribut dan sifat yang sama.

Contohnya:
Rentetan ialah rentetan yang terdiri daripada aksara... Dalam komputer, subrentetan boleh dibahagikan dan aksara baharu boleh ditambah pada penghujung rentetan Walau bagaimanapun, operasi sedemikian hanya boleh beroperasi pada data rentetan, bukan pada data rentetan .
Jenis angka, angka Arab yang paling sering kita dedahkan, boleh digunakan untuk operasi aritmetik, operasi logik dan operasi lain

Jenis data dalam Mysql

MySQL menyokong pelbagai jenis, yang boleh dibahagikan secara kasar kepada tiga kategori: jenis berangka, tarikh/masa dan rentetan (karakter).

Jenis angka

Ringkasan pembelajaran Mariadb (3): jenis data

1 Untuk jenis integer, anda boleh mengehadkan panjangnya, formatnya adalah seperti berikut:

整数类型[(M)] [SIGNED | UNSIGNED | ZEROFILL]

M ialah bilangan digit dalam nombor Contohnya, TINYINT(3) hanya boleh menyimpan tiga digit, dan bilangan digit tidak boleh melebihi julat yang boleh diwakili
. DITANDATANGANI: Nombor lalai ialah nombor yang ditandatangani
TIDAK BERTANDA: dinyatakan sebagai nombor tidak bertanda
ZEROFILL: Apabila M bit tidak berpuas hati, bahagian hadapan diisi dengan 0 dan menjadi nombor tidak bertanda

2 Untuk nombor titik terapung, bilangan keseluruhan digit dan bilangan tempat perpuluhan boleh dihadkan

(FLOAT|DOUBLE)[(M,D)] [SIGNED | UNSIGNED | ZEROFILL]

M ialah jumlah bilangan digit, D ialah bilangan digit selepas titik perpuluhan
ZEROFILL mempunyai kesan yang sama seperti UNSIGNED untuk jenis titik terapung

MariaDB [mydb]> DESC t1;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| c1    | float(5,2)   | YES  |     | NULL    |       |
| c2    | double(10,3) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

MariaDB [mydb]> INSERT INTO t1 VALUES(23.5,12.34566777);
Query OK, 1 row affected (0.01 sec)

MariaDB [mydb]> SELECT * FROM t1;   //这里可以看到,在其后补了0
+-------+--------+
| c1    | c2     |
+-------+--------+
| 23.50 | 12.346 |
+-------+--------+
1 row in set (0.00 sec)

Tarikh dan Masa Jenis

Ringkasan pembelajaran Mariadb (3): jenis data

Format singkatan: Format tarikh dan masa, sebagai tambahan kepada format standard, ia juga menyokong format longgar.

Buat jadual ujian dengan struktur berikut:

MariaDB [mydb]> desc datetable;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type      | Null | Key | Default           | Extra                       |
+-------+-----------+------+-----+-------------------+-----------------------------+
| c1    | date      | YES  |     | NULL              |                             |
| c2    | time      | YES  |     | NULL              |                             |
| c3    | datetime  | YES  |     | NULL              |                             |
| c4    | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+

Untuk jenis DATE: YY-MM-DD, YYMMDD, YYYY/MM/DD

MariaDB [mydb]> INSERT INTO datetable(c1) VALUES('2018-01-01'),('18-01-01'),
    -> ('180101'),('2018/01/01'),(180101);
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

MariaDB [mydb]> SELECT c1 FROM datetable;
+------------+
| c1         |
+------------+
| 2018-01-01 |
| 2018-01-01 |
| 2018-01-01 |
| 2018-01-01 |
| 2018-01-01 |
+------------+
5 rows in set (0.00 sec)

Untuk jenis TIME: 'D HH:MM:SS', 'HH:MM:SS', 'HH:MM', 'D HH:MM', 'D HH', 'SS', 'HHMMSS'
D bermaksud hari, iaitu TIME+D*24

MariaDB [mydb]> INSERT INTO datetable(c2) VALUES
    -> ('12:20:20'),('1 12:20:20'),
    -> ('12:20'),('1 12'),('20'),('122020'), 
    -> (122020);
Query OK, 7 rows affected (0.03 sec)
Records: 7  Duplicates: 0  Warnings: 0

MariaDB [mydb]> SELECT c2 FROM datetable;
+----------+
| c2       |
+----------+
| 12:20:20 |
| 36:20:20 |
| 12:20:00 |
| 36:00:00 |
| 00:00:20 |
| 12:20:20 |
| 12:20:20 |
+----------+
7 rows in set (0.00 sec)

Untuk dua format DATETIME dan TIMESTAMP, ia adalah singkatan daripada format singkatan masa di atas, contohnya:

20180101122020 -> '2018-01-01 12:20:20'

Untuk format TIMESTAMP, yang lebih biasa digunakan, harus dikatakan bahawa ia menyimpan bilangan milisaat dari '1970-01-01 00:00:00' hingga masa penyimpanannya boleh menjadi CURRENT_TIMESTAMP atau sinonimnya : CURRENT_TIMESTAMP() , NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP,LOCALTIMESTAMP()

Jenis rentetan

Ringkasan pembelajaran Mariadb (3): jenis data

Jenis CHAR dan VARCHAR adalah serupa, tetapi ia disimpan dan diambil secara berbeza. Ia juga berbeza dari segi panjang maksimumnya dan sama ada ruang mengekor dikekalkan. Tiada penukaran kes dilakukan semasa penyimpanan atau pengambilan semula.

BINARY dan VARBINARY kelas adalah serupa dengan CHAR dan VARCHAR, kecuali ia mengandungi rentetan binari dan bukannya rentetan bukan binari. Iaitu, ia mengandungi rentetan bait dan bukannya rentetan aksara. Ini bermakna mereka tidak mempunyai set aksara dan pengisihan serta perbandingan adalah berdasarkan nilai berangka bait nilai lajur.

BLOB ialah objek besar binari yang boleh menyimpan jumlah data yang berubah-ubah:
Terdapat 4 jenis BLOB: TINYBLOB, BLOB, MEDIUMBLOB dan LONGBLOB. Mereka hanya berbeza dalam panjang maksimum yang mereka boleh menyimpan nilai.
Terdapat 4 jenis TEKS: TINYTEXT, TEXT, MEDIUMTEXT dan LONGTEXT. Ini sepadan dengan 4 jenis BLOB, dengan panjang maksimum dan keperluan penyimpanan yang sama.

Jenis lain

Jenis penghitungan: ENUM('value1','value2',...)
Bait storan: Kerana ia menyimpan nombor elemen, elemen 0-255 hanya menduduki satu bait, manakala 255-65535 menduduki dua elemen

Atas ialah kandungan terperinci Ringkasan pembelajaran Mariadb (3): jenis data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Petua pembelajaran LinuxArtikel seterusnya:Petua pembelajaran Linux