学生信息数据库
1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 ,其中id为主键,且设置自增长,姓名不能为空。
--------------------------------------------------------------------
2) 修改学生表的结构,添加一列信息,学历
3) 修改学生表的结构,删除一列信息,家庭住址
4) 向学生表添加如下信息:
学号 姓名 年龄 性别 联系电话 学历
1 A 22 男 122 小学
2 B 21 男 119 中学
3 C 23 男 110 高中
4 D 18 女 114 大学
--------------------------------------------------------------------
5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
6) 删除学生表的数据,姓名以C开头,性别为‘男'的记录删除
7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号显示出来
8) 查询学生表的数据,查询所有信息,列出前3条记录
9) 查询出所有学生的姓名,性别,年龄降序排列
10) 按照性别分组查询所有的平均年龄
SQL实现
1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 ,其中id为主键,且设置自增长,姓名不能为空。
/*
sporter表
*/
DROP TABLE IF EXISTS student;
CREATE TABLE student(
stuID Integer(20) NOT NULL auto_increment,
name varchar(20) NOT NULL,
age Integer(11),
sex char(4),
address varchar(30),
phoneNumber Integer(11),
PRIMARY KEY (stuID )
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--------------------------------------------------------------------
2) 修改学生表的结构,添加一列信息,学历
ALTER TABLE student ADD eduBackground varchar(30);
3) 修改学生表的结构,删除一列信息,家庭住址
ALTER TABLE student DROP address;
4) 向学生表添加如下信息:
学号 姓名 年龄 性别 联系电话 学历
1 A 22 男 122 小学
2 B 21 男 119 中学
3 C 23 男 110 高中
4 D 18 女 114 大学
INSERT INTO student VALUES(1,'A',22,'男',122,'小学'),
(2,'B',21,'男',119,'中学'),(3,'C',23,'男',110,'高中'),
(4,'D',18,'女',114,'大学');
--------------------------------------------------------------------
5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
UPDATE student SET eduBackground= '大专'WHERE phoneNumber LIKE '11%';
6) 删除学生表的数据,姓名以C开头,性别为'男'的记录删除
DELETE FROM student WHERE name LIKE 'C%' AND sex ='男';
7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号显示出来
SELECT name,stuID
FROM student
WHERE age<22 AND eduBackground='大专';
8) 查询学生表的数据,查询所有信息,列出前3条记录
SELECT *
FROM student
LIMIT 3;
9) 查询出所有学生的姓名,性别,年龄降序排列
SELECT name,sex,age
FROM student
ORDER BY age desc;
10) 按照性别分组查询所有的平均年龄
SELECT sex, AVG(age)
FROM student
GROUP BY sex;