写出广东工业大学数据库实验的sql代码
时间: 2024-10-17 12:07:07 浏览: 5
对不起,由于广东工业大学数据库实验的具体内容没有提供,我无法直接给出SQL代码示例。但是,我可以告诉你一般的步骤和一些常见的SQL查询例子,例如创建表、插入数据、查询数据等。
1. **创建表** (假设有一个学生信息表):
```sql
CREATE TABLE Students (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT,
Department VARCHAR(50)
);
```
2. **插入数据**:
```sql
INSERT INTO Students (ID, Name, Age, Department) VALUES (1, '张三', 20, '计算机科学系');
```
3. **查询数据** (如查找所有计算机科学系的学生):
```sql
SELECT * FROM Students WHERE Department = '计算机科学系';
```
4. **更新数据**:
```sql
UPDATE Students SET Age = 21 WHERE ID = 1;
```
5. **删除数据**:
```sql
DELETE FROM Students WHERE ID = 1;
```
如果你需要针对特定的实验任务编写SQL,比如分组统计、关联查询等,你需要提供更详细的问题描述。
相关问题
创建以这些字段,人名,性别,电话号码, 电子邮件,住址,年龄 ,学历,身份证号的假数据100条并写出导入数据库的sql语句
假设需要创建一个名为 `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');
...
```
创建以这些字段,人名,性别,电话号码, 电子邮件,住址,年龄 ,学历,身份证号的假数据1000条并写出导入数据库的sql语句
假设表名为`person_info`,SQL语句如下:
```
CREATE TABLE person_info (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
gender ENUM('male', 'female') NOT NULL,
phone VARCHAR(20) NOT NULL,
email VARCHAR(50) NOT NULL,
address VARCHAR(100) NOT NULL,
age INT NOT NULL,
education VARCHAR(50) NOT NULL,
id_card VARCHAR(20) NOT NULL
);
INSERT INTO person_info (name, gender, phone, email, address, age, education, id_card)
VALUES
('张三', 'male', '13911111111', 'zhangsan@163.com', '北京市海淀区中关村', 35, '本科', '110101198001010011'),
('李四', 'male', '13922222222', 'lisi@163.com', '上海市浦东新区张江', 28, '硕士', '310101199301010022'),
('王五', 'female', '13933333333', 'wangwu@163.com', '广东省深圳市南山区', 23, '本科', '440101199812310033'),
('赵六', 'male', '13944444444', 'zhaoliu@163.com', '河北省石家庄市裕华区', 42, '博士', '130101197901010044'),
('钱七', 'female', '13955555555', 'qianqi@163.com', '江苏省南京市鼓楼区', 31, '本科', '320101198801010055'),
...
-- 插入 995 条假数据
('张三丰', 'male', '13910000001', 'zsf@163.com', '湖北省武当山', 127, '无', '110101000000000001'),
('李白', 'male', '13910000002', 'libai@163.com', '陕西省咸阳市', 133, '无', '610101000000000002'),
('林黛玉', 'female', '13910000003', 'lindaiyu@163.com', '江苏省苏州市', 18, '高中', '320101200001010003'),
('贾宝玉', 'male', '13910000004', 'jiabaoyu@163.com', '北京市宣武门大街', 16, '初中', '110101200301010004'),
('薛宝钗', 'female', '13910000005', 'xuebaochai@163.com', '江苏省无锡市', 22, '本科', '320101199901010005');
```
注:这里生成的身份证号为随机生成,不涉及真实身份证号,仅供参考。
阅读全文