DDL
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
createDate DATE NOT NULL,
userName VARCHAR(255) NOT NULL,
age INT NOT NULL,
sex ENUM('M', 'F', 'O') NOT NULL,
introduce TEXT
);
DML
import random
import string
from datetime import datetime
import pymysql
# 数据库连接配置
config = {
'host': 'localhost',
'user': 'your_username',
'password': 'your_password',
'database': 'your_database',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor
}
# 连接数据库
connection = pymysql.connect(**config)
try:
with connection.cursor() as cursor:
for i in range(200000):
user_name = 'StudentName' + str(i)
create_date = datetime.now().strftime('%Y-%m-%d')
age = random.randint(18, 30)
sex = random.choice(['M', 'F', 'O'])
introduce = f'This is an introduction for {user_name}.'
sql = "INSERT INTO student (createDate, userName, age, sex, introduce) VALUES (%s, %s, %s, %s, %s)"
cursor.execute(sql, (create_date, user_name, age, sex, introduce))
# 提交事务
connection.commit()
finally:
connection.close()
DQL
SELECT
id,
createDate,
userName,
age,
sex,
CASE
WHEN sex = 'F' THEN '姑娘'
WHEN sex = 'M' THEN '大老爷们'
WHEN sex = 'O' THEN '泰国妹妹'
ELSE '未知' -- 可选,用于处理除'M', 'F', 'O'之外的其他意外情况
END AS nickname,
introduce
FROM
student;