Objective
Create a table with AIDB's native multimedia column types. AIDB supports storing audio, video, images, and PDF documents directly in the database with format-specific type declarations.
Step 1: Create a Multimedia Content Table
Create a table showcasing all multimedia types with explicit format declarations.
CREATE TABLE multimedia_content (
id INTEGER PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
-- Image formats
photo IMAGE(JPEG),
screenshot IMAGE(PNG),
web_graphic IMAGE(WEBP),
-- Audio formats
music_track AUDIO(MP3),
voice_memo AUDIO(WAV),
podcast AUDIO(OGG),
-- Video formats
video_clip VIDEO(MP4),
legacy_video VIDEO(AVI),
web_video VIDEO(WEBM),
-- Document
document PDF,
-- Metadata
file_size BIGINT,
uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Step 2: Create Separate Media Tables
For better organization, create dedicated tables for each media type.
-- Image-specific table
CREATE TABLE image_library (
id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL,
jpeg_image IMAGE(JPEG),
png_image IMAGE(PNG),
webp_image IMAGE(WEBP),
gif_animation IMAGE(GIF),
bmp_image IMAGE(BMP),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Audio-specific table
CREATE TABLE audio_library (
id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL,
mp3_file AUDIO(MP3),
wav_file AUDIO(WAV),
flac_file AUDIO(FLAC),
aac_file AUDIO(AAC),
ogg_file AUDIO(OGG),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Video-specific table
CREATE TABLE video_library (
id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL,
mp4_file VIDEO(MP4),
avi_file VIDEO(AVI),
mkv_file VIDEO(MKV),
webm_file VIDEO(WEBM),
mov_file VIDEO(MOV),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Document table
CREATE TABLE document_library (
id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL,
pdf_document PDF,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);