生成一个Mysql数据表并提供DDL语句、插入语句、插入大量数据。提供给我做慢查询测试
时间: 2024-02-07 11:01:57 浏览: 22
好的,下面是一个示例的 MySQL 数据表,以及相应的 DDL 语句、插入语句和插入大量数据的语句,供您进行慢查询测试:
DDL语句:
```sql
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY username (username),
UNIQUE KEY email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
插入语句:
```sql
INSERT INTO users (username, password, email) VALUES
('user1', 'password1', 'user1@example.com'),
('user2', 'password2', 'user2@example.com'),
('user3', 'password3', 'user3@example.com'),
('user4', 'password4', 'user4@example.com'),
('user5', 'password5', 'user5@example.com');
```
插入大量数据的语句:
```sql
INSERT INTO users (username, password, email)
SELECT CONCAT('user', n), MD5(CONCAT('password', n)), CONCAT('user', n, '@example.com')
FROM (
SELECT n FROM (
SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
UNION ALL SELECT 8 UNION ALL SELECT 9
) AS digits
CROSS JOIN (
SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
UNION ALL SELECT 8 UNION ALL SELECT 9
) AS tens
CROSS JOIN (
SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
UNION ALL SELECT 8 UNION ALL SELECT 9
) AS hundreds
LIMIT 10000
) AS numbers;
```
以上语句将会创建一个名为 `users` 的数据表,并向其中插入 5 条记录,以及插入 10000 条随机生成的记录。请注意,插入大量数据的语句可能需要一些时间来完成。
希望这些语句能够帮助您进行慢查询测试!