创建以这些字段,人名,性别,电话号码, 电子邮件,住址,年龄 ,学历,身份证号的假数据100条并写出导入数据库的sql语句
时间: 2024-06-08 12:10:45 浏览: 96
假设需要创建一个名为 `fake_info` 的表来存储这些信息,字段类型如下:
- `id`: 自增主键
- `name`: VARCHAR(255) 人名
- `gender`: VARCHAR(10) 性别
- `phone`: VARCHAR(20) 电话号码
- `email`: VARCHAR(255) 电子邮件
- `address`: VARCHAR(255) 住址
- `age`: INT 年龄
- `education`: VARCHAR(255) 学历
- `id_card`: VARCHAR(20) 身份证号
那么可以使用 Python 的 Faker 库来生成假数据,并且使用 MySQL 数据库。
```python
from faker import Faker
import mysql.connector
fake = Faker('zh_CN')
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="123456",
database="testdb"
)
# 创建表
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE fake_info (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), gender VARCHAR(10), phone VARCHAR(20), email VARCHAR(255), address VARCHAR(255), age INT, education VARCHAR(255), id_card VARCHAR(20))")
# 生成假数据并插入数据库
for i in range(100):
name = fake.name()
gender = fake.random_element(elements=('男', '女'))
phone = fake.phone_number()
email = fake.email()
address = fake.address()
age = fake.random_int(min=18, max=80)
education = fake.random_element(elements=('高中', '大专', '本科', '硕士', '博士'))
id_card = fake.ssn()
sql = "INSERT INTO fake_info (name, gender, phone, email, address, age, education, id_card) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"
val = (name, gender, phone, email, address, age, education, id_card)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "条记录插入成功。")
```
执行上述代码后,会在 MySQL 数据库中创建一个名为 `fake_info` 的表,并且向该表中插入 100 条假数据。下面是导入数据库的 SQL 语句:
```sql
INSERT INTO fake_info (name, gender, phone, email, address, age, education, id_card) VALUES ('XXX', '男', '13712345678', 'XXX@163.com', '广东省深圳市南山区XXX路XX号XXX大厦XXX室', 25, '本科', '440524199001011234');
INSERT INTO fake_info (name, gender, phone, email, address, age, education, id_card) VALUES ('XXX', '女', '13912345678', 'XXX@qq.com', '广东省广州市越秀区XXX路XX号XXX大厦XXX室', 30, '硕士', '440106199005012345');
...
```
阅读全文