MySQL索引和视图基础练习题

这篇具有很好参考价值的文章主要介绍了MySQL索引和视图基础练习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、创建表的要求

学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系Sno为主键
课程表:Course (Cno, Cname,)
课程号,课程名Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩Sno,Cno为主键

 二、题目要求

1.用SQL语句创建学生表Student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”
2.修改Student表中年龄(Sage)字段属性,数据类型由int改变为smallint
3.为SC表建立按学号(Sno)和课程号(Cno)组合的升序的主键索引,索引名为SC_INDEX 
4.创建一视图Stu_info,查询全体学生的姓名,性别,课程名,成绩

三、完成步骤 

3.1 登录MySQL并创建表

①登录MySQL并切换数据库

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维

②创建Student表

mysql> create table Student (
    -> Sno int(20) not null primary key,
    -> Sname varchar(25) not null,
    -> Ssex char(3),
    -> Sage int,
    -> Sdept varchar(30)
    -> );
Query OK, 0 rows affected, 1 warning (0.01 sec)

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维

③ 创建Course表

mysql> create table Course (
    -> Cno varchar(25) primary key,
    -> Cname varchar(25) not null
    -> );
Query OK, 0 rows affected (0.01 sec)

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维

④创建SC表

mysql> create table SC (
    -> Sno int(20),
    -> Cno varchar(25),
    -> Score int(10),
    -> primary key(Sno,Cno),
    -> foreign key(Sno) references Student(Sno),
    -> foreign key(Cno) references Course(Cno)
    -> );
Query OK, 0 rows affected, 2 warnings (0.02 sec)

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维

3.2 用SQL语句创建学生表Student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”

①命令

mysql> create table Student (
    -> Sno int(20) primary key comment '学号',
    -> Sname varchar(25) unique comment '姓名',
    -> Ssex char(3)  check (Ssex in ('男','女')),
    -> Sage int,
    -> Sdept varchar(30) default '计算机'
    -> );
Query OK, 0 rows affected, 1 warning (0.01 sec)

②结果

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维

3.3 修改Student 表中年龄(Sage)字段属性,数据类型由int改变为smallint

①命令

mysql> alter table Student modify Sage smallint;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

②结果

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维

 3.4 为SC表建立按学号(Sno)和课程号(Cno)组合的升序的主键索引,索引名为SC_INDEX 

①命令

mysql> create table SC (
    -> Sno int(20),
    -> Cno varchar(25),
    -> Score int(10),
    -> primary key(Sno,Cno),
    -> foreign key(Sno) references Student(Sno),
    -> foreign key(Cno) references Course(Cno)
    -> );
Query OK, 0 rows affected, 2 warnings (0.02 sec)

mysql> create index SC_INDEX  on SC(Sno asc,Cno asc);
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

 ②结果

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维

3.5 创建一视图Stu_info,查询全体学生的姓名,性别,课程名,成绩

①命令

mysql> INSERT INTO `Student` VALUES (1001,'张三','男',21,'计算机');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `Course` VALUES (1, '英语');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `SC` VALUES (1001, '1', 25);
Query OK, 1 row affected (0.00 sec)
mysql> select s.Sname,s.Ssex,c.Cname,SC.Score from Student s
    -> inner join SC
    -> inner join Course c
    -> on s.Sno=SC.Sno
    -> and SC.Cno=c.Cno;

②结果

MySQL索引和视图基础练习题,mysql,数据库,MySQL,运维文章来源地址https://www.toymoban.com/news/detail-797183.html

到了这里,关于MySQL索引和视图基础练习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL视图索引基础练习

    学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score) 学号,课程号,成绩 Sno,Cno为主键 (1)创建课程表: (2)给学生表、课程表、学生选课表插入数据 a.学生表(Stud

    2024年01月17日
    浏览(35)
  • MySQL练习题(6)

    1、使用mysqldump命令备份数据库中的所有表   2、备份booksDB数据库中的books表 3、使用mysqldump备份booksDB和test数据库 4、使用mysqldump备份服务器中的所有数据库 5、使用mysql命令还原第二题导出的book表 6、进入数据库使用source命令还原第二题导出的book表 1、建立一个utf8编码的数据

    2024年02月16日
    浏览(38)
  • MySQL综合练习题

    CREATE TABLE dept (     deptno INT(2) NOT NULL COMMENT \\\'部门编号\\\',     dname VARCHAR (15) COMMENT \\\'部门名称\\\',     loc VARCHAR (20) COMMENT \\\'地理位置\\\'  ); -- 添加主键 ALTER TABLE dept ADD PRIMARY KEY (deptno); -- 添加数据 INSERT INTO dept (deptno,dname,loc)VALUES (10,\\\'财务部\\\',\\\'高新四路\\\'); INSERT INTO dept (deptno,dname,loc

    2024年01月22日
    浏览(48)
  • MySQL45道练习题

    作业需要数据表SQL语句已给  1. 查询\\\" 01 \\\"课程比\\\" 02 \\\"课程成绩高的学生的信息及课程分数  1.1 查询同时存在\\\" 01 \\\"课程和\\\" 02 \\\"课程的情况 1.2 查询存在\\\" 01 \\\"课程但可能不存在\\\" 02 \\\"课程的情况(不存在时显示为 null ) 1.3 查询不存在\\\" 01 \\\"课程但存在\\\" 02 \\\"课程的情况 2.查询平均成绩大于

    2024年01月25日
    浏览(53)
  • MySQL单表查询练习题

    目录 第一题  第二题  第三题   1.创建数据表pet,并对表进行插入、更新与删除操作,pet表结构如表8.3所示。 (1)首先创建数据表pet,使用不同的方法将表8.4中的记录插入到pet表中。 mysql create table pet( name varchar(20) not null, owner varchar(20), species varchar(20) not null, sex char(1) not nu

    2024年02月13日
    浏览(38)
  • 【MySQL】- 05 sql 语句练习题

    查询结果就不放了,语句是否成功运行,结果是否正确都容易自行判断 –1. 学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 –2. 课程表 Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号 –3. 教师表 Teacher(t_id,t_name) --教师编号,教师姓名 –4. 成

    2024年02月08日
    浏览(61)
  • MySQL多表关联查询练习题

    1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_id INT(10) NOT NULL , c_name VARCHAR(20) , grad

    2024年01月17日
    浏览(47)
  • MySQL 查询练习题分享 2023.7.10

    1. 查询出部门编号为30的所有员工。 2. 所有销售员的姓名、编号和部门编号。 3. 找出奖金高于工资的员工。 4. 找出奖金高于工资60%的员工。 5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。 6. 找出部门编号为10中所有经理,部门编号为20中所有销售

    2024年02月15日
    浏览(43)
  • MySQL的数据备份与还原--练习题

    MySQLdump是MySQL提供的一个非常有用的数据库备份工具。MySQLdump命令执行时,可以将数据库备份成一个文本文件,该文件中实际上包含了多个CREATE 和 INSERT语句,使用这些语句可以重新创建表和插入数据。  看题: CREATE DATABASE booksDB;     use booksDB;     CREATE TABLE books     (   

    2024年02月17日
    浏览(38)
  • 【MySQL】- 05 sql 语句练习题(第二部分)

    20、 查询学生的总成绩并进行排名 21、 查询不同老师所教不同课程平均分从高到低显示 22、 查询所有课程的成绩第2名到第3名的学生信息及该课程成绩 23、 统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[0-60]及所占百分比 24、 查询学生平均成绩及其名次

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包