SQL数据库知识点总结

 前后顺序可以任意颠倒,不影响库中的数据关系

关系数据库的逻辑性强而物理性弱,因此关系数据库中的各条记录前后顺序可以任意颠倒,不影响库中的数据关系

一名员工可以使用多台计算机(1:m),而一台计算机只能被一名员工使用(1:1),所以员工和计算机两个实体之间是一对多的关系

SQL数据库知识点总结_第1张图片

视图是指计算机数据库的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据,但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。视图一经定义就无法修改 

视图一经定义就无法修改 

SQL数据库知识点总结_第2张图片

DATEADD() 函数在日期中添加或减去指定的时间间隔。

语法 :DATEADD(datepart,number,date)

datapart参数的取值范围{yy/yyyy,qq/q,mm/m,dy/y,dd/d,wk/ww,dw/w,hh,mi/n,ss/s,ms,mcs,ns}

number 是你希望添加的间隔数

date 参数是合法的日期表达式
负责数据库中查询操作的数据库语言数据操纵语言

SQL语言中数据定义语言DDL中包括哪个语句(A)
A、DROP
B、DELETE
C、select
D、grant

数据定义d语言:负责数据的模式定义与数据的物理存取构建;

数据定义语言(DDL):CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)

数据操纵m语言:负责数据的操纵,包括查询及增、删、改等操作;

数据操纵语言(DML): SELECT(查询) INSERT(插入) UPDATE(更新) DELETE(删除)

数据控制c语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

数据查询语言(DQL):是由SELECT子句,FROM子句,WHERE子句组成的查询块

数据控制语言(DCL):GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)

数据库管理系统是 在操作系统支持下的系统软件

数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。 

修改表结构的关键字都是alter table 表名,再跟具体修改的语句,如

添加表字段

alter table table_name add 字段名称 字段类型

删除表字段

alter table table_name drop 字段名称

修改表字段

alter table table_name change 旧字段名称 新字段名称 字段类型

alter table table_name modify 字符名称 字符类型

在sql数据库中,哪个语句能校验整数列 i 的值不小于 1 不大于 10 ? A

A i BETWEEN 1 AND 10

B i BETWEEN 0 AND 11

C i IN INTERVAL(0,11)

D i IN INTERVAL(1,10) 

当interval作为函数时,它被当作一个比较函数,即interval(),如interval(4,0,1,2,3,4,5,6) ,则在函数中,第一个数4作为被比较数,后面的0,1,2,3,4,5,6为比较数,然后将后面的数字依次与4进行比较,返回小于等于4的个数,所以上述结果为5,注意只有将4后面的数字从大到小进行排序,interval函数才能正常使用,若排序混乱,也可以使用但会影响最终结果。

当interval作为关键字时,表示为时间间隔,常用在date_add()、date_sub()函数中,常用于时间的加减法,查询当前时间之前两个小时的日期:select now()—interval 2 hours;
SQL数据库知识点总结_第3张图片

 HAVING在查询语句中必须依赖于GROUP BY

WHERE子句用来限制SELECT语句从表中指定选取的行

 GROUP BY子句用来分组WHERE子句的输出结果集

having是分组查询时,在分组后条件过滤,这里的过滤是针对行来过滤,不是筛选列

where是分组前的过滤,group by 是分组 

SQL数据库知识点总结_第4张图片

数据库系统的特点:数据共享性高,冗余度小;具有高度的物理独立性和逻辑独立性;整体结构化,用数据模型描述;由数据库系统提供数据安全性、完整性、 并发控制和恢复能力。简单说即数据库系统的特点为高共享、低冗余、独立性高、具有完整性等。

sum返回表达式中所有数的总和,因此只能用于数字类型的列

avg不能使用日期型的列,max和min只能用于数值型的列,count可以使用任意类型的字段,但都不属于求和函数 

将实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中的实现方式是( )

A 建立新的关系 B 建立新的属性 C 增加新的关键字 D 建立新的实体 

将实体-联系模型转换为关系模型时,一个m:n的联系可以转换为一个独立的关系模式,与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。故本题答案为A选项。 

设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码) 为( )。 C

A 课号,成绩 B 学号,成绩 C 学号,课号 D 学号,姓名,成绩 

学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。 

关系数据库所采用的数据存放形式是() A

A 二维表 B 链表 C 网状 D 二叉树 

关系数据库是以“二维表”的形式组织和存放数据的。. 关系数据库的表采用二维表格来存储数据,是一种按行与列排列的具有相关信息的逻辑组,它类似于Excel工作表;一个数据库可以包含任意多个数据表。 

某关系表有:员工(部门编号,部门名称,员工编号,姓名,性别,年龄),则其主码为()。A

A 部门编号、员工编号 B 员工编号 C 姓名 D 部门编号

由于一个员工可能属于多个部门(如CEO等),所以主码应该选A 

 在使用 limit 子句时,如果没有足够的行,则:B

A MySQL会报错 B MySQL将只返回它能返回的那么多行 C MySQL将不会返回任何行 

 给出数据表 score(stu-id,name,math,english,Chinese), 下列语句正确的是( )A

A Select sum(math),avg(chinese) from score

B Select *,sum(english) from score

C Select stu-id, sum(math) from score

D Delete * from score 

B和C:*多行,sum一行,stu_id多行,sum一行,D:正确的删除为delete from score 
SQL数据库知识点总结_第5张图片

数据库做join操作时,至少要涉及到几张表? B

A 3 B 1 C 2 D 4 

自连接即涉及一张表 

在一个mysql查询中,使用哪一个关键字能去除重复列值() C

A group by B order by C distinct D limit 

 

在一个含有group by的查询sql中,同时存在having和where,sql在解析执行的时候,先执行的是哪一个? B

A having B where 

在下面的两个关系中,职工号和部门号分别为职工关系和部门关系的主键(或称主码)职工(职工号、职工名、部门号、职务、工资) 部门(部门号、部门名、部 门人数、工资总额) 在这两个关系的属性中,只有一个属性是外键(或称外来键、外码、外来码),它是 ______ B

A 职工关系的“职工号” B 职工关系的“部门号” C 部门关系的“职工号” D 部门关系的“部门号” 

职工与部门是一对多的关系,职工号为职工关系的主键,部门号为部门关系的主键,职工关系的部门号为外键
 

语句 SELECT IF(-1,5,2) 的返回值是: D

A 2 B 6 C -1 D 5 

if()函数的具体用法:IF(expr1,expr2,expr3),如果expr1值为真(Boolean值为true,或不为0的值),则返回expr2的值,否则返回expr3的值
 

下列哪一个命令为删除 sample 数据库的 tb_ame 表() D

A delete from tb_ame

B delete from sample.tb_ame

C drop table tb_ame

D drop table sample.tb_ame 

删除表用的是drop table 删除表中的数据是delete from,C选项中必须在已经使用sample数据库之后才能使用,D选项不论在哪一个数据库都能使用


 

数据库中存在学生表S、课程表C和学生选课表SC三个表,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN 为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。请检索选修课程号为C2的学生中成绩最高的学号。( )D

A SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 WHERE C#=“C2” AND GRADE  >=(SELECT GRADE FORM SC WHERE C#=“C2”)

B SELECT S# FORM SC WHERE C#=“C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=“C2”)

C SELECT S# FORM SC WHERE C#=“C2” AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=“C2”)

D SELECT S# FORM SC WHERE C#=“C2” AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=“C2”) 

只要学号直接排除A

成绩最高使用ALL,>=就是大于等于ALL后面的最大值;

如果是小于就是小于ALL后面的最小值;
 

在关系型是数据库中,有两个不同的事务同时操作数据库中同一表的同一行,不会引起冲突的是: F

A 其中一个DELETE操作,一个是SELECT操作

B 其中两个都是UPDATE

C 其中一个是SELECT,一个是UPDATE

D 其中一个SELECT E 其中一个是DELETE,另一个是UPDATE

F 两个都是DELETE 

当要删除的记录在数据库中不存在的时候,是不会报错的。

以下哪个不是与Mysql服务器相互作用的通讯协议() B

A TCP/IP B UDP C 共享内存 D Socket 

如果事务T获得了数据项Q上的排它锁,则T对Q______。 C

A 只能读不能写 B 只能写不能读 C 既可读又可写 D 不能读不能写 

共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。

排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。

更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才 能被释放。 

下列选项中,不属于SQL约束的是: D

A UNIQUE B PRIMARY KEY C FOREIGN KEY D BETWEEN 

SQL共有六种约束:

1、not null  非空约束;

2、unique 唯一性约束;

3、primary key约束  :约束唯一标识数据库表中的每条记录(主键),主键必须包含唯一的值,且不为空;

4、foreign key约束:用于预防破坏表之间连接的动作;

5、check 约束 :用于限制列中的值的范围;

6、default约束 :用于向列中插入默认值 。

下列sql语句中哪条语句可为用户zhangsan分配数据库userdb表userinfo的查询和插入数据权限()。 A

 A grant select,insert on userdb.userinfo to'zhangsan'@'localhost'

B grant'zhangsan'@'localhost'to select,insert for userdb.userinfo

C grant select,insert on userdb.userinfo for'zhangsan'@'localhost'

D grant'zhangsan'@'localhost'to userdb.userinfo on select,insert

权限授予格式:grant [权限] on [table] to 'username'@'localhost';

下列对于数据库索引的说法一定是错误的() B

A 索引可以提升查询,分组和排序的性能

B 索引不会影响表的更新、插入和删除操作的效率

C 全表扫描不一定比使用索引的执行效率低

D 对于只有很少数据值的列,不应该创建索引 

当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 

下面哪个SQL命令用来向表中添加列() D

A MODIFY TABLE TableName ADD COLUMN ColumnName

B MODIFY TABLE TableName ADD ColumnName

C ALTER TABLE TableName ADD COLUMN ColumnName

D ALTER TABLE TableName ADD ColumnName Type 

MODIFY 是用来改变表列性质;ADD是增加列;

用法:ALTER TABLE 表名 MODIFY(列名,列的性质(新));

MODIFY和ADD使用时都要用到修改命令ALTER.

增加列:alter table tableName add columnName varchar (30)

删除列:alter table tableName drop column columnName

、有订单表orders,包含字段用户信息userid,字段产品信息productid,以下语句能够返回至少被订购过两次的productid? D

A select productid from orders where count(productid)>1

B select productid from orders where max(productid)>1

C select productid from orders where having count(productid)>1 group by productid

D select productid from orders group by productid having count(productid)>1 

group by 通常和集合函数SUM(),AVG().MAX(),MIN(),COUNT()等结合在一起,后接限制条件语句 having,不可用where语句 

在手机开发中常用的数据库是 ___A

A sqlLite B Oracle C Sql Server D Db23 

下列哪个特性与此事相关:已落实的事务会保证所有操作均已完成,并且在事务回滚中,所有操作产生的影响均已得到恢复? B

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

数据库事务的 4 个特性是:原子性、一致性、持续性、隔离性。 

执行以下 SQL ,下面哪个名字会被查询出来() C

SELECT FirstName FROM StaffList WHERE FirstName LIKE’_A%’

A Allen B CLARK C JACKSON D David

这是模糊查询的通配符
_:代表的是任意单个字符
%:任意长度的字符串
所以_A%代表返回第二个单词为A的任意字符串 

值过长的属性不适合建立索引。因为索引文件的大小可能会超过操作系统允许的最大文件限制

CREATE INDEX 可以创建聚集索引。因为主键的创建必须依赖于索引,默认创建的是聚集索引,而创建聚集索引的语法就是CREATE INDEX。因此,使用CREATE INDEX可以创建聚集索引。

在关系型数据库中,通常可以使用多个属性联合组成主键。这样的主键也被称为复合主键。复合主键的作用是确保表格中每行数据的唯一性。需要注意的是,使用复合主键时应该遵循两个原则:首先,主键的组合必须能够唯一标识表中的每一条记录;其次,任何一个组成主键的属性都不应该为空(即不能为空值)。同时,在实际应用中,使用复合主键也会增加数据查询及维护的复杂程度。

如下SQL语句中,____可能返回null值。 D

(1) select count(*) from t1;

(2) select max(col1) from t1;

(3) select concat('max=',max(col1)) from t1;

A (1)可能,(2)和(3)不可能

B (2)可能,(1)和(3)不可能

C (3)可能,(1)和(2)不可能

D (1)不可能,(2)和(3)可能

E 都不可能

F 都可能 

(1)返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,
(2) 和(3) 正常情况下不会出现NULL,但是如果表里面没有记录,则会出现NULL

MySQL concat函数使用方法:
CONCAT(str1,str2,…) 
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

(1). 若表t1中有记录,会返回记录数;若无记录,则返回0;
(2). 若表t1中存在列col为null, 则结果返回null;
(3). 若表t1中存在列col为null, 则结果返回null;

使用 % 作为通配符时,匹配的是:C

A 0个或1个字符 B 1个以上的字符(包含1) C 0个以上的字符(包含0) 

% 替代0个或多个字符,_ 仅替代一个字符

以下不是RDBMS的是() D

A mysql B postgreSql  C oracle D hadoop 

RDBMS指的是关系型数据库管理系统,RDBMS是SQL以及所有现代数据库系统的基础,例如MS SQL Server、IBM DB2、Oracle、MySQL和Microsoft Access等。postgreSql是对象关系型数据库管理系统。

Hadoop是分布式系统基础架构。 
 

大部分关系型数据库都支持事务的四大特性(ACID)。

有哪些常见的关系型数据库呢?

MySQL、PostgreSQL、Oracle、SQL Server、SQLite(微信本地的聊天记录的存储就是用的 SQLite) ......。

何为 ACID 特性呢?

  1. 原子性Atomicity) : 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;
  2. 一致性Consistency): 执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的;
  3. 隔离性Isolation): 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;
  4. 持久性Durability): 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响

(单选题)SQL语句分为DDL、DML、DQL、TCL、DCL,以下属于DML的是_______,是否_______事务。

A.drop 不支持 B.insert 支持 C.alter 支持 D.select 不支持

【正确答案】B 【答案解析】

此题目考查的是 对SQL语句的分类的了解

DDL 数据定义语言: create drop alter truncate 不支持事务

DML 数据操作语言: insert update delete 支持事务

DQL 数据查询语言: select 不支持事务

TCL 事务控制语言: commit rollback 等

DCL 数据控制语言: 分配用户权限

(单选题)事务是数据库执行逻辑的基本工作单位。如果一个事务执行成功,则全部更新提交; 如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于_______状态。

A.完整性 B.持久性 C.一致性 D.安全性

【正确答案】C 【答案解析】

此题目考查的是 事务的四大特性:

1、原子性 事务是数据库执行逻辑的工作单元,事务包括的所有操作,要么都做,要么都不做。

2、一致性 事务执行的结果是使数据库从一个一致性状态变成另一个一致性状态。 一致性与原子性是密切相关的。

3、隔离性 一个事务的执行不能被其他事务干扰。

4、持久性 一个事务一旦提交,它对数据库中数据的改变应该是永久性的。

(单选题)select语句中的条件,年龄between 22 and 26,表示年龄在22至26之间,且()

A.包括22岁和26岁 B.不包括22岁和26岁 C.包括22岁但不包括26岁 D.包括26岁但不包括22岁

【正确答案】A 【答案解析】

此题目考查的是 between...and... 在某两个数值之间, 包含and两边的数值 选项A正确。

(单选题)对于分页查询, 以下说法正确的是( )

A.可以减轻服务器压力 B.对于程序开销极大 C.以提高用户体验 D.对于不同数据库有不同的SQL指令 【正确答案】B

(单选题)查询person表中,年龄(age)是25,28,30,22岁的所有信息()

A.select * from person having age=(25,28,30,22);

B.select * from person where age=(25,28,30,22);

C.select * from person where age in(25,28,30,22);

D.select * from person haveing age in(25,28,30,22);

【正确答案】C 【答案解析】

此题目考查的是 where子句(in)查询 查询字段的值为多个的时候可以使用in关键字 选项C正确。

(单选题)数据库DB,数据库系统DBS,和数据库管理系统DBMS三者之间的关系是()

A.DBS包含DB和DBMS

B.DBMS包含DB和DBS

C.DB包含DBS和DBMS

D.DBS就是DB,也就是DBMS

【正确答案】A 【答案解析】

此题目考查的是 DBS包含DB和DBMS

  • DBS(DataBase System):数据库系统,是采用了数据库技术的计算机系统,是一个实际可运行的、按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件和软件,以及数据库管理员的集合体。
  • DB(DataBase): 数据库,数据库实际上就是一个文件集合,本质就是一个文件系统,数据按照特定的格式存储到文件中,使用sql语言对数据进行增删改查操作。
  • DBMS(DataBase Management System):数据库管理系统,是指数据库系统中对数据进行管理的软件系统,用于建立,使用和维护数据库,对数据进行统一的管理和控制,用户通过DBMS访问数据库中的数据。

(单选题)以下能够删除一列的是()

A.alter table tableName remove columnName;

B.alter table tableName drop columnName;

C.alter table tableName from columnName;

D.alter table tableName delete columnName;

【正确答案】B 【答案解析】

此题目考查的是 DDL 数据定义语言, 表的修改 删除表的字段 格式为: alter table 表名 drop 字段名; 选项B正确。

(单选题)已知一张表中的’姓名’列被定义为name varchar(10),则以下说法正确的是()

A.也可以定义为char(10),二者没有区别

B.如果存放中文字符最多可以存放5个

C.如果存放中文字符最多可以存放10个

D.如果输入字符长度短于10字节时用空白字符填满

【正确答案】B 【答案解析】

此题目考查的是 数据库数据类型字符串 char(m): m代表显示长度,长度不可变 varchar(m): 长度是可变的一个中文占两个字节 不是必须插入5个中文或10个英文

(单选题)已知表

student(
  sname varchar(20), --'学生姓名'
  cname varchar(20), --'课程名'
  grade int --'成绩'
)

则下列()选项是正确的。

A.insert into student values(‘张三’,98,‘数学’);

B.insert into student values(‘张三’,‘数学’,98);

C.insert into student values(‘张三’,98,数学);

D.insert into student values(‘张三’,数学,98);

【正确答案】B 【答案解析】

此题目考查的是 DML 数据操作语言 插入数据 全表插入: 要求插入的数据的数量、顺序要和表字段的数量、顺序一致 格式: insert into 表名 values(值1,值2,值3,...); 选项B正确。

(单选题)已知一家公司可以雇佣多名员工为其进行工作,且每名员工只能与一家公司达成劳务关系,那么从公司的角度出发该公司与旗下员工之间的关系属于以下哪一种()

A.一对多 B.多对多 C.一对一 D.多对一

【正确答案】A 【答案解析】

此题目考查的是 表设计之关联关系 一对一: 有两张表A和B,A表中有一条数据对应B表中的一条数据称为一对一关系 一对多: AB两张表中A表中一条数据对应B表中多条数据,并且B表中一条数据对应A表中一条数据,两张表的关系称为一对多或多对一关系 多对多:AB两张表,A表中的一条数据对应B表的多条数据,同时B表的一条数据对应A表的多条数据,这种关系称为多对多关系 选项A正确。

(单选题)已知员工表(emp),请查询出每个员工的姓名(name)和工资(sal),同时要求工资后面显示元,例如,8888元,正确的是()

A.select name,sal(元) from emp;

B.select name,concat(sal,‘元’) from emp;

C.select name,sal 元 from emp;

D.select name,concat(‘sal’,‘元’) from emp;

【正确答案】B 【答案解析】

此题目考查的是 字符串拼接函数 concat(a,b) 将a与b进行拼接,如果a为字段,则将a的值与后面的b拼接,如果a为常量值,则直接将常量值与后面的b拼接。 选项B正确。

(单选题)已知商品表

t_item(
  title varchar(20), --'商品名称'
  price double --'单价'
)

复制

查询商品名中第二个字是"赠"字的商品及价格,则下列选项正确的是()

A.select title,price from t_item where title like '_赠%';

B.select title,price from t_item where title like '_赠%';

C.select title,price from t_item where title like '赠_%';

D.select title,price from t_item where title like '%赠_';

【正确答案】A 【答案解析】

此题目考查的是 like

:代表单个未知字符

% :代表多个未知字符

举例: 以a开头 a%

以a结尾 %a

第二个字符是a  _a%

包含a %a%

倒数第三个字符是a  %a__

第二个和最后一个是a  _a%a

选项A正确。

【单选题】现有学生表,课程表和成绩表,三表中的字段如下: student表:id,student_name course表:id,course_name score表:student_id,course_id,score 前提:每个学生都会参加多门课程的考试,每门课程的成绩在score表中都是一条数据,现若要查询出平均分在60分以上的学生id和学生姓名以及平均分,以下哪个sql语句是正确的?

A.select student_id,student_name,avg(score) av from student s join score sc on s.id=sc.student_id;

B.select student_id,student_name,avg(score) av from student s join score sc on s.id=sc.student_id where av>60;

C.select student_id,student_name,avg(score) av from student s join score sc on s.id=sc.student_id where av>60 group by student_id;

D.select student_id,student_name,avg(score) av from student s join score sc on s.id=sc.student_id group by student_id having av>60;

【正确答案】D 【答案解析】

本题中:依据题意,要求查询出平均分在60分以上的学生信息,所以要先求出每个学生的平均分,即要按学生分组统计平均分,对应的sql语句为 select student_id,student_name,avg(score) av from student s join score sc on s.id=sc.student_id group by student_id;再对每个学生的平均分进行筛选,筛选出60分以上的,那么在最后添加having即可,选择D

【单选题】现有书目表book,包含字段:价格price(float),类别type(varchar);现在查询各个类别的平均价格,类别名称,以下语句正确的是?

A.select avg(price),type from book group by type

B.select count(price),type from book group by price

C.select avg(price),type from book group by price

D.select count(price),type from book group by type

【正确答案】A 【答案解析】

求平均值的函数为avg(),求平均价格,那么函数为avg(price),分析题目,得知,需要根据类别分类,所以用group by type

【单选题】分析下面的SQL语句,哪一部分引起错误

select empno,sum(sal) ‘salary’ from emp where sal>1500 group by empno order by 2;

A.order by 2

B.from emp

C.where sal>1500

D.group by empno

【正确答案】A 【答案解析】

==order by子句后面应该指定的是列的名字,按照指定的列排序

下列哪个语句能查询出MGR为NULL的员工:

A.SELECT ENAME FROM EMP WHERE MGR=NULL;

B.SELECT ENAME FROM EMP WHERE MGR IS NULL;

C.SELECT ENAME FROM EMP WHERE MGR=0;

D.SELECT ENAME FROM EMP WHERE MGR='';

【正确答案】B 【答案解析】

判断是否为空用is null,

不为空,用is not null

【单选题】有以下两个表,问下列sql语句的结果是什么()

Emp表

| emp_id | name | gender |
|   1    | 张丽 |   女   |
|   2    | 王珂 |   男   |
|   3    | 赵琦 |   女   |

emp_dept表

| emp_id | name | dept_name |
|   1    | 张丽 |  财务部   |
|   3    | 赵琦 |  技术部   |

select e.*,ed.dept_name from emp e left join emp_dept ed on e.emp_id=ed.emp_id and e.name=ed.name;

A.

| emp_id | name | gender | dept_name 
| 1       | 张丽 | 女     | 财务部    |
| 2      | 王珂 | 男     | null      |
| 3      | 赵琦 | 女     | 技术部    | 

B.

| emp_id | name | gender | dept_name |
| 1       | 张丽 | 女     | 财务部    |
| 2      | 王珂 | 男     | 技术部    | 

C.

| emp_id | name | gender |
| 1       | 张丽 | 女     |
| 2      | 王珂 | 男     |
| 3      | 赵琦 | 女     | 

D.

| emp_id | name | gender | dept_name |
| 1       | 张丽 | 女     | 财务部    |
| 3      | 赵琦 | 女     | 技术部    | 

复制

【正确答案】A 【答案解析】

本题考察左连接查询,左表中的所有数据都显示,若右表没有匹配的数据,用null进行匹配

【单选题】分析下面SQL语句,在什么情况下引起这个语句失败?

SELECT * FROM student WHERE id=
(SELECT id FROM student WHERE first_name='kate' AND last_name='henry');

A.在数据表中没有学生的名字是kate henry

B.数据表中学生的名字叫kate的多于一个

C.数据表中的学生的名字叫kate henry的多于一个

D.first_name和last_name的值在数据库中是小写的

【正确答案】C 【答案解析】

外查询的条件where id=(子查询),子查询的查询结果id的值只能有一个,如果多于一个,此时不能用 = ,而应该用in

(多选题)约束就是给表字段添加的限制条件,那么关于约束下列说法正确的是()

A.每个表中可以有多个unique约束,但是每个表只能有一个primary key约束

B.unique和primary key约束值都不能为null,值都不能重复

C.not null给字段添加非空约束,值不能为null

D.defautl 给字段设置默认值,当字段不赋值的时候,默认值生效

【正确答案】A,C,D 【答案解析】

此题目考查的是约束非空 not null

  • 添加非空约束的字段,值不能为null 唯一 unique
  • 添加唯一约束的字段,值不能重复,可以为null 主键约束 primary key
  • 添加了主键约束的字段,值不能为null也不能重复 默认约束 default
  • 给字段设置默认值,当字段不赋值的时候,默认值生效

(多选题)数据库中有两张表,员工表emp(id int,ename varchar(10),sal int,deptid int)和部门表dept(id int,dname varchar(10)),现在想要查询所有员工的姓名和其所对应的部门名称,下列正确的是()

A.select e.ename,d.dname from emp e left join dept d on e.deptid=d.id;

B.select e.ename,d.dname from emp e right join dept d on e.deptid=d.id;

C.select ename,dname from emp e right join dept d on e.deptid=d.id;

D.select ename,dname from emp e left join dept d on e.deptid = d.id;

【正确答案】A,D 【答案解析】

此题目考查的是 外连接 基本语法:

左表 left/right join 右表 on 左表.字段=右表.字段;

分为两种 左外连接, 右外连接:

left join 左外连接----以join左边表为主表查询所有数据,右边表只查询有关系的数据

right join 右外连接----以join右边表为主表查询所有数据,左边表只查询有关系的数据

选项AD正确。

(多选题)数据库中有两张表,员工表emp(id int,ename varchar(10),sal int,deptid int)和部门表dept(id int,dname varchar(10)),员工表和部门表的id是主键自增的,现在想要查询每个员工姓名及所对应的部门名称,下列正确的是()

A.select emp.ename,dept.dname from emp,dept where emp.id=dept.deptid;

B.select e.ename,d.dname from emp e join dept d on e.id=d.deptid;

C.select emp.ename,dept.dname from emp,dept where emp.deptid=dept.id;

D.select e.ename,d.dname from emp e join dept d on e.deptid=d.id;

【正确答案】C,D 【答案解析】

此题目考查的是 等值连接格式: sql select * from A,B where A.x=B.x and A.y=abc

内连接格式: sql select * from A join B on A.x=B.x where A.y=abc

例如:查询教研部的员工姓名 select emp.ename,dept.dname from emp,dept where emp.deptid=dept.id and dept.dname='教研部';

select e.ename,d.dname from emp e join dept d on e.deptid=d.id where d.dname='教研部'; 选项CD正确。

(多选题)查询出学生表(student)中,数学(math)成绩最高的学生姓名(name),以下正确的是()

A.select name from student where math is (select max(math) from student);

B.select name from student where math (select max(math) from student);

C.select name from student where math=(select max(math) from student);

D.select name from student where math in (select max(math) from student);

【正确答案】C,D 【答案解析】此题目考查的是子查询

分析如下: 假如数学最高成绩99

1. 首先查询出数学最高成绩 select max(math) from student; 99

2. 然后查寻数学成绩等于99的学生姓名 select name from student where math=99; select name from student where math in(99);

选项CD正确

(多选题)已知商品表

t_item(
  title varchar(20), --'商品名称'
  price double --'单价'
)

复制

查询表中所有商品,要求按单价升序进行排序,每页显示3条数据,且显示第三页的数据,则下列选项正确的是()

A.select title,price from t_item order by price desc limit 3,6;

B.select title,price from t_item order by price limit 3,6;

C.select title,price from t_item order by price limit 6,3;

D.select title,price from t_item order by price asc limit 6,3;

【正确答案】C,D 【答案解析】

此题目考查的是 —limit 分页查询

limit 跳过条数,查询条数

排序 order by 格式: order by 字段名 默认升序,

指定升序是:asc 降序:desc

选项CD正确。

(多选题)已知员工表(emp),现要求把员工表中,没有奖金(bonus)的员工的奖金项修改为零,符合要求的是()

A.update emp set bonus=ifnull(bonus,0);

B.update emp set bonus=ifnull(null,bonus);

C.update emp set bonus=0 where bonus is null;

D.update emp set bonus=0 where bonus=null;

【正确答案】A,C 【答案解析】

此题目考查的是 函数 ifnull() 格式: bonus=ifnull(x,y)

判断x是否为null 如果是 bonus=y, 如果不是 bonus=x;

选项AC正确。

(多选题)下列关于索引说法正确的是()

A.索引创建的越多越好

B.索引创建需谨慎

C.索引是用来提高查询速度的技术,类似一个目录

D.无论表中有多少数据,创建索引,就可以提高查询效率

【正确答案】B,C 【答案解析】

  • 索引是用来提高查询速度的技术,类似一个目录
  • 索引会占用磁盘空间,所以创建时需谨慎,根据查询需求和表结构来决定创建什么索引
  • 索引需要建立在大量数据的表中,如果数据量不够大,有可能会降低查询效率

选项BC正确。

SQL语句中REVOKE all on auth.* from ‘zhangsan’@‘localhost’;表述正确的是(B)
A、zhangsan账户可以在localhost登陆
B、撤销zhangsan用户的auth库权限
C、Zhangsan对ON库没有权限
D、撤销全部命令


备份所有数据库(C)
A、mysqldump -u root -p mysql user > msyql-user.sql
B、mysqldump -u root -p auth > auth.sql
C、mysqldump -u root -p --all-databases > all-db.sql
D、Mysqldump -u root -p --databases > all-db.sql

SELECT user,host,password FROM mysql.user WHERE user=’’ ,描述正确的有(B)
A、全部用户都会被显示
B、显示表中的三列
C、只显示user库中的mysql表
D、显示mysql库中的表

.UPDATE auth.user SET user_password=PASSWORD(‘’) WHERE user_name =’lisi’;

描述错误的是(B)
A、设置密码格式
B、修改users表内的单行数据
C、Root密码为空
D、Auth库不存在

在MySQL中,通常使用__D___语句来指定一个已有数据库作为当前工作数据库。
A、USING
B、USED
C、USESD
D、USE

在MySQL中创建一个名为db_test的数据库,一下正确的是(B)
A、CREATE TABLE db_test;

B、CREATE DATABASE db_test;

C、CREATE DATABASES db_test;
D、INSERT INTO db_test VALUES(1);

设置表的默认字符集关键字是(D)
A、DEFAULT CHARACTER
B、DEFAULT SET
C、DEFAULT DEFAULT
D、CHARACTER SET
下列类型不是MySQL中常用的数据类型(B)
A、INT
B、VAR
C、TIME
D、CHAR

一个数据库可以包含多个数据表
关于DATETIME与TIMESTAMP两种数据类型的描述,错误的是(B)
A、两者值的范围不一样
B、两者值的范围一样
C、两者占用空间不一样
D、TIMESTAMP可以自动记录当前日期时间

SQL语句中修改表结构的命令是(C)
A、MODIFY TABLE
B、MODIFY STRUCTURE
C、ALTER TABLE
D、ALTER STRUCTURE

.数据库系统的核心是(B)
A、数据模型
B、数据库管理系统
C、数据库
D、数据库管理员

索引可以提高哪一操作的效率(D)
A、INSERT
B、UODATE
C、DELETE
D、SELECT

在视图上不能完成的操作是(D)
A、查询
B、在视图上定义新的视图
C、更新视图
D、在视图上定义新的表

在select语句的where子句中,使用正则表达式过滤数据的关键字是(A)
A、regexp
B、like
C、against
D、match

以下哪种操作能够实现完整性(B)
A、设置唯一键
B、设置外键
C、减少数据冗余
D、设置主键

MySQL语言中,删除一个视图的命令是(D)
A、REMOVE
B、CLEAR
C、DELETE
D、DROP

以下哪项用来分组(C)
A、ORBER BY
B、ORDERED BY
C、GROUP BY
D、GROUPED BY

更新数据表中的记录用以下哪一项(B)
A、INSERT
B、UPDATE
C、DELETE
D、UPDATES

以下那些是MySQL数据类型(A)
A、BIGINT
B、BIGCHAR
C、BIGTIME
D、BIGBIT

delete from employee语句的作用是(B)
A、删除当前数据库中整个employee表,包括表结构
B、删除当前数据库中employee表内的所有行
C、由于没有where子句,因此不删除任何数据
D、删除当前数据库中employee表内的当前行

为数据表创建索引的目的是(A)
A、提高查询的检索性能
B、归类
C、创建唯一索引
D、创建主键

.如果一个事务回滚,则要执行(B)
A、commit
B、rollback
C、having
D、begin

GROUP BY 分组的结果集中在此用条件表达式进行筛选的子句是(C)
A、FROM
B、ORDER BY
C、HAVING
D、WHERE

redis主要消耗什么物理资源(A)
A、内存
B、硬盘
C、CPU
D、显卡

.redis支持哪几种数据类型(C)
A、stringlength
B、hashtable
C、set
D、time

一个字符串类型的值能存储最大容量是(C)?
A、256MB
B、1G
C、512MB
D、128MB

Redis集群之间是如何复制的(A)
A、异步复制
B、同步复制
C、半同步复制
D、不复制

用于从表或视图中检索数据的SQL语句是(A)
A、SELECT语句
B、INSERT语句
C、UPDATE语句
D、DELETE语句

在select语句中,可以使用(B)子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算
A、LIMIT
B、GROUP BY
C、WHERE
D、ORDER BY

下列哪种方法能创建索引(A)
A、使用CREATE INDEX语句
B、使用CREATE DATABASE语句
C、使用SELECT TABLE语句
D、使用CREATE IDX语句

以下哪项不是事务的特性(A)
A、唯一性
B、持久性
C、一致性
D、原子性

  1. 原子性Atomicity) : 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;
  2. 一致性Consistency): 执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的;
  3. 隔离性Isolation): 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;
  4. 持久性Durability): 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响

.下面属于浮点数类型的是(C)
A、smallint
B、mediumint
C、float
D、int

下列哪些语句对主键的说明正确(C)
A、主键可重复
B、主键不唯一
C、在数据表中的唯一索引
D、主键用foreign key 修饰

如何统计每个学科的最高分(B)
A、select 学生,max(成绩) from A group by 学生;
B、select 学生,max(成绩) from A group by 学科;
C、select 学生,max(成绩) from A order by 学生;
D、select 学生,max(成绩) from A group by 成绩;
进入要操作的数据库用下列哪个命令(D)
A、IN TEST
B、SHOW TEST
C、USER TEST
D、USE TEST

使用select语句随机地从表中跳出指定数量的行,可以使用的方法是(D)
A、在limit子句中使用RAND()函数指定行数,并用ORDER BY子句定义一个排序规则
B、只有使用limit子句定义指定的行数即可,不使用order by 子句
C、只要在order by 子句中使用RANG()函数,不使用limit子句

D、在order by 子句中使用RAND()函数,并用limit子句定义行数

.查找条件为:姓名为NULL的记录(B)
A、WHERE NAME NULL

B、WHERE NAME IS NULL
C、WHERE NAME=NULL
D、WHERE NAME == NULL

下列哪项属于DDL操作(B)
A、update

B、create
C、insert
D、delete

返回字符串长度的函数是(B)
A、len()
B、length()
C、left()
D、long()

返回字符串长度的函数不是left()。left()函数是用于返回字符串左侧指定长度的子字符串。在MySQL中,用于返回字符串长度的函数有三个:length()、char_length()和character_length()。其中,length()函数返回字符串的字节数,而char_length()和character_length()函数返回字符串的字符数。需要根据具体情况选择使用哪个函数。例如,如果字符串中包含多字节字符集,应该使用char_length()或character_length()函数来获取正确的字符数

一个表的主键个数为(D)
A、至少5个
B、至多3个
C、无限个
D、至多一个

在正则表达式中,匹配任意一个字符的符号是(A)
A、.
B、*
C、?
D、-

在正则表达式中,匹配任意一个字符的符号是”.“而”?"通常用于表示匹配前面的字符出现0次或1次。例如,"a?"可以匹配空字符串、单个字符"a"或者不匹配任何字符。

以下哪项用于左连接(C)
A、JOIN
B、RIGHT JOIN
C、LEFT JOIN
D、INNER JOIN

delete from employee 语句的作用是什么(B)
A、删除当前数据库中整个employee表,包括表结构
B、删除当前数据库中employee表内的所有行
C、由于没有where子句,因此不删除任何数据
D、删除当前数据库中employee表内的当前行

按照班级进行分组(C)
A、ORDER BY CLASS
B、DROP CLASS
C、GROUP BY CLASS
D、GROUP CLASS

格式化日期的函数是(B)
A、DATEDIFF()

B、DATE_FORMAT()
C、DAY()
D、CURDATE()

以下聚合函数求个数的是(D)
A、AVG
B、SUM
C、MAX
D、COUNT

MySQL中,预设的拥有最高权限超级用户的用户名为(D)
A、test
B、Adminstrator
C、DA
D、root

50.以下表达降序排序的是(C)
A、ASC
B、ESC

C、DESC
D、DSC

用来插入数据的命令是(A),用于更新的命令是()
A、INSERT,UPDATE
B、CREATE,INSERT INTO
C、DELETE,UPDATE
D、UPDATE,INSERT

以下语句错误的是(A)
A、alter table emp delete column addcolumn;
B、alter table emp modify column addcolumn char(1);
C、alter table emp change addcolumn addcolumn int;
D、alter table emp add column addcolumn int;

关于检索结果排序,正确的是(AC)
A、关键字DESC表示降序,ASC表示升序
B、如果指定多列排序,只能在最后一列使用升序或者降序关键字
C、如果指定多列排序,可以在任意列使用升序或降序关键字
D、关键字ASC表示降序,DESC表示升序

升序:asc 降序:desc

SQL语言集几个功能模块为一体,其中不包括(C)
A、DCL
B、DML
C、DNL
D、DDL

关于语句limit 5,5 ,说法正确的是(C)
A、表示检索出第5行开始的5条记录
B、表示检索出行6开始的5条记录
C、表示检索出第6行开始的5条记录
D、表示检索出行5开始的前5条记录

limit 5,5表示从第6行开始检索出5条记录。其中,第一个数字5表示从第6行开始,第二个数字5表示一共检索出5条记录。

下列哪些类型是数值类型的数据(D)
A、SET
B、COUNT
C、VARCHAR
D、INT

数据库服务器、数据库和表的关系,正确说法是(B)
A、一个数据库服务器只能管理一个数据库,一个数据库只能包含一个表
B、一个数据库服务器只能管理多个数据库,一个数据库可以包含多个表
C、一个数据库服务器只能管理一个数据库,一个数据库可以包含多个表
D、一个数据库服务器只能管理多个数据库,一个数据库只能包含一个表

下列说法错误的是(C)
A、GROUP BY 子句用来分组where子句的输出
B、WHERE子句用来筛选FROM子句中指定的操作所产生的行
C、聚合函数需要和group by一起使用
D、HAVING子句用来从FROM的结果中筛选行

以下匹配‘1 ton’和‘2 ton’及‘3 ton’的正则表达式是(C)
A、‘123 ton’
B、‘1,2,3 ton’

C、‘[123] ton’
D、‘1|2|3 ton’

正确的选项是 C、‘[123] ton’。

正则表达式 ‘[123] ton’ 意味着匹配在方括号内的任何一个字符,即匹配数字 1、2 或 3,后面跟着空格和字符串 “ton”。因此,它可以匹配 ‘1 ton’、‘2 ton’ 和 ‘3 ton’。

选项 A、‘123 ton’ 匹配的是具有数字 “123” 的字符串,而不仅仅是 ‘1 ton’、‘2 ton’ 和 ‘3 ton’。
选项 B、‘1,2,3 ton’ 使用了逗号,而题目中的字符串中不包含逗号。
选项 D、‘1|2|3 ton’ 使用了竖线,它会匹配 ‘1 ton’、‘2 ton’ 和 ‘3 ton’ 之外的字符串,不符合要求

以下表示可变长度字符串的数据类型是(C)
A、TEXT
B、CHAR

C、VARCHAR
D、ENUM

以下语句正确的是(C)
A、select * from emp;
B、select name,sal from emp;
C、select * from emp just by dept;
D、select * from emp where dept=1 and sal<300;

(A)表示一个新的事物处理的开始
A、start transaction
B、Begin transaction
C、Begin commit
D、Start commit

1. 开启事务: start transaction;

            2. 回滚:rollback;

            3. 提交:commit;

Begin transaction启动一个事务处理

以下哪个语句用于撤销权限(C)
A、DELETE
B、DROP
C、REVOKE
D、UPDATE

grant(赋予用户权限),deny(禁止权限),revoke(收回权限)属于数据控制语言

只修改列的数据类型指令是(C)
A、ALTER TABLE … … ALTER COLUMN
B、ALTER TABLE … … MODIFY COLUMN …
C、ALTER TABLE … … UPDATE …
D、ALTER TABLE … … UPDATE COLUMN

UNIQUE 唯一索引的作用是(A)
A、保证各行在该索引上的值都不得重复
B、保证各行在该索引上的值不为NULL
C、保证参加唯一索引的各列,不得再参加其他的索引
D、保证唯一索引不能被删除

以下哪种操作能够实现实体完整性(D)
A、设置唯一键
B、设置外键
C、减少数据冗余
D、设置主键

SELECT user,host,password FROM mysql.user WHERE user=’’ ,描述正确的有(A)
A、部分用户都会被显示
B、显示表中的三列
C、显示user库中的表
D、显示mysql库中的表

SQL语言中数据定义语言DDL中包括哪个语句(A)
A
、DROP
B、DELETE
C、select
D、grant

数据查询语言(DQL):是由SELECT子句,FROM子句,WHERE子句组成的查询块

·  数据操纵语言(DML): SELECT(查询) INSERT(插入) UPDATE(更新) DELETE(删除)

·  数据定义语言(DDL):CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)

·  数据控制语言(DCL):GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)

·  事务控制语言(TCL):SAVEPOINT (设置保存点)ROLLBACK (回滚) COMMIT(提交)

SQL语句中REVOKE all on auth.* from ‘zhangsan’@‘localhost’;表述正确的是(B)
A、zhangsan账户可以在localhost登陆
B、撤销zhangsan用户的auth库权限
C、Zhangsan对ON库没有权限
D、撤销全部命令

备份所有数据库(C)
A、mysqldump -u root -p mysql user > msyql-user.sql
B、mysqldump -u root -p auth > auth.sql
C、mysqldump -u root -p --all-databases > all-db.sql
D、Mysqldump -u root -p --databases > all-db.sql

SELECT user,host,password FROM mysql.user WHERE user=’’ ,描述正确的有(B)
A、全部用户都会被显示
B、显示表中的三列
C、只显示user库中的mysql表
D、显示mysql库中的表

UPDATE auth.user SET user_password=PASSWORD(‘’) WHERE user_name =’lisi’; 描述错误的是(B)
A、设置密码格式

B、修改users表内的单行数据
C、Root密码为空
D、Auth库不存在

在MySQL中,通常使用___D__语句来指定一个已有数据库作为当前工作数据库。
A、USING
B、USED
C、USESD
D、USE

在MySQL中创建一个名为db_test的数据库,一下正确的是(B)
A、CREATE TABLE db_test;
B、CREATE DATABASE db_test;
C、CREATE DATABASES db_test;
D、INSERT INTO db_test VALUES(1);

设置表的默认字符集关键字是(D)
A、DEFAULT CHARACTER
B、DEFAULT SET
C、DEFAULT
D、DEFAULT CHARACTER SET

下列类型不是MySQL中常用的数据类型(B)
A、INT
B、VAR
C、TIME
D、CHAR

下列描述正确的是(B)
A、一个数据只能包含一个数据表

B、一个数据库可以包含多个数据表
C、一个数据库只能包含两个数据表
D、一个数据表可以包含多个数据表

关于DATETIME与TIMESTAMP两种数据类型的描述,错误的是(B)
A、两者值的范围不一样
B、两者值的范围一样
C、两者占用空间不一样
D、TIMESTAMP可以自动记录当前日期时间

SQL语句中修改表结构的命令是(C)
A、MODIFY TABLE
B、MODIFY STRUCTURE
C、ALTER TABLE
D、ALTER STRUCTURE

数据库系统的核心是(B)
A、数据模型
B、数据库管理系统
C、数据库
D、数据库管理员

索引可以提高哪一操作的效率(D)
A、INSERT
B、UODATE
C、DELETE
D、SELECT

在视图上不能完成的操作是(D)
A、查询
B、在视图上定义新的视图
C、更新视图
D、在视图上定义新的表

在select语句的where子句中,使用正则表达式过滤数据的关键字是(A)
A、regexp
B、like
C、against
D、match

以下哪种操作能够实现完整性(B)
A、设置唯一键
B、设置外键
C、减少数据冗余
D、设置主键

MySQL语言中,删除一个视图的命令是(D)
A、REMOVE
B、CLEAR
C、DELETE

D、DROP

86.以下哪项用来分组(C)
A、ORBER BY
B、ORDERED BY

C、GROUP BY
D、GROUPED BY

更新数据表中的记录用以下哪一项(B)
A、INSERT

B、UPDATE
C、DELETE
D、UPDATES

以下那些是MySQL数据类型(A)
A、BIGINT
B、BIGCHAR
C、BIGTIME
D、BIGBIT

delete from employee语句的作用是(B)
A、删除当前数据库中整个employee表,包括表结构

B、删除当前数据库中employee表内的所有行
C、由于没有where子句,因此不删除任何数据
D、删除当前数据库中employee表内的当前行

为数据表创建索引的目的是(A)
A、提高查询的检索性能
B、归类
C、创建唯一索引
D、创建主键

如果一个事务回滚,则要执行(B)
A、commit

B、rollback
C、having
D、begin

从GROUP BY 分组的结果集中在此用条件表达式进行筛选的子句是(C)
A、FROM
B、ORDER BY

C、HAVING
D、WHERE

redis主要消耗什么物理资源(A)
A、内存
B、硬盘
C、CPU
D、显卡

redis支持哪几种数据类型(C)
A、stringlength
B、hashtable

C、set
D、time

一个字符串类型的值能存储最大容量是(C)?
A、256MB
B、1G
C、512MB
D、128MB

Redis集群之间是如何复制的(A)
A、异步复制
B、同步复制
C、半同步复制
D、不复制

用于从表或视图中检索数据的SQL语句是(A)
A、SELECT语句
B、INSERT语句
C、UPDATE语句
D、DELETE语句

在select语句中,可以使用(B)子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算
A、LIMIT

B、GROUP BY
C、WHERE
D、ORDER BY

下列哪种方法能创建索引(A)
A、使用CREATE INDEX语句
B、使用CREATE DATABASE语句
C、使用SELECT TABLE语句
D、使用CREATE IDX语句

以下哪项不是事务的特性(A)
A、唯一性
B、持久性
C、一致性
D、原子性

.下面属于浮点数类型的是(C)
A、smallint
B、mediumint
C、float
D、int

下列哪些语句对主键的说明正确(C)
A、主键可重复
B、主键不唯一

C、在数据表中的唯一索引
D、主键用foreign key 修饰

如何统计每个学科的最高分(B)
A、select 学生,max(成绩) from A group by 学生;
B、select 学生,max(成绩) from A group by 学科;
C、select 学生,max(成绩) from A order by 学生;
D、select 学生,max(成绩) from A group by 成绩;

进入要操作的数据库用下列哪个命令(D)
A、IN TEST
B、SHOW TEST
C、USER TEST
D、USE TEST

使用select语句随机地从表中跳出指定数量的行,可以使用的方法是(D)
A、在limit子句中使用RAND()函数指定行数,并用ORDER BY子句定义一个排序规则
B、只有使用limit子句定义指定的行数即可,不使用order by 子句
C、只要在order by 子句中使用RANG()函数,不使用limit子句
D、在order by 子句中使用RAND()函数,并用limit子句定义行数

查找条件为:姓名为NULL的记录(B)
A、WHERE NAME NULL
B、WHERE NAME IS NULL
C、WHERE NAME=NULL
D、WHERE NAME == NULL

下列哪项属于DDL操作(B)
A、update

B、create
C、insert
D、delete

SELECT user,host,password FROM mysql.user WHERE user=’’ ,描述正确的有(A)
A、部分用户都会被显示
B、显示表中的三列
C、显示user库中的表
D、显示mysql库中的表


以下哪项是事务特性(ABCD)
A、隔离性 B、持久性 C、原子性 D、一致性
2、关于检索结果排序,正确的是(AC)
A、关键字DESC表示降序,ASC表示升序
B、如果指定多列排序,只能在最后一列使用升序或者降序关键字
C、如果指定多列排序,可以在任意列使用升序或降序关键字
D、关键字ASC表示降序,DESC表示升序

升序:asc 降序:desc

SQL语言集几个功能模块为一体,其中包括(ABD)
A、DCL B、DML C、DNL D、DDL

关于语句limit 5,5 ,说法正确的是( C )
A、表示检索出第5行开始的5条记录
B、表示检索出行6开始的5条记录
C、表示检索出第6行开始的5条记录
D、表示检索出行5开始的前5条记录

下列哪些类型是数值类型的数据(AB)
A、DOUBLE B、INT C、SET D、CHAR

删除数据表中的一条记录用以下哪一项(A)
A、DELETE B、DELETED C、DROP D、UPDATE
数据库服务器、数据库和表的关系,正确说法是( B)
A、一个数据库服务器只能管理一个数据库,一个数据库只能包含一个表
B、一个数据库服务器只能管理多个数据库,一个数据库可以包含多个表
C、一个数据库服务器只能管理一个数据库,一个数据库可以包含多个表
D、一个数据库服务器只能管理多个数据库,一个数据库只能包含一个表

下列哪项属于DDL操作( B)
A、update B、create C、insert D、delete

1创建视图的命令是( D )
A、alter view B、alter table C、create table
D、create view
下列说法错误的是(D )
A、GROUP BY 子句用来分组where子句的输出
B、WHERE子句用来筛选FROM子句中指定的操作所产生的行
C、聚合函数需要和group by一起使用
D、HAVING子句用来从FROM的结果中筛选行

HAVING子句并不是用来从FROM的结果中筛选行的,而是用来从分组的结果中筛选行的。具体来说,WHERE子句用来筛选FROM子句中指定的操作所产生的行,而GROUP BY子句用来分组WHERE子句的输出。HAVING子句则用来从分组的结果中筛选行。

以下匹配‘1 ton’和‘2 ton’及‘3 ton’的正则表达式是(C)
A、‘123 ton’ B、‘1,2,3 ton’
C、‘[123] ton’ D、‘1|2|3 ton’

正确的选项是 C、‘[123] ton’。

正则表达式 ‘[123] ton’ 意味着匹配在方括号内的任何一个字符,即匹配数字 1、2 或 3,后面跟着空格和字符串 “ton”。因此,它可以匹配 ‘1 ton’、‘2 ton’ 和 ‘3 ton’。

选项 A、‘123 ton’ 匹配的是具有数字 “123” 的字符串,而不仅仅是 ‘1 ton’、‘2 ton’ 和 ‘3 ton’。
选项 B、‘1,2,3 ton’ 使用了逗号,而题目中的字符串中不包含逗号。
选项 D、‘1|2|3 ton’ 使用了竖线,它会匹配 ‘1 ton’、‘2 ton’ 和 ‘3 ton’ 之外的字符串,不符合要求

以下表示可变长度字符串的数据类型是( C )
A、TEXT B、CHAR C、VARCHAR D、ENUM

以下语句正确的是( C )
A、select * from emp;
B、select name,sal from emp;
C、select * from emp order by dept;
D、select * from emp where dept=1 and sal<300;

(A)表示一个新的事物处理的开始
A、start transaction
B、Begin transaction
C、Begin commit
D、Start commit

以下聚合函数求个数的是(B )
A、AVG B、SUM C、MAX D、COUNT

mysql中,备份数据库的命令是( A )
A、mysqldump B、mysql C、mysqladmin D、mysqlbackup

以下哪个语句用于撤销权限( C )
A、DELETE B、DROP
C、REVOKE D、UPDATE

数据库系统的核心是(B )
A、数据模型 B、数据库管理系统 C、数据库 D、数据库管理员

只修改的数据类型指令是(B )
A、ALTER TABLE … … ALTER COLUMN

B、ALTER TABLE … … MODIFY COLUMN …
C、ALTER TABLE … … UPDATE …
D、ALTER TABLE … … UPDATE COLUMN

UNIQUE 唯一索引的作用是( A )
A、保证各行在该索引上的值都不得重复
B、保证各行在该索引上的值不为NULL
C、保证参加唯一索引的各列,不得再参加其他的索引
D、保证唯一索引不能被删除

在视图上不能完成的操作是( D )
A、查询 B、在视图上定义新的视图 C、更新视图
D、在视图上定义新的表

用于将事务处理写到数据库的命令是(D )
A、insert B、rollback C、commit
D、savepoint

查找条件为:姓名不是NULL的记录( C )
A、WHERE NAME ! NULL
B、WHERE NAME NOT NULL
C、WHERE NAME IS NOT NULL
D、WHERE NAME != NULL

在select语句的where子句中,使用正则表达式过滤数据的关键字是( D)
A、like B、againset C、match
D、regexp

在select语句的where子句中,使用正则表达式过滤数据的关键字是 D、regexp。

在SQL中,使用正则表达式过滤数据的关键字是 REGEXP。在where子句中,可以使用类似以下方式的语法进行匹配:

SELECT * FROM table_name WHERE column_name REGEXP 'regex_pattern';

其中,column_name 是要匹配的列名,regex_pattern 是正则表达式模式。

选项 A、like 是用于基于通配符匹配的操作符,不是用于正则表达式的。例如,可以使用 LIKE '%keyword%' 来进行通配符匹配。
选项 B、againset 并非SQL中的关键字,不存在该选项。
选项 C、match 是用于全文搜索和模式匹配的关键字,但不是用于正则表达式的。
选项 D、regexp 是用于使用正则表达式匹配的关键字,在该上下文中可以实现更灵活的匹配条件。

以下哪种操作能够实现实体完整性( B )
A、设置唯一键
B、设置外键
C、减少数据冗余
D、设置主键

外键的作用

  1. 保证数据的一致性与完整性
  2. 可以实现一对一或者一对多的关系

SELECT user,host,password FROM mysql.user WHERE user=’’ ,描述正确的有(B )
A、全部用户都会被显示
B、显示表中的三列
C、显示user库中的表
D、显示mysql库中的表


 

2020年MySQL数据库面试题总结(50道题含答案解析和思维导图)-阿里云开发者社区

你可能感兴趣的:(MySQL数据库,数据库)