初级必备数据库面试练习

CREATE TABLE hpmcb(

 

Hpid INT (11) NOT NULL COMMENT'货品id' AUTO_INCREMENT,

 

hpmc VARCHAR(50) DEFAULT NULL COMMENT '货品名称',

 

jldw VARCHAR(10) DEFAULT NULL COMMENT '计量单位',

 

hptm VARCHAR(20) DEFAULT NULL COMMENT '货品条码',

 

lsj VARCHAR(50) DEFAULT NULL COMMENT '零售价',

 

hpzt TINYINT(4) DEFAULT 0 COMMENT '货品状态(0 正常,1 暂停进货,2 不再进货,)',

 

PRIMARY KEY (Hpid)

 

)

 

 

 

CREATE TABLE hpkcb(

 

kcid INT(11) NOT NULL AUTO_INCREMENT COMMENT '库存id',

 

hpid INT(11) DEFAULT NULL COMMENT '货品id',

 

kscl DECIMAL(18,3) DEFAULT '0.000' COMMENT '库存数量',

 

PRIMARY KEY (kcid)

 

)

 

 

 

CREATE VIEW V_hpkcb AS SELECT hpmcb.Hpid,hpmc,jldw,kscl FROM hpmcb,hpkcb

 

INSERT INTO hpmcb(hpmc,jldw,hptm,lsj) VALUE('可乐','元','123','3')

 

 

 

DELIMITER $$

 

 

 

USE `mypos`$$

 

 

 

DROP TRIGGER 

 

 

 

CREATE

 

    

 

    TRIGGER `after` AFTER INSERT ON `hpmcb` 

 

    FOR EACH ROW 

 

    

 

    BEGIN

 

 INSERT INTO hpkcb(hpid) VALUE (new.hpid);

 

    END;

 

$$

 

 

 

DELIMITER ;

 

1

 

 

 

 

 

 

 

分别写出启动、连接、停止和卸载MySql服务(服务名为MySql)的语句?

 

 

 

考生答案:

 

net start mysql

 

mysql -u root -p

 

net stop mysql

 

mysql -remove

 

批改内容:

 

含有关键词:(netstartmysql)占25%;

 

含有关键词:(mysql-uroot)占25%;

 

含有关键词:(netstopmysql)占25%;

 

含有关键词:(mysql-remove)占25%;

 

得分:10 分;

 

2

 

请用 create index 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个

 

字符采用默认的索引类型创建一个升序索引 index_subject。

 

 

 

考生答案:

 

mysql>USE db_test ; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC);

 

批改内容:

 

含有关键词:(create)占20%;

 

含有关键词:(index)占20%;

 

含有关键词:(index_subject)占20%;

 

含有关键词:(on)占20%;

 

含有关键词:(content)占20%;

 

得分:10 分;

 

Copyright © 2020 e100data.com 豫ICP备1302054号 网站建设:百分数据

 

 

 

四、问答题(试题总数:2题,分数:20分,得分:20分;)

 

1

 

请用 create index 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个

 

字符采用默认的索引类型创建一个升序索引 index_subject。

 

 

 

考生答案:

 

mysql>USE db_test ; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC);

 

批改内容:

 

含有关键词:(create)占20%;

 

含有关键词:(index)占20%;

 

含有关键词:(index_subject)占20%;

 

含有关键词:(on)占20%;

 

含有关键词:(content)占20%;

 

得分:10 分;

 

2

 

请使用 select into...outfile 语句,备份数据库 db_test 中表 content 的全部数据

 

到 c 盘的 backup 目录下一个名为 backupcontent.txt 的文件中。

 

 

 

考生答案:

 

select * from db_test.content into outfile 'c:\backup\backupcontent.txt'

 

批改内容:

 

含有关键词:(select)占10%;

 

含有关键词:(from)占10%;

 

含有关键词:(content)占20%;

 

含有关键词:(into)占20%;

 

含有关键词:(outfile)占20%;

 

含有关键词:(backupcontent.txt)占20%;

 

得分:10 分;

 

Copyright © 2020 e100data.com 豫ICP备1302054号 网站建设:百分数据

 

 

 

四、问答题(试题总数:2题,分数:20分,得分:19分;)

 

1

 

现有一个 student 表,表结构如下所示:

 

| field | type | null | key | default | extra |

 

| id | int(4) | yes | | null | |

 

| name | varchar(20) | no | | null | |

 

| grade | float | yes | | null | |

 

请按照如下要求编写 sql 语句。

 

1)根据 student 表结构编写建表语句

 

2)使用 insert 语句向 student 表中插入一条数据,其中 id 字段的值为 5,name 字段

 

的值为‘lily’,grade 字段的值为 100。 

 

 

 

考生答案:

 

CREATE TABLE student( id INT(4), name VARCHAR(20) NOT NULL, grade FLOAT );

 

insert into student values(5,'lily',100);

 

批改内容:

 

含有关键词:(create)占10%;

 

含有关键词:(table)占10%;

 

含有关键词:(insert)占10%;

 

含有关键词:(into)占20%;

 

含有关键词:(student)占10%;

 

含有关键词:(values)占10%;

 

含有关键词:(lily)占10%;

 

含有关键词:(100)占10%;

 

得分:9 分;

 

2

 

现有一张表 score 记录所有学生数学和英语的成绩,表中字段有学号,姓名,学科,

 

分数。要求如下:

 

1) 查询姓名为张三的学生成绩

 

2) 查询英语成绩大于 90 分的同学

 

3) 查询总分大于 180 分的所有同学的学号

 

 

 

考生答案:

 

SELECT * FROM score WHERE 姓名=’张三’;

 

SELECT * FROM score WHERE 学科=’英语’ AND 分数>90;

 

SELECT 学号 FROM score GROUP BY 学号HAVING SUM(分数)>180;

 

批改内容:

 

含有关键词:(select)占10%;

 

含有关键词:(from)占10%;

 

含有关键词:(score)占10%;

 

含有关键词:(where)占10%;

 

含有关键词:(学科)占10%;

 

含有关键词:(英语)占10%;

 

含有关键词:(and)占10%;

 

含有关键词:(group)占10%;

 

含有关键词:(having)占20%;

 

得分:10 分;

 

Copyright © 2020 e100data.com 豫ICP备1302054号 网站建设:百分数据

 

 

 

2

 

已知数据库中有一张会员表,表中有字段会员编号、姓名、性别、入会时间,请查询出表中除了会员“小七”的所有会员的信息

 

 

 

考生答案:

 

Select * from 会员 where 姓名!=’小七’;

 

批改内容:

 

含有关键词:(select)占20%;

 

含有关键词:(会员)占10%;

 

含有关键词:(where)占20%;

 

含有关键词:(姓名)占20%;

 

含有关键词:(!=)占20%;

 

含有关键词:(小七)占10%;

 

得分:10 分;

 

Copyright © 2020 e100data.com 豫ICP备1302054号 网站建设:百分数据

 

 

 

 

 

1

 

使用MYSQL代码实现以下内容

 

1) 创建 student 数据库

 

   数据库里建立数据表 student_web

 

   要求包含以下字段:

 

   s_id 数据类型为整型,非空约束,

 

   s_name 数据类型为可变字符型,最大长度 12 个字符,保存学生姓名

 

   s_fenshu 数据类型为整型,保存学生考试成绩

 

   s_hometown 数据类型为可变字符型,最大长度 50 个字符,保存学生籍贯

 

   s_tuition 数据类型为整型,保存学生学费

 

2) 写代码向上题所创建好的数据表中添加以下三条记录,

 

   id : 1 id : 2 id : 3

 

   姓名: Jack Tomas 姓名: Tom Joe 姓名: Smiths

 

   成绩: 89 成绩: 88 成绩: 87

 

   籍贯: 郑州金水 籍贯: 洛阳涧西 籍贯: 郑州中原

 

   学费: 2800 学费: 3000 学费: 2700

 

3) 写代码返回所有学生的信息。

 

4) 写代码返回所有姓名带 J 字母的学生信息。

 

5) 写代码返回所有郑州籍贯的学生信息。

 

6) 写代码返回所有学费低于平均学费的学生信息。提示使用嵌套的 select 查询。

 

 

 

考生答案:

 

create database student 

 

use student

 

create table student_web ( s_id int not null, s_name varchar(12), s_fenshu int, s_hometown varchar(50), s_tuition int )

 

insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(1,’Jacktomas’,89,’郑州金水’,2800) insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(2,’TomJoe’,88,’洛阳涧西’,3000) insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(3,’Smiths’,87,’郑州中原’,2700)

 

select * from student_web

 

select * from student_web where s_name like ’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值