-- MySQL数据库初始化脚本 -- 创建数据库 CREATE DATABASE IF NOT EXISTS rtsp_cameras CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 使用数据库 USE rtsp_cameras; -- 创建摄像头表 CREATE TABLE IF NOT EXISTS cameras ( id VARCHAR(36) PRIMARY KEY COMMENT '摄像头唯一标识符', name VARCHAR(255) NOT NULL COMMENT '摄像头名称', ip VARCHAR(45) NOT NULL COMMENT 'IP地址', username VARCHAR(100) DEFAULT NULL COMMENT '用户名', password VARCHAR(255) DEFAULT NULL COMMENT '密码', rtsp_url VARCHAR(500) NOT NULL COMMENT 'RTSP URL', enabled BOOLEAN DEFAULT TRUE COMMENT '是否启用', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX idx_name (name), INDEX idx_ip (ip), INDEX idx_enabled (enabled), INDEX idx_created_at (created_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='摄像头信息表'; -- 插入示例数据 INSERT INTO cameras (id, name, ip, username, password, rtsp_url, enabled) VALUES ('27aec28e-6181-4753-9acd-0456a75f0289', '测试摄像头1', '192.168.1.100', 'admin', 'admin123', 'rtsp://192.168.1.100:554/stream1', TRUE), ('38bfd39f-7292-5864-0bde-1567b86f1390', '测试摄像头2', '192.168.1.101', 'admin', 'admin123', 'rtsp://192.168.1.101:554/stream1', TRUE) ON DUPLICATE KEY UPDATE name = VALUES(name), ip = VALUES(ip), username = VALUES(username), password = VALUES(password), rtsp_url = VALUES(rtsp_url), enabled = VALUES(enabled), updated_at = CURRENT_TIMESTAMP; -- SQL Server数据库初始化脚本(注释版本) /* -- 创建数据库 IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'rtsp_cameras') BEGIN CREATE DATABASE rtsp_cameras; END GO -- 使用数据库 USE rtsp_cameras; GO -- 创建摄像头表 IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='cameras' AND xtype='U') BEGIN CREATE TABLE cameras ( id NVARCHAR(36) PRIMARY KEY, name NVARCHAR(255) NOT NULL, ip NVARCHAR(45) NOT NULL, username NVARCHAR(100) NULL, password NVARCHAR(255) NULL, rtsp_url NVARCHAR(500) NOT NULL, enabled BIT DEFAULT 1, created_at DATETIME2 DEFAULT GETDATE(), updated_at DATETIME2 DEFAULT GETDATE() ); -- 创建索引 CREATE INDEX idx_cameras_name ON cameras(name); CREATE INDEX idx_cameras_ip ON cameras(ip); CREATE INDEX idx_cameras_enabled ON cameras(enabled); CREATE INDEX idx_cameras_created_at ON cameras(created_at); END GO -- 创建更新触发器 IF NOT EXISTS (SELECT * FROM sys.triggers WHERE name = 'tr_cameras_update') BEGIN EXEC('CREATE TRIGGER tr_cameras_update ON cameras AFTER UPDATE AS BEGIN UPDATE cameras SET updated_at = GETDATE() WHERE id IN (SELECT id FROM inserted); END'); END GO -- 插入示例数据 IF NOT EXISTS (SELECT * FROM cameras WHERE id = '27aec28e-6181-4753-9acd-0456a75f0289') BEGIN INSERT INTO cameras (id, name, ip, username, password, rtsp_url, enabled) VALUES ('27aec28e-6181-4753-9acd-0456a75f0289', N'测试摄像头1', N'192.168.1.100', N'admin', N'admin123', N'rtsp://192.168.1.100:554/stream1', 1); END IF NOT EXISTS (SELECT * FROM cameras WHERE id = '38bfd39f-7292-5864-0bde-1567b86f1390') BEGIN INSERT INTO cameras (id, name, ip, username, password, rtsp_url, enabled) VALUES ('38bfd39f-7292-5864-0bde-1567b86f1390', N'测试摄像头2', N'192.168.1.101', N'admin', N'admin123', N'rtsp://192.168.1.101:554/stream1', 1); END GO */