• 想构建一个表存储如下学生信息,其中id字段为主键 • • name id sex score • 张三 | 101 | 男 | 98 • 李四 | 102 | 女 | 80 • 王五 | 103 | 男 | 96 • 赵六 | 104 | 女 | 60 • 田七 | 105 | 男 | 78 • 小红 | 106 | 女 | 80 • • 请分别写出下列sql语句: • 1.建表语句 • 2.查询所有80分的女生的信息 • 3.查询所有字段,并根据成绩对查询结果进程降序排序 • 4.插入一个新学员,小明、107、男、无成绩 • 5.删除王五同学的信息
时间: 2023-08-21 12:14:33 浏览: 185
1. 建表语句:
```
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(20),
sex VARCHAR(10),
score INT
);
```
2. 查询所有80分的女生的信息:
```
SELECT * FROM student WHERE sex = '女' AND score = 80;
```
3. 查询所有字段,并根据成绩对查询结果进行降序排序:
```
SELECT * FROM student ORDER BY score DESC;
```
4. 插入一个新学员,小明、107、男、无成绩:
```
INSERT INTO student (id, name, sex) VALUES (107, '小明', '男');
```
5. 删除王五同学的信息:
```
DELETE FROM student WHERE name = '王五';
```
相关问题
用mysql数据库1)创建数据表并Insert一些有意义的数据 创建学生表(students),包含字段:学生编号(s_id)、学生姓名(s_name)、性别(s_sex)、出生日期(s_birthday)、入学日期(s_admission_date)、所属院系(s_dept)、班级编号(s_class_id)。 创建课程表(courses),包含字段:课程编号(c_id)、课程名称(c_name)、学分(c_credit)、所属院系(c_dept)。 创建选课表(selections),包含字段:学生编号(s_id)、课程编号(c_id)、成绩(s_score)。 创建班级表(classes),包含字段:班级编号(c_id)、班级名称(c_name)、所属院系(c_dept)。
我可以帮您回答这个问题。首先,您可以使用以下语句创建学生表并插入一些数据:
CREATE TABLE students (
s_id INT PRIMARY KEY,
s_name VARCHAR(50),
s_sex VARCHAR(10),
s_birthday DATE,
s_admission_date DATE,
s_dept VARCHAR(50),
s_class_id INT
);
INSERT INTO students VALUES
(1, '张三', '男', '1998-01-01', '2020-09-01', '计算机科学与技术系', 101),
(2, '李四', '女', '1999-02-03', '2020-09-01', '计算机科学与技术系', 101),
(3, '王五', '男', '2000-03-05', '2020-09-01', '信息管理系', 102);
接下来,您可以使用以下语句创建课程表并插入一些数据:
CREATE TABLE courses (
c_id INT PRIMARY KEY,
c_name VARCHAR(50),
c_credit FLOAT,
c_dept VARCHAR(50)
);
INSERT INTO courses VALUES
(1, '数据库原理', 3.5, '计算机科学与技术系'),
(2, '数据结构', 4, '计算机科学与技术系'),
(3, '英语', 2, '外语系');
然后,您可以使用以下语句创建选课表并插入一些数据:
CREATE TABLE selections (
s_id INT,
c_id INT,
s_score FLOAT,
PRIMARY KEY (s_id, c_id),
FOREIGN KEY (s_id) REFERENCES students(s_id),
FOREIGN KEY (c_id) REFERENCES courses(c_id)
);
INSERT INTO selections VALUES
(1, 1, 90),
(1, 2, 85),
(2, 1, 87),
(2, 3, 92),
(3, 2, 95),
(3, 3, 80);
最后,您可以使用以下语句创建班级表并插入一些数据:
CREATE TABLE classes (
c_id INT PRIMARY KEY,
c_name VARCHAR(50),
c_dept VARCHAR(50)
);
INSERT INTO classes VALUES
(101, '计算机科学与技术1班', '计算机科学与技术系'),
(102, '信息管理1班', '信息管理系'),
(103, '英语1班', '外语系');
希望这些信息能帮到您!
hive分区表创建学生成绩的数据 idname age sex department score (至少添加10条数据,学号从1001-) 1.分区表实验 1)将数据添加到分区表_1当中,以年级(department)作为动态分区字段进行。完成之后查询所有数据。 2)
Hive是一种基于Hadoop的数据仓库工具,可以处理大规模数据并支持SQL查询。创建一个分区表用于存储学生成绩数据,我们可以按照部门(department)进行分区,下面是一个示例:
首先,我们需要创建一个名为`student_scores`的分区表,并设置分区键为`department`,同时包含其他字段如id、name、age、sex和score。
```sql
CREATE TABLE student_scores (
id INT,
name STRING,
age INT,
sex STRING,
department STRING,
score INT,
-- 添加分区列
PARTITION (year INT)
)
PARTITIONED BY (department STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
```
这里假设`year`是年份的一个临时字段,通常不会在实际场景中直接用于分区,因为成绩表可能不需要按年份划分。
接着,我们添加10条数据,使用`INSERT INTO TABLE`命令,并指定每个学生所在的部门:
```sql
-- 插入数据 (部门字段已省略,此处仅展示格式)
INSERT INTO TABLE student_scores PARTITION (department='大一')
VALUES (1001, '张三', 18, '男', '计算机科学系', 90);
-- ... (重复类似行,替换数据和对应的department)
-- 示例只提供5条,你可以根据需要填充剩下的数据
INSERT INTO TABLE student_scores PARTITION (department='大二')
VALUES (1002, '李四', 19, '女', '数学系', 85);
INSERT INTO TABLE student_scores PARTITION (department='大二')
VALUES (1003, '王五', 20, '男', '英语系', 95);
-- ... (添加剩余4个部门的数据)
```
1. 创建分区表_1:
```sql
CREATE TABLE student_scores_1 LIKE student_scores; -- 创建一个与student_scores结构相同的表
ALTER TABLE student_scores_1 SET TBLPROPERTIES ('hive.enforce.bucketing'='true'); -- 确保桶化分区
```
2. 将数据添加到分区表_1中:
```sql
INSERT INTO TABLE student_scores_1 SELECT * FROM student_scores WHERE department IN ('大一', '大二', '大三', '大四');
```
3. 查询所有数据:
```sql
SELECT * FROM student_scores_1;
```
4. 相关问题:
-- 相关问题--
1. Hive如何避免全表扫描?
2. Hive如何优化分区表的查询性能?
3. 如何查看表的分区信息?
阅读全文