视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
《MySQL数据库开发》期末复习题1
2025-10-03 14:33:26 责编:小OO
文档
《MySQL数据库开发》期末复习题

考试题型

一、单选题(每小题 2 分,共 40分)

二、判断题(每小题1分,打”√”或”×”,共10分)

三、问答题(共15分,每小题5分)

四、综合题 (共35分,每小题5分)

一、填空

1、用来表示数据库中行之间的关系的机制称为______外键_约束。

2、_____字符集___是一套符号与编码,它包括编码规则以定义字符如何被编码为数字。

3、MySQL程序选项有两种通用形式:_______长选项__ 和 __短选项_________。

4、MySQL数据类型分为四大主要类别:______数值___、__字符______、__二进制_______、_____时间____。

5、_____存储程序_____是保存在服务器里的一组SQL语句的集合。

6、_____锁_是一种用来防止多个客户端时访问数据而产生问题的机制。

7、_____事务_是将一个数据处理执行步骤的集合作为一个单一单元来处理。

8、______innoDB____引擎是目前唯一可提供外键实现支持的引擎。

9、CREATE ___temporary__________ TABLE创建临时表。

10、_______union_关键字能够将两个或多个SELECT语句的结果连接起来。

选择题主要在认证复习题中。

二、选择(单选)

每小题 2 分,共 40分

1、哪个连接语句的格式是错误的(D )

 (A)mysql - - host=myhost.example.com (B)mysql –h myhost.example.com

 (C)mysql –hmyhost.example.com  (D)mysql –H myhost.example.com

2、查看MySQL版本语句是(A )

 (A)mysql - - version  (B)mysql - - VERSION

 (C)mysql - - help   (D)mysql - - v

3、设置语句结束符的命令是(C )

 (A)set  (B)end (C)delimiter (D)finish

4、设置MySQL提示符的命令是( B)

 (A)tip  (B)prompt  (C)popup  (D)message

5、导入sql脚本文件的命令是(A )

 (A)source (B)script (C)file  (D)sql

6、关于SELECT语句以下哪一个描述是错误的(C )

 (A)SELECT语句用于查询一个表或多个表的数据。

(B)SELECT语句属于数据操作语言(DML)。

(C)SELECT语句的列必需是基于表的列的。

(D)SELECT语句表示数据库中一组特定的数据记录。

7、ENUM类型的字段level定义为(LOW、MIDDLE、HIGH),ORDER BY level asc的顺序是( B)

 (A)HIGH、LOW、MIDDLE  (B)LOW、MIDDLE、HIGH

(C)MIDDLE、LOW、HIGH  (D)HIGH、MIDDLE、LOW

8、SELECT * FROM city limit 5,10描述正确的是(C )

 (A)获取第6条到第10条记录。 (B)获取第5条到第10条记录。

(C)获取第6条到第15条记录。 (D)获取第5条到第15条记录。

9、GROUP_CONCAT()函数作用是(A )

 (A)将每组的结果字符串连接起来 (B)将每组的结果累加

(C)统计每组的记录数   (D)统计每组的平均值

10、GROUP子句带WITH ROLLUP的作用是(D )

 (A)将每组的结果累加   (B)统计每组的平均值

(C)统计每组的记录数   (D)产生多个级别的统计值

11、查看全局SQL模式的命令是( C)

 (A)select @@sql_mode   (B)select @@session.sql_mode

 (C)select @@global.sql_mode  (D)select global.sql_mode

12、关于在非严格模式下处理无效值,哪个是错误的( D)

 (A)基于列定义的隐含值来执行类型转化。

(B)在可能的情况下调整无效的输入值为合法值,并产生警告信息。

(C)转换超出范围的值为范围内的值。

(D)拒绝无效值,产生错误。

13、关于在严格模式下处理无效值,哪个是错误的( A)

 (A)允许超出范围的值

 (B)拒绝超出范围的值。

 (C)拒绝不正确数据类型的值。

 (D)拒绝没有缺省值的非空列。

14、VARCHAR类型字段保存最大的字符数是( C)

 (A)255  (B) 1025  (C)65533 (D)65535

15、查看系统中可用的字符集命令是(A )

 (A)show character set  (B)show collation 

(C)show character   (D)show set

16、关于DATETIME与TIMESTAMP两种数据类型的描述,错误的是( B)

 (A)两者值的范围不一样。

 (B)两者值的范围一样。

 (C)两者占用空间不一样。

 (D)TIMESTAMP可以自动记录当前日期时间。

17、在非严格模式下保存250到TINYINT类型字段时实际保存值是( C)

 (A)250 (B)0  (C)127 (D)128

18、SELECT GREATEST(‘ab’,’cd’,’ef’,’gh’)结果是(D )

 (A)ab (B)cd  (C)ef (D)gh

19、SELECT LEAST(‘ab’,’cd’,’ef’,’gh’)结果是( A)

 (A)ab (B)cd  (C)ef (D)gh

20、SELECT FLOOR(-14.7), FLOOR(14.7)的结果是( A)

 (A)-15,14 (B)-15,15  (C)-14,14 (D)-14,15

21、SELECT CEILING(-14.7), CEILING(14.7)的结果是( D)

 (A)-15,14 (B)-15,15  (C)-14,14 (D)-14,15

22、SELECT LOCATE(‘to’, ‘Welcome to China’)的结果是( C)

 (A)7 (B)8  (C)9 (D)10

23、SELECT SUBSTRING(‘Welcome to China’,  9,  2)的结果是(B )

 (A)Welcome (B)to  (C)China (D)Welcome to

24、SELECT SUBSTRING_INDEX(‘Welcome to China’,  ‘to’,  -1)的结果是(C)

 (A)Welcome (B)to  (C) China (D)Welcome to

25、SELECT CONCAT_WS(‘/’, ‘A’, NULL, ‘B’, NULL)的结果是( C)

 (A)AB  (B)NULL  (C) A/B (D)A//B/

26、删除列指令是(D )

 (A)ALTER TABLE … DELETE …  (B)ALTER TABLE … DELETE COLUMN…

 (C)ALTER TABLE … DROP …  (D)ALTER TABLE … DROP COLUMN…

27、修改列指令是( A)

 (A)ALTER TABLE … MODIFY …  (B)ALTER TABLE … MODIFY COLUMN…

 (C)ALTER TABLE … UPDATE …  (D)ALTER TABLE … UPDATE COLUMN…

28、以下哪一种指令无法增加记录( D)

 (A)INSERT INTO … VALUES …  (B)INSERT INTO … SELECT…

 (C)INSERT INTO … SET …   (D)INSERT INTO … UPDATE…

29、对于REPLACE语句描述错误的是(C )

 (A)REPLACE语句返回一个数字以表示受影响的行,包含删除行和插入行的总和。

 (B)通过返回值可以判断是否增加了新行还是替换了原有行。

 (C)因主键重复插入失败时直接更新原有行。

 (D)因主键重复插入失败时先删除原有行再插入新行。

30、关于DELETE和TRUNCATE TABLE区别描述错误的是( B)

 (A)DELETE可以删除特定范围的数据。

 (B)两者执行效率一样。

 (C)DELETE返回被删除的记录行数。

 (D)TRUNCATE TABLE返回值为0。

31、查看是否启用自动提交的指令是( B)

 (A)SELECT @@auto  (B)SELECT @@autocommit 

(C)SELECT @@commit (D)SELECT @@auto_commit

32、查看当前隔离级别的指令是( A)

 (A)SELECT @@tx_isolation (B)SELECT @@transaction 

(C)SELECT @@isolation  (D)SELECT @@isolatioin_level

三、多选题

1、MySQL数据库产品包括( ABCD)

(A)MySQL企业服务器 (B)MySQL社区服务器 

(C)MySQL嵌入数据库 (D)MySQL集群

2、MySQL安装包括哪些主要部件(ABD )

 (A)MySQL服务器 (B)MySQL客户端程序

 (C)PL/SQL   (D)MySQL非客户端工具

3、MySQL为哪些内容分配内存(ABCD )

 (A)线程句柄  (B)MEMORY存储引擎创建的表

 (C)客户端缓冲区 (D)全局缓冲区与高速缓存

4、与MySQL服务器相互作用的通讯协议包括( ABCD)

 (A)TCP/IP (B)Socket (C)共享内存 (D)命名管道

5、SQL模式值TRADITIONAL是一个复合模式,包含哪些值(ABCD )

 (A)STRICT_TRANS_TABLES (B)STRICT_ALL_TABLES

(C)NO_ZERO_DATE  (D)NO_ZERO_IN_DATE

6、导致输入值无效原因是(ABCD )

 (A)对于数据或时间列,值可能超出范围。

 (B)对于字符串列,字符串可能太长。

 (C)对于非NULL列赋予NULL值。

 (D)对于ENUM列赋予非合法的枚举值。

7、当选择一个数值数据类型时,应该考虑的因素(ABC )

 (A)数据类型数值的范围。

 (B)列值所需要的存储空间数量

 (C)列的精度与标度(适用于浮点与定点数)

 (D)设计者的习惯

8、数据库对象包括(ABCD )

 (A)表  (B)视图 (C)存储过程 (D)触发器

9、使用键的好处是( ABC)

 (A)降低查找时间  (B)强化每行的唯一标识

 (C)主键不能包含NULL (D)降低磁盘占用空间

10、MySQL存储引擎类型有哪些( ABCD)

 (A)MyISAM (B)InnoDB  (C)MEMORY  (D)MERGE

11、设置表的默认字符集关键字是( CD)

 (A)DEFAULT CHARACTER (B)DEFAULT SET

 (C)DEFAULT CHARSET (D)DEFAULT CHARACTER SET

12、关于临时表的描述正确的是(ABCD )

 (A)只在创建的会话可见,其它会话不能访问另一个会话创建的临时表。

 (B)临时表只存在于会话生命周期中。

 (C)临时表可以与非临时表有相同的名称。

 (D)临时表不能使用SHOW TABLES显示。

13、改变表名的指令是( AB)

 (A)ALTER TABLE t1 rename to t2;

 (B)RENAME t1 to t2;

 (C)UPDATE NAME t1 to t2;

 (D)CHANGE NAME t1 to t2;

14、外键定义中ON DELETE与ON UPDATE有几种设置( ABCD)

 (A)CASCADE (B)NO ACTION  (C)RESTRICT  (D)SET NULL

15、关于TRUNCATE TABLE描述正确的是( ABC)

 (A)TRUNCATE TABLE返回值为0。

 (B)表中包含AUTO_INCREMENT列,使用TRUNCATE TABLE可以重置序列值。

 (C)TRUNCATE TABLE本身不能回滚。

 (D)TRUNCATE TABLE删除表,然后根据表结构重新构建表。

16、事务具有哪些特性(ABCD )

 (A)原子性  (B)一致性  (C)隔离性  (D)持久性

17、哪些语句会导致隐式提交( ABCD)

 (A)数据定义语句(ALTER、CREATE、DROP)

(B)数据访问和用户管理(GRANT、REVOKE)

(C)锁语句(LOCK TABLES、UNLOCK TABLES)

(D)部分数据操作语句(TRUNCATE TABLE)

18、在并行的事务之间可能存在哪些现象(BCD )

 (A)隔离  (B)脏读  (C)不可重复读  (D)幻像读

19、MySQL数据库存在哪些隔离级别(ABCD )

 (A)读未提交 (B)读已提交 (C)可重复读  (D)可串行化

20、存储程序的优点( BCD)

 (A)逻辑只与MYSQL有关,与客户端语言无关

(B)安全:最少的数据访问、单一位置的处理

(C)性能:通过交互减少提高性能

(D)函数库:可利用数据库服务器函数库

21、存储程序的问题(ABCD )

 (A)增加服务器负担

(B)开发工具有限

(C)有限的语言函数与速度

(D)有限的调试/配置能力

22、存储程序中选择语句有哪些(AB )

 (A)IF   (B)CASE (C)SELECT  (D)SWITCH

23、存储程序中循环语句有哪些(ABC )

 (A)REPEAT  (B)WHILE (C)LOOP (D)FOR

24、存储程序中处理器有哪几种类型( CD)

 (A)HANDLE  (B)CASE (C)CONTINUE (D)EXIT

四、简答题

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

启动:net start mysql

链接:mysql-u root –proot

停止:net stop mysql

卸载:mysqld-remove mysql

2、将下列预处理程序补充完整? 

mysql>____prepare___________abc from 'select *  from city where countrycode=?';

mysql > _________set____________ @code='CHN';

mysql > execute abc ____uning_______ @code;

3、请简述数据库语句执行过程,从预处理程序角度进行说明。

数据库语句执行过程:

(1)编译、判断程序语法(关键字),语义(表名、列名等数据库的对象)是否正确

(2)生成执行计划:将编译后的语句执行,考虑性能问题(往往是数据库管理系统自身完全)

(3)获取语句相关的数据****基于性能考虑,数据库会提前进行编译工作称为预编译,这样就可以节约执行时间

4、请简述警告的级别,以及查看警告的命令(至少写两个)

A.(1)Error:错误消息显示了一个严重的问题,并组织服务器完成该请求。

(2)warning:警告消息显示了服务器可以继续处理该请求的问题。

(3)note:提示消息只是一个信息。

B.(1)show warnings;

(2)show errors;

(3)show notes;

5、将下列存储过程补充完整? 

mysql > _____________delimiter________  

mysql > CREATE PROCEDURE pro07(score INT)   

         ->  

         -> BEGIN 

         -> ___declare________  var1 VARCHAR(32) default 'XX' ;  

         ->  IF (score>79) THEN SET var1='优秀';

         ->   ELSEIF (score>69) THEN SET var1='良';

         ->  ELSEIF (score>59) THEN SET var1='及格';

         ->  ELSE SET var1='不及格';

         -> END IF; 

         -> SELECT var1 ;    

-> _____end__  

         -> //  

mysql > DELIMITER ;

6、请说明视图的的注意事项

创建视图,只能产生一个结果集

(1) 运行创建视图的语句需要用户具有创建视图(CRATE VIEW)的权限,若加了[OR REPLACE]时,还需要用户具有删除视图(DROP VIEW)的权限;

(2) SELECT语句不能包含FROM子句中的子查询;

(3) SELECT语句不能引用系统或用户变量;

(4) SELECT语句不能引用预处理语句参数;

(5) 在存储子程序内,定义不能引用子程序参数或局部变量;

(6) 在定义中引用的表或视图必须存在。但是,创建了视图后,能够舍弃定义引用的表或视图。要想检查视图定义是否存在这类问题,可使用CHECK TABLE语句;

(7) 在定义中不能引用TEMPORARY表,不能创建TEMPORARY视图;

(8) 在视图定义中命名的表必须已存在;

(9) 不能将触发程序与视图关联在一起;

(10) 在视图定义中允许使用ORDER BY,但是,如果从特定视图进行了选择,而该视图使用了具有自己ORDER BY的语句,它将被忽略。

7、MySQL处理列缺失值或遗漏值的规则。

答:有定义default子句,值插入该子句指定的值;没有指定default子句时,在非严格模式下插入列数据类型的隐含缺省值,在严格模式下产生错误。

8、请说明ENUM类型和SET类型的区别。

ENUM类型

ENUM类型是一个枚举数据类型。当定义一个列为ENUM类型时,将提供给该列所有可用的一系列值,最多可达65535个不同的值。当插入或修改一个ENUM列时,从所有可用的值中选择一个值。如果列值不在预先定义的列表里,该值将被删除并使用一个空字串。

ENUM数据类型将确保只有有效的continent列值才能被插入

ENUM数据类型所指定的值的顺序是很重要的。在内部,ENUM值由一个整数表示,该整数值被识别为实际的字符串值。这将有益于ENUM列的排序与比较,因为它是通过内部的整数值而不是字符串的值来操作。

SET类型

像ENUM数据类型一样,当定义一个列为set类型时,也必须提供一系列值。不像ENUM,set类型可以从给定的列表中选择多个值组合为一个有效的值。而该set值的字符串使用逗号分开列表里的字符串,模仿数学里的数据集合的概念。

ENUM类型

●枚举数据类型

●内部有一个整数表示

●ENUM (‘value1’, …., ‘valuen’)

SET类型

●集合类型

●从给定的列表中选择多个组合为一个有效的值

●SET (‘value1’, …., ‘valuen’)

答:ENUM和SET都是比较特殊的字符串数据列类型,它们的取值范围是一个预先定义好的列表。ENUM或SET数据列的取值只能从这个列表中进行选择。ENUM和SET的主要区别是:

ENUM只能取单值,它的数据列表是一个枚举集合。它的合法取值列表最多允许有65535个成员。例如:ENUM("N

SET可取多值。它的合法取值列表最多允许有个成员。空字符串也是一个合法的SET值。

ENUM和SET的值是以字符串形式出现的,但在内部,MySQL以数值的形式存储它们。

ENUM的合法取值列表中的字符串被按声明定义的顺序被编号,从1开始。

SET的编号不是按顺序进行编号的,SET中每一个合法取值都对应着SET值里的一个位。第一个合法取值对应0位,第二个合法取值对应1位,以此类推,如果数值形式的SET值等于0,则说明它是一个空字符串,如果某个合法的取值出现在SET数据列里,与之对应的位就会被置位;如果某个合法的取值没有出现在SET数据列里,与之对应的位就会被清零。正因为SET值与位有这样的对应关系,所以SET数据列的多个合法取值才能同时出现并构成SET值。

9、请说明truncate table和delete from的区别。

●DELETE from

•通过where指定删除范围

•执行效率低

•返回被删除的记录 数

•面向事务

●TRUNCATE table

•只能删除全部数据

•执行效率高

•返回值为0

•没有事务

答:TRUNCATE TABLE 和不带 WHERE 的 DELETE 功能是一样的,都是删除表中的所有数据,不过 TRUNCATE TABLE 速度更快,占用的日志更少,这是因为 TRUNCATE TABLE 直接释放数据页并且在事务日志中也只记录数据页的释放,而 DELETE 是一行一行地删除,在事务日志中要记录每一条记录的删除。那么可不可以用 TRUNCATE TABLE 代替不带 WHERE 的 DELETE 呢?在以下情况是不行的: 

1、要保留标识的情况下不能用 TRUNCATE TABLE,因为 TRUNCATE TABLE 会重置标识。

 2、需要使用触发器的情况下不能使用 TRUNCATE TABLE ,它不会激发触发器。 

 3、对于由 FOREIGN KEY 约束引用的表(即主键所在的表,不是外键所在的表)不能使用 TRUNCATE TABLE。

 4、对于参与了索引视图的表不能使用 TRUNCATE TABLE ,注意指索引视图,并非普通视图。 

10、请说明mysql数据库中标识符大小写敏感规则?

答:(1)数据库、表的标识符依赖于操作系统的文件系统以及系统变量lower_case_table_names的设置

(2)列、索引和存储过程标识符大小写不敏感

(3)列别名也不敏感

(4)触发器的大小写敏感规则同表和数据库(但不受lower_case_table_names影响)

11、存储过程和存储函数有什么区别?(5分)

答:存储过程是一系列保存在数据库里的指令,过程将按照指令执行但不会返回任何值,该过程由call语句调用,并且只能使用输出变量来传递返回值。

存储函数是一系列保存在数据库里的指令,并且返回一个值。就像其他任何函数一样,函数可在语句中被调用,并返回一个值。

12、排序顺序一般服从什么规则,可以从数字,字母,汉字等角度进行说明。

答:排序顺序一般服从以下规则:

1.数字<字母<汉字

2.数字0-9,从小到大,15>9如果数字变为字符型那就不一定按照数字大小规律‘15’<’2’

3.字母:A4.汉字:你ni<他ta<我wo,,你ni<您nin,按照拼音字母比较(逐个比较)

五、编程题

学生成绩数据库(库名stuDB)下有三张表,表结构如下。

XS表(学生情况表):

学号  char(6)  不允许为空    主键

姓名  char(8)  不允许为空    

专业名    char(10) 允许为空

性别      int(1)   男 1,女0

出生日期  date    系统默认    不允许为空

总学分    tinyint(1)  允许为空

照片      blob

KC表(课程表):

   课程号        char(3)     不允许为空   主键

   课程名        char(16)    不允许为空

   开课学期      tinyint(1)  不允许为空   只能为1—8

   学时          tinyint(1)  不允许为空

   学分          tinyint(1)  允许为空

XS_KC表(成绩表):

   学号         char(6)      不允许为空   主键

   课程号       char(3)      不允许为空   主键

   成绩         tinyint(1)   允许为空

   学分         tinyint(1)   允许为空

根据这三张表完成下列操作:

1、写出三张表的建表语句

create database sxcj;

use sxcj

create table xs

( sno char(6) primary key ,

  Sname char(8) not null,

  Zhuanyeming char(10) null,

  Sex tinyint(1) not null check(sex int(0,1)),

  sbir date not null,

  record tinytin(1) null,

  photo blob null,

  comment text null 

)engine=InooDB;

Create table kc

( kno char(3) primary key,

  Kname char(16) not null,

  Kaikexueqi tinyint(1) not null default 1 check(kaikexueqi >=1 and kaikexueqi <= 8),

  Xueshi tinyint(1) not null,

  Xuefen tinyint(1) null

)engine=InooDB;

Create table xs_kc

( sno char(6) not null,

  Kno char(3) not null,

  Chengji tinyint(1) null,

  Primary key(sno,kno),

  Foreign key(sno) references xs(sno) on delete cascade on update cascade,

  Foreign key(kno) references kc(kno) on delete cascade on update cascade

);

(2)Create table xc_kc(

学号 char(6) foreign key references xs(学号),

课程号 char(3) foreign key references kc(课程号),

成绩tinyint(1),

学分tinyint(1),

Primary key (学号,课程号));

2、 给成绩表增加一个列“补考成绩”,允许为空

Alert table 成绩add column 补考成绩 tinyint(1);

3、查询课程表中所有学生的情况

Select * from kc;

4、删除课程表中课程名称为C语言的记录

Delete from kc where 课程名=‘c语言’;

5、添加一要学生表的记录,该记录信息为学生的个人信息

Insert into xs values(学号,’自己的姓名’,‘专业’,1,’1991-09-12’,60,null);

6、创建学生表的一个名为stucopy的拷贝,并且复制其内容

Select *into stucopy from xs

或 create table stucopy as select *from xs

7、查询xs表中计算机系各同学的学号,姓名和总学分,对其总分按以下规则进行替换;若总学分为空值,替换为”尚未选课”;若总学分小于60,替换为“不及格”;若总学分在60—80之间,则替换为“合格”;若总学分大于80,替换为“优秀”。列表题更改为“等级”。

Select 学号,姓名 case

When 总学分is null then ‘尚未选课’

When 总学分<60 then ‘不及格’

When 总学分>=60 and 总学分<=80 then’合格’

When 总学分>80 then ‘优秀’end as 等级

From xs

Where 专业名=‘计算机系’

8、查询xs表中计算机系各同学的学号,姓名和性别,对其性别按以下规则进行替换;若性别为空值,替换为”未设置性别”;若性别为0,替换为“女”;若性别为1,替换为“男”;列表题更改为“性别”。

Select 学号,姓名 case 

When 性别 is null then ‘未设置性别’

When 性别=‘0’ then‘女’

When 性别=‘1’ then‘男’ end as ‘性别’

From xs

Where 专业名=‘计算机系’

9、查询出没有选课的学生信息

Select *from xs where 学号not in (

Select 学号

From xs_kc);

10、删除成绩表中学分字段

Alert table xs_kc drop column 学分

11、新建“test”用户,密码为“111”,授予对stuDB数据库中所有表的select权限。

Create user ‘test’ @’localhost’

Indentified by’111’;

Grant select on xs to test;

Grant select on kc to test;

Grant select on xs_kc to test;        合并为 :grant select on stuDB to test;

12、用from的join关键字表达下列查询:查找选修了“mysql”课程且成绩及格的学生学号、姓名、课程名及成绩。

Select 学号,姓名,课程名,成绩

From xs

Inner join xs_kc on xc.学号=xs_kc.学号

Inner join kc on kc.课程号=xs_kc.课程号

Where 课程名=‘mysql’ and 成绩>=60

13、查询学生表中所有学分不为空的信息

Select *from xs

Where 总学分is not null

14、查询出学生姓名重复的学生信息

Select *from xs t1.xs t2 where t1.姓名=t2.姓名 and t1.学分<>t2.学分

15、创建存储过程sp_kc,返回kc表中的总记录数,并调用该存储过程。

Create procedure sp_kc()

Select count(*) from kc;

Call sp-kc();

1、给XS表增加一个列“备注”,数据类型为text,不允许为空

alter from xs

add comment text not null;

2、创建表 XS的一个名为student的拷贝,并且复制其内容

Create table student as 

  (select * from xs);    

3、用from的join关键字表达下列查询:查找选修了“计算机基础”课程且成绩在80分以上的学生学号、姓名、课程名及成绩。

Select xs.sno,sname,kname,chengji

       From xs join xs_kc on xs.sno=xs_kc.sno

         Join kc on xs_kc on kc.kno=xs_kc.kno

       Where kname=’计算机基础’ and chengji>=80;

4、用root用户新建“dsh”用户,密码为“shangwu”,授予对sxcj数据库中所有表的select权限。

Create user 

        ‘dsh@localhost’ identified by ‘shangwu’;

Grani select

  On sxcj.*

  To dsh@localhost;

A预编译的语法:

Select *from city where countrycode=?;

外部再传入参数值即可

Select *from city where countrycode=’usa’;

这种操作就形成存储程序(过程、函数)的雏形

存储程序:定义与调用

引入存储程序的原因:预编译程序仅在当前会话窗口有效,当前会话结束时预命编译的程序就消失(变量最好手工释放以节省资源)因此有些常用程序就有必要存储起来方便后续使用,这种存储预编译的程序称为存储程序(过程、函数)下载本文

显示全文
专题