本文目录导读:

- Python + Faker 库(最推荐)
- Node.js + Faker.js
- SQL 占位数据(MySQL/PostgreSQL)
- Bash + Linux 命令
- Java + JavaFaker
- 数据库专用工具
- 快速使用建议
Python + Faker 库(最推荐)
# 安装: pip install faker
from faker import Faker
import json
fake = Faker('zh_CN') # 中文数据
# 生成单条数据
def generate_user():
return {
'name': fake.name(),
'email': fake.email(),
'phone': fake.phone_number(),
'address': fake.address(),
'company': fake.company(),
'created_at': str(fake.date_time_this_year())
}
# 生成多条数据
users = [generate_user() for _ in range(10)]
# 保存到JSON文件
with open('fake_users.json', 'w', encoding='utf-8') as f:
json.dump(users, f, ensure_ascii=False, indent=2)
print("数据生成完成!")
Node.js + Faker.js
// 安装: npm install @faker-js/faker
const { faker } = require('@faker-js/faker');
const fs = require('fs');
// 生成用户数据
const users = Array.from({ length: 100 }, (_, i) => ({
id: i + 1,
name: faker.person.fullName(),
email: faker.internet.email(),
phone: faker.phone.number(),
city: faker.location.city(),
job: faker.person.jobTitle(),
bio: faker.lorem.paragraph(),
registered: faker.date.past()
}));
// 保存为JSON
fs.writeFileSync('users.json', JSON.stringify(users, null, 2));
console.log('生成了100条用户数据');
SQL 占位数据(MySQL/PostgreSQL)
-- 生成100条用户记录
INSERT INTO users (name, email, phone, created_at)
SELECT
CONCAT('用户', LPAD(seq, 4, '0')),
CONCAT('user', seq, '@example.com'),
CONCAT('138', LPAD(FLOOR(RAND() * 100000000), 8, '0')),
DATE_ADD('2023-01-01', INTERVAL FLOOR(RAND() * 365) DAY)
FROM (
SELECT @row := @row + 1 AS seq
FROM information_schema.columns,
(SELECT @row := 0) r
LIMIT 100
) t;
-- 生成日期序列数据
WITH RECURSIVE dates AS (
SELECT '2023-01-01' AS date
UNION ALL
SELECT DATE_ADD(date, INTERVAL 1 DAY)
FROM dates
WHERE date < '2023-12-31'
)
SELECT * FROM dates;
Bash + Linux 命令
#!/bin/bash
# 生成100行CSV占位数据
for i in $(seq 1 100); do
echo "$i,user_$i,$(date -d "2023-01-01 + $i days" +%Y-%m-%d),$(($RANDOM % 10000 + 1000))"
done > data.csv
# 生成UUID列表
for i in {1..10}; do
uuidgen
done > uuids.txt
# 生成手机号
for i in {1..10}; do
echo "138$(printf '%08d' $RANDOM)"
done > phones.txt
Java + JavaFaker
// Maven依赖: com.github.javafaker:javafaker:1.0.2
import com.github.javafaker.Faker;
import java.util.*;
import java.io.*;
public class DataGenerator {
public static void main(String[] args) throws IOException {
Faker faker = new Faker(new Locale("zh-CN"));
List<Map<String, String>> users = new ArrayList<>();
for (int i = 0; i < 50; i++) {
Map<String, String> user = new HashMap<>();
user.put("id", String.valueOf(i + 1));
user.put("name", faker.name().fullName());
user.put("address", faker.address().fullAddress());
user.put("phone", faker.phoneNumber().phoneNumber());
user.put("email", faker.internet().emailAddress());
users.add(user);
}
// 输出JSON
ObjectMapper mapper = new ObjectMapper();
mapper.writerWithDefaultPrettyPrinter()
.writeValue(new File("users.json"), users);
System.out.println("生成了50条用户数据");
}
}
数据库专用工具
SQLite
-- 生成时间序列数据
WITH RECURSIVE cnt(x) AS (
SELECT 1
UNION ALL
SELECT x + 1 FROM cnt WHERE x < 100
)
SELECT
x as id,
'用户' || x as name,
'user' || x || '@test.com' as email,
datetime('now', '-' || x || ' days') as created_at
FROM cnt;
MongoDB
// mongo shell 脚本
db.users.insertMany(
Array.from({length: 100}, (_, i) => ({
name: `用户${i + 1}`,
email: `user${i + 1}@test.com`,
age: Math.floor(Math.random() * 50) + 20,
createdAt: new Date(Date.now() - i * 86400000)
}))
);
快速使用建议
最快速的方法(无需安装)
# 生成100个随机字符串(Linux/Mac)
for i in {1..100}; do echo "data_$i,$RANDOM,$(date +%s)"; done > quick_data.csv
Python一行代码(需安装faker)
python -c "from faker import Faker; f=Faker(); [print(f.name(), f.email()) for _ in range(10)]"
在线工具(无需编码)
- JSON Generator: https://json-generator.com/
- Mockaroo: https://www.mockaroo.com/
- RandomUser: https://randomuser.me/
选择哪种方法取决于你的需求:
- Python: 最灵活,数据类型丰富
- SQL: 直接生成数据库测试数据
- Bash: 最轻量,适合简单CSV数据
- 在线工具: 零代码,适合一次性需求
需要我为你生成特定类型的数据吗?
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播