Dưới đây là ba cách để lấy kiểu dữ liệu của một cột nhất định trong MariaDB.
\d
Lệnh
Trong psql, \d
lệnh hiển thị thông tin về bảng, dạng xem, dạng xem cụ thể hóa, chỉ mục, chuỗi hoặc bảng ngoại.
Chúng ta có thể sử dụng lệnh này để kiểm tra kiểu dữ liệu của các cột trong một bảng nhất định:
\d public.actor
Kết quả:
Table "public.actor" +-------------+-----------------------------+-----------+----------+-----------------------------------------+ | Column | Type | Collation | Nullable | Default | +-------------+-----------------------------+-----------+----------+-----------------------------------------+ | actor_id | integer | | not null | nextval('actor_actor_id_seq'::regclass) | | first_name | character varying(45) | | not null | | | last_name | character varying(45) | | not null | | | last_update | timestamp without time zone | | not null | now() | +-------------+-----------------------------+-----------+----------+-----------------------------------------+ Indexes: "actor_pkey" PRIMARY KEY, btree (actor_id) "idx_actor_last_name" btree (last_name) Referenced by: TABLE "film_actor" CONSTRAINT "film_actor_actor_id_fkey" FOREIGN KEY (actor_id) REFERENCES actor(actor_id) ON UPDATE CASCADE ON DELETE RESTRICT Triggers: last_updated BEFORE UPDATE ON actor FOR EACH ROW EXECUTE FUNCTION last_updated()
Chúng ta có thể thêm một dấu cộng (+
) để tiết lộ thông tin mở rộng:
\d+ public.actor
Kết quả:
Table "public.actor" +-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+ | Column | Type | Collation | Nullable | Default | Storage | Stats target | Description | +-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+ | actor_id | integer | | not null | nextval('actor_actor_id_seq'::regclass) | plain | | | | first_name | character varying(45) | | not null | | extended | | | | last_name | character varying(45) | | not null | | extended | | | | last_update | timestamp without time zone | | not null | now() | plain | | | +-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+ Indexes: "actor_pkey" PRIMARY KEY, btree (actor_id) "idx_actor_last_name" btree (last_name) Referenced by: TABLE "film_actor" CONSTRAINT "film_actor_actor_id_fkey" FOREIGN KEY (actor_id) REFERENCES actor(actor_id) ON UPDATE CASCADE ON DELETE RESTRICT Triggers: last_updated BEFORE UPDATE ON actor FOR EACH ROW EXECUTE FUNCTION last_updated() Access method: heap
information_schema.columns
Xem
information_schema.columns
chế độ xem chứa thông tin về các cột:
SELECT
column_name,
data_type,
character_maximum_length AS max_length,
character_octet_length AS octet_length
FROM
information_schema.columns
WHERE
table_schema = 'public' AND
table_name = 'actor' AND
column_name = 'first_name';
Kết quả:
+-------------+-------------------+------------+--------------+ | column_name | data_type | max_length | octet_length | +-------------+-------------------+------------+--------------+ | first_name | character varying | 45 | 180 | +-------------+-------------------+------------+--------------+
pg_typeof()
Chức năng
pg_typeof()
hàm trả về OID của kiểu dữ liệu của giá trị được chuyển cho nó.
Do đó, chúng tôi có thể sử dụng nó để lấy kiểu dữ liệu của một cột bằng cách chuyển cột đó đến pg_typeof()
chức năng trong khi truy vấn bảng:
SELECT pg_typeof(first_name)
FROM public.actor
LIMIT 1;
Kết quả:
+-------------------+ | pg_typeof | +-------------------+ | character varying | +-------------------+
Trong PostgreSQL, ký tự character varying
là tên của varchar
(thực ra, varchar
là bí danh cho ký tự character varying
).