mysql创建gradem表
时间: 2024-11-03 10:14:16 浏览: 1
在MySQL中,你可以使用CREATE TABLE语句来创建一个名为`gradem`的表,用于存储学生的成绩信息。下面是一个基本的创建表格的例子:
```sql
CREATE TABLE gradem (
id INT AUTO_INCREMENT PRIMARY KEY, -- 学生ID,自增长主键
student_name VARCHAR(100) NOT NULL, -- 学生姓名
subject VARCHAR(50), -- 科目名称
score DECIMAL(3, 1) NOT NULL, -- 成绩,保留一位小数
date DATE, -- 成绩记录日期
FOREIGN KEY (student_name) REFERENCES students(name) -- 如果有学生表,通过学生名字关联
);
```
在这个例子中,`gradem`表包含了字段如学生ID(id)、学生姓名(student_name)、科目(subject)、成绩(score)和成绩记录日期(date)。注意,这里假设有一个名为`students`的表,其`name`字段用于外键引用。
相关问题
mysql在Gradem数据库中创建管理数据表
要在MySQL的`Gradem`数据库中创建管理数据表,可以按照以下步骤执行:
### 1. 连接到数据库
首先,连接到MySQL服务器并选择`Gradem`数据库:
```sql
mysql -u username -p
USE Gradem;
```
### 2. 创建表
根据提供的表结构,使用`CREATE TABLE`语句创建各个表:
#### `student` 表
```sql
CREATE TABLE student (
sno CHAR(10) NOT NULL,
sname VARCHAR(8),
ssex CHAR(2),
sbirthday DATE,
saddress VARCHAR(50),
sdept CHAR(16),
speciality VARCHAR(20),
PRIMARY KEY (sno)
);
```
#### `course` 表
```sql
CREATE TABLE course (
cno CHAR(5) NOT NULL,
cname VARCHAR(20) NOT NULL,
PRIMARY KEY (cno)
);
```
#### `sc` 表
```sql
CREATE TABLE sc (
sno CHAR(10) NOT NULL,
cno CHAR(5) NOT NULL,
degree DECIMAL(4, 1),
PRIMARY KEY (sno, cno),
FOREIGN KEY (sno) REFERENCES student(sno),
FOREIGN KEY (cno) REFERENCES course(cno)
);
```
#### `teacher` 表
```sql
CREATE TABLE teacher (
tno CHAR(3) NOT NULL,
tname VARCHAR(8),
tsex CHAR(2),
tbirthday DATE,
tdept CHAR(16),
PRIMARY KEY (tno)
);
```
#### `teaching` 表
```sql
CREATE TABLE teaching (
cno CHAR(5) NOT NULL,
tno CHAR(3) NOT NULL,
cterm TINYINT,
PRIMARY KEY (cno, tno),
FOREIGN KEY (cno) REFERENCES course(cno),
FOREIGN KEY (tno) REFERENCES teacher(tno)
);
```
### 3. 插入数据
根据提供的数据,插入相应的记录:
#### `student` 表
```sql
INSERT INTO student (sno, sname, ssex, sbirthday, saddress, sdept, speciality) VALUES
('20050101', '李勇', '男', '1987-01-12', '山东济南', '计算机工程系', '计算机应用'),
('20050201', '刘晨', '女', '1988-06-04', '山东青岛', '信息工程系', '电子商务'),
('20050301', '王敏', '女', '1989-12-23', '江苏苏州', '数学系', '数学'),
('20050202', '张立', '男', '1988-08-25', '河北唐山', '信息工程系', '电子商务');
```
#### `course` 表
```sql
INSERT INTO course (cno, cname) VALUES
('C01', '数据库'),
('C02', '数学'),
('C03', '信息系统'),
('C04', '操作系统');
```
#### `sc` 表
```sql
INSERT INTO sc (sno, cno, degree) VALUES
('20050101', 'C01', 92),
('20050101', 'C02', 85),
('20050101', 'C03', 88),
('20050201', 'C02', 90),
('20050201', 'C03', 80);
```
#### `teacher` 表
```sql
INSERT INTO teacher (tno, tname, tsex, tbirthday, tdept) VALUES
('101', '李新', '男', '1977-01-12', '计算机工程系'),
('102', '钱军', '女', '1968-06-04', '计算机工程系'),
('201', '王小花', '女', '1979-12-23', '信息工程系'),
('202', '张小青', '男', '1968-08-25', '信息工程系');
```
#### `teaching` 表
```sql
INSERT INTO teaching (cno, tno, cterm) VALUES
('C01', '101', 2),
('C02', '102', 1),
('C03', '201', 3),
('C04', '202', 4);
```
### 4. 修改表结构
根据实验要求,对表结构进行修改:
#### 复制 `student` 表
```sql
CREATE TABLE student_copy1 AS SELECT * FROM student;
```
#### 增加 “入学时间” 列
```sql
ALTER TABLE student_copy1 ADD COLUMN entry_date DATE;
```
#### 修改 `sdept` 字段长度
```sql
ALTER TABLE student_copy1 MODIFY COLUMN sdept CHAR(20);
```
#### 删除 `speciality` 字段
```sql
ALTER TABLE student_copy1 DROP COLUMN speciality;
```
#### 删除 `student_copy1` 表
```sql
DROP TABLE student_copy1;
```
以上步骤涵盖了在MySQL中创建和管理数据表的基本操作。希望这些信息对你有帮助!
创建一个名为sc_view1的视图,从数据库gradem的sc表中查询出成绩大于90分的所有学生第一学期选修课程成绩的信息
在MySQL中,创建名为sc_view1的视图,并从gradem数据库中的sc表中选择成绩大于90分的所有学生第一学期选修课程成绩的信息,可以使用以下代码:
```
CREATE VIEW sc_view1 AS
SELECT *
FROM sc
WHERE grade > 90 AND term = 1;
```
这将创建一个名为sc_view1的视图,并从sc表中选择成绩大于90分且学期为1的所有记录。现在,您可以像查询任何其他表一样查询视图:
```
SELECT *
FROM sc_view1;
```
这将返回符合条件的所有记录。
阅读全文