Files
chat-demo-server/db/sql.txt
T
2026-09-20 17:13:43 +08:00

100 lines
3.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
CREATE TABLE chat_mysql.users (
username VARCHAR(50) PRIMARY KEY,
password VARCHAR(255) NOT NULL
);
SET SQL_SAFE_UPDATES = 0;
DELETE FROM chat_mysql.users;
SET SQL_SAFE_UPDATES = 1;
INSERT INTO chat_mysql.users (username, password)
VALUES
('admin', '123'),
('query', '123'),
('tom', '123'),
('jack', '123'),
('lucy', '123');
select * from chat_mysql.users;
CREATE TABLE chat_mysql.contacts (
user_name VARCHAR(50) NOT NULL,
contact_name VARCHAR(50) NOT NULL,
PRIMARY KEY (user_name, contact_name),
FOREIGN KEY (user_name)
REFERENCES chat_mysql.users(username),
FOREIGN KEY (contact_name)
REFERENCES chat_mysql.users(username)
);
INSERT INTO chat_mysql.contacts (user_name, contact_name)
VALUES
('admin', 'query'),
('admin', 'tom'),
('admin', 'jack'),
('admin', 'lucy'),
('query', 'admin'),
('query', 'tom'),
('tom', 'admin'),
('tom', 'query');
select * from chat_mysql.contacts;
CREATE TABLE chat_mysql.messages (
id INT PRIMARY KEY AUTO_INCREMENT,
sender_name VARCHAR(50) NOT NULL,
receiver_name VARCHAR(50) NOT NULL,
content VARCHAR(1000) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (sender_name)
REFERENCES chat_mysql.users(username),
FOREIGN KEY (receiver_name)
REFERENCES chat_mysql.users(username)
);
INSERT INTO chat_mysql.messages
(sender_name, receiver_name, content, created_at)
VALUES
-- admin ↔ query
('admin', 'query', '你好,最近怎么样?', '2026-09-20 10:00:00'),
('query', 'admin', '挺好的,你呢?', '2026-09-20 10:01:00'),
('admin', 'query', '我也不错,最近在做聊天项目。', '2026-09-20 10:02:00'),
('query', 'admin', '听起来不错,是用 Vue 做的吗?', '2026-09-20 10:03:00'),
('admin', 'query', '对,前端使用 Vue2,后端使用 Node.js。', '2026-09-20 10:04:00'),
('query', 'admin', '那数据库使用 MySQL?', '2026-09-20 10:05:00'),
('admin', 'query', '对,目前正在完善聊天功能。', '2026-09-20 10:06:00'),
-- admin ↔ tom
('admin', 'tom', '你今天有空吗?', '2026-09-20 11:00:00'),
('tom', 'admin', '有啊,怎么了?', '2026-09-20 11:01:00'),
('admin', 'tom', '想和你讨论一下项目。', '2026-09-20 11:02:00'),
('tom', 'admin', '可以,什么时间方便?', '2026-09-20 11:03:00'),
('admin', 'tom', '下午三点怎么样?', '2026-09-20 11:04:00'),
('tom', 'admin', '没问题。', '2026-09-20 11:05:00'),
-- admin ↔ jack
('jack', 'admin', '周末一起吃饭吗?', '2026-09-20 12:00:00'),
('admin', 'jack', '可以啊,去哪吃?', '2026-09-20 12:01:00'),
('jack', 'admin', '附近找一家餐厅吧。', '2026-09-20 12:02:00'),
('admin', 'jack', '好的,晚上六点怎么样?', '2026-09-20 12:03:00'),
('jack', 'admin', '可以,到时候联系。', '2026-09-20 12:04:00'),
-- admin ↔ lucy
('admin', 'lucy', '最近项目进展怎么样?', '2026-09-20 13:00:00'),
('lucy', 'admin', '目前进展还不错。', '2026-09-20 13:01:00'),
('admin', 'lucy', '还有哪些功能没有完成?', '2026-09-20 13:02:00'),
('lucy', 'admin', '主要是消息通知和联系人功能。', '2026-09-20 13:03:00'),
('admin', 'lucy', '好的,我这边也在做消息功能。', '2026-09-20 13:04:00'),
-- query ↔ tom
('query', 'tom', '你知道聊天项目怎么做 WebSocket 吗?', '2026-09-20 14:00:00'),
('tom', 'query', '知道一些,可以用来做实时消息。', '2026-09-20 14:01:00'),
('query', 'tom', '我也准备把项目改成 WebSocket。', '2026-09-20 14:02:00'),
('tom', 'query', '这样聊天消息可以实时推送。', '2026-09-20 14:03:00'),
-- tom ↔ query
('tom', 'query', '联系人比较多的时候怎么办?', '2026-09-20 15:00:00'),
('query', 'tom', '不需要每个联系人都创建一个 WebSocket。', '2026-09-20 15:01:00'),
('tom', 'query', '一个用户维护一个 WebSocket 连接就可以了。', '2026-09-20 15:02:00');
select * from chat_mysql.messages;