You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RTSPtoWeb/database_init.sql

101 lines
3.6 KiB
Transact-SQL

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

-- 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
*/