mysql笔试题

合集下载

mysql数据库考试试题及答案

mysql数据库考试试题及答案

mysql数据库考试试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认使用的端口号是多少?A. 3306B. 8080C. 80D. 21答案:A2. 下列哪个不是MySQL的数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:D3. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B4. 如何在MySQL中查看当前所有数据库?A. SHOW DATABASES;B. LIST DATABASES;C. SELECT DATABASES;D. DISPLAY DATABASES;答案:A5. 在MySQL中,以下哪个语句用于删除表?A. DROP TABLEB. REMOVE TABLEC. DELETE TABLED. DESTROY TABLE答案:A6. 下列哪个不是MySQL的索引类型?A. PRIMARYB. UNIQUEC. INDEXD. FOREIGN答案:D7. 在MySQL中,使用哪个命令来查看表结构?A. DESCRIBE table_name;B. EXPLAIN table_name;C. SHOW table_name;D. SELECT table_name;答案:A8. 如何在MySQL中为表添加新列?A. ADD COLUMN column_name;B. INSERT COLUMN column_name;C. CREATE COLUMN column_name;D. APPEND COLUMN column_name;答案:A9. 在MySQL中,使用哪个命令来创建视图?A. CREATE VIEW view_name AS SELECT ...B. VIEW view_name AS SELECT ...C. DEFINE VIEW view_name AS SELECT ...D. CREATE SELECT view_name AS ...答案:A10. 下列哪个命令用于在MySQL中备份数据库?A. BACKUP DATABASEB. COPY DATABASEC. DUMP DATABASED. SAVE DATABASE答案:C二、填空题(每空1分,共10分)1. 在MySQL中,使用______语句可以创建新的表。

mysql笔试题目及答案

mysql笔试题目及答案

mysql笔试题目及答案一、选择题1. 下列哪个不是MySQL的数据库对象?a. 表(Table)b. 视图(View)c. 索引(Index)d. 过程(Procedure)答案:d. 过程(Procedure)2. 下列哪种数据类型可以存储日期和时间?a. VARCHARb. INTc. DATETIMEd. FLOAT答案:c. DATETIME3. 在MySQL中,以下哪种连接方式返回两个表中的所有匹配行?a. INNER JOINb. LEFT JOINc. RIGHT JOINd. FULL OUTER JOIN答案:a. INNER JOIN4. 下列哪个命令可以删除表中的所有数据,但保留表结构?a. TRUNCATE TABLEb. DROP TABLEc. DELETE FROMd. REMOVAL TABLE答案:a. TRUNCATE TABLE5. MySQL中使用哪个关键字用于过滤SELECT语句的结果集?a. WHEREb. HAVINGc. FILTERd. GROUP BY答案:a. WHERE二、填空题1. 在MySQL中,用于创建数据库的命令是____。

答案:CREATE DATABASE2. 在MySQL中,用于查看表结构的命令是____。

答案:DESCRIBE TABLE3. 在MySQL中,用于插入一条新记录的命令是____。

答案:INSERT INTO4. 在MySQL中,表示所有列的通配符是____。

答案:*5. 在MySQL中,用于更新数据的命令是____。

答案:UPDATE三、简答题1. 请简要解释MySQL中的主键(Primary Key)约束。

答案:主键是用于唯一标识表中每一条记录的列或列组合。

它的值必须是唯一的且不能为空。

主键约束确保了数据的完整性和一致性,还可以提高查询效率。

2. 请简要解释MySQL中的事务(Transaction)的概念。

mysql试题及答案

mysql试题及答案

mysql试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认的端口号是多少?A. 21B. 22C. 3306D. 80答案:C2. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE USERD. CREATE INDEX答案:A3. 如何在MySQL中选择所有的行和列?A. SELECT * FROM table_name;B. SELECT ALL FROM table_name;C. SELECT ALL table_name;D. SELECT table_name;答案:A4. 下列哪个选项不是MySQL的数据类型?A. INTB. DATEC. FLOATD. STRING答案:D5. 在MySQL中,如何删除一个数据库?A. DROP DATABASE database_name;B. DELETE DATABASE database_name;C. REMOVE DATABASE database_name;D. REMOVE database_name;答案:A6. 如何在MySQL中为一个表添加一个新列?A. ADD COLUMN column_name datatype;B. CREATE COLUMN column_name datatype;C. INSERT COLUMN column_name datatype;D. ADD NEW COLUMN column_name datatype;答案:A7. 在MySQL中,以下哪个命令用于删除表中的行?A. DELETE FROM table_name;B. REMOVE FROM table_name;C. DROP FROM table_name;D. REMOVE table_name;答案:A8. 如何在MySQL中更新表中的记录?A. UPDATE table_name SET column1=value1, column2=value2 WHERE condition;B. CHANGE table_name SET column1=value1, column2=value2 WHERE condition;C. MODIFY table_name SET column1=value1, column2=value2 WHERE condition;D. ALTER table_name SET column1=value1, column2=value2WHERE condition;答案:A9. MySQL中的事务是什么?A. 一系列原子性的SQL操作B. 单个SQL语句C. 一组数据D. 一个数据库答案:A10. 如何在MySQL中查看当前数据库的版本?A. SELECT VERSION();B. SHOW VERSION;C. VERSION();D. SHOW DATABASE VERSION;答案:A二、填空题(每题2分,共20分)1. MySQL的默认用户是________。

大学mysql考试题及答案

大学mysql考试题及答案

大学mysql考试题及答案一、单项选择题(每题2分,共20分)1. MySQL数据库系统中,用于对数据进行查询操作的语句是:A. INSERTB. UPDATEC. DELETED. SELECT答案:D2. 在MySQL中,创建数据库的命令是:A. CREATE DATABASEB. NEW DATABASEC. BUILD DATABASED. START DATABASE答案:A3. 如果想要在MySQL中删除一个已经存在的数据表,应该使用哪个命令?A. REMOVE TABLEB. DELETE TABLEC. DROP TABLED. DESTROY TABLE答案:C4. MySQL中,用于添加数据到表中的语句是:A. INSERT INTOB. ADD INTOC. PUT INTOD. CREATE INTO答案:A5. 在MySQL中,哪个命令用于修改已存在的数据记录?A. UPDATEB. MODIFYC. CHANGED. ALTER答案:A6. 下列哪个不是MySQL的数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:D7. 在MySQL中,用于删除数据库的命令是:A. DELETE DATABASEB. REMOVE DATABASEC. DROP DATABASED. DESTROY DATABASE答案:C8. MySQL中的事务具有哪些特性?(多选)A. 原子性B. 一致性C. 隔离性D. 持久性答案:ABCD9. 在MySQL中,哪个命令用于查询数据库中所有数据表的名称?A. SHOW TABLESB. LIST TABLESC. DISPLAY TABLESD. SELECT TABLES答案:A10. 如果想要在MySQL中查询某个表的结构,应该使用哪个命令?A. DESCRIBE table_nameB. EXPLAIN table_nameC. SHOW table_nameD. SELECT table_name答案:A二、多项选择题(每题3分,共15分)11. 在MySQL中,可以使用哪些方法来保证事务的原子性和一致性?(多选)A. 使用存储过程B. 使用事务控制语句C. 使用外键约束D. 使用触发器答案:BCD12. 下列哪些是MySQL支持的索引类型?(多选)A. PRIMARYB. UNIQUEC. INDEXD. FOREIGN KEY答案:ABC13. 在MySQL中,哪些操作可以导致事务的回滚?(多选)A. 执行ROLLBACK命令B. 违反外键约束C. 违反唯一性约束D. 执行COMMIT命令答案:ABC14. MySQL中,哪些因素会影响查询性能?(多选)A. 数据库设计B. 索引的使用C. 查询语句的编写D. 服务器硬件配置答案:ABCD15. 在MySQL中,哪些命令可以用于数据备份?(多选)A. BACKUPB. DUMPC. COPYD. EXPORT答案:BD三、简答题(每题10分,共20分)16. 请简述MySQL中主键和唯一索引的区别。

mysql笔试题目及答案

mysql笔试题目及答案

mysql笔试题目及答案一、选择题(每题2分,共20分)1. MySQL数据库默认的存储引擎是()。

A. InnoDBB. MyISAMC. MemoryD. Archive答案:B2. 下列哪个选项不是MySQL的索引类型?()A. B-TreeB. HashC. R-TreeD. Full-Text答案:B3. MySQL中,以下哪个函数用于获取当前时间?()A. NOW()B. CURDATE()C. CURTIME()D. DATE()答案:A4. 在MySQL中,以下哪个选项是正确的创建数据库的语法?()A. CREATE DATABASE database_name;B. CREATE DATABASE database_name COLLATE utf8_general_ci;C. CREATE TABLE database_name;D. CREATE DATABASE database_name IF NOT EXISTS;答案:D5. 在MySQL中,以下哪个选项是正确的创建表的语法?()A. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10));B. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10)) ENGINE=InnoDB;C. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10)) CHARSET=utf8;D. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10)) ENGINE=InnoDB CHARSET=utf8;答案:D6. MySQL中,以下哪个选项是正确的删除表的语法?()A. REMOVE TABLE table_name;B. DROP TABLE table_name;C. DELETE TABLE table_name;D. REMOVE table_name;答案:B7. 在MySQL中,以下哪个选项是正确的插入数据的语法?()A. INSERT INTO table_name (column1, column2) VALUES (value1, value2);B. INSERT INTO table_name VALUES (value1, value2);C. INSERT INTO table_name (column1, column2) SET value1,value2;D. INSERT INTO table_name SET (column1, value1), (column2, value2);答案:A8. 在MySQL中,以下哪个选项是正确的更新数据的语法?()A. UPDATE table_name SET column1 = value1, column2 = value2WHERE condition;B. UPDATE table_name SET column1 = value1 WHERE condition;C. UPDATE table_name SET column1 = value1, column2 = value2;D. UPDATE table_name column1 = value1, column2 = value2 WHERE condition;答案:A9. 在MySQL中,以下哪个选项是正确的查询数据的语法?()A. SELECT * FROM table_name WHERE condition;B. SELECT * FROM table_name;C. SELECT table_name WHERE condition;D. SELECT * FROM table_name WHERE condition LIMIT 10;答案:A10. 在MySQL中,以下哪个选项是正确的删除数据的语法?()A. DELETE FROM table_name WHERE condition;B. REMOVE FROM table_name WHERE condition;C. DELETE table_name WHERE condition;D. REMOVE table_name WHERE condition;答案:A二、填空题(每题3分,共15分)1. MySQL中,使用________函数可以获取当前日期。

mysql数据库考试试题及答案

mysql数据库考试试题及答案

mysql数据库考试试题及答案一、选择题(共10题,每题2分)1. 数据库是用来存储数据的______。

A. 软件B. 硬件C. 语言D. 操作系统2. 在MySQL中,一个数据库可以包含多个______。

A. 数据表B. 数据记录C. 数据字段D. 数据行3. 在MySQL中,使用______命令可以查询数据库中的表。

A. INSERTB. SELECTC. DELETED. UPDATE4. MySQL的数据类型中,用于存储货币金额的类型是______。

A. VARCHARB. INTC. DECIMALD. TEXT5. 在MySQL中,以______开头的注释语句会被MySQL解释器忽略。

A. //B. **C. #D. --6. 在MySQL中,使用______关键字可以删除表中的所有数据。

A. DELETEB. DROPC. TRUNCATED. REMOVE7. MySQL中,使用______命令可以将表中的数据按照指定的条件进行排序。

A. SELECTB. ORDER BYC. GROUP BYD. UPDATE8. 在MySQL中,使用______命令可以创建一个新的数据库。

A. CREATEB. INSERTC. UPDATED. DELETE9. 在MySQL中,使用______命令可以修改表的结构。

A. ALTERB. UPDATEC. TRUNCATED. DROP10. 在MySQL中,使用______命令可以将多个表进行连接查询。

A. UNIONB. JOINC. MERGED. LINK二、填空题(共5题,每题4分)1. 在MySQL中,______命令用于创建一个新的数据库。

2. SQL是______查询语言。

3. 在MySQL中,使用______关键字可以对查询结果进行分组。

4. MySQL中,______命令可以删除指定的数据表。

5. 在MySQL中,______函数用来统计指定字段的平均值。

mysql考试题

mysql考试题

mysql考试题一、选择题(每题2分,共20分)1. MySQL是一种关系型数据库管理系统()。

a) 是b) 否2. 在MySQL中,下列哪个不是数据类型?a) INTb) STRINGc) FLOATd) DATE3. MySQL默认的监听端口号是()。

a) 3306b) 8080c) 22d) 54324. 在MySQL中,下列哪个命令用于打开命令行界面?a) mysqlb) show databasesc) quitd) alter table5. 在MySQL中,下列哪个语句用于创建新表?a) INSERTb) SELECTc) UPDATEd) CREATE TABLE6. 在MySQL中,下列哪个命令用于删除数据表?a) DROP TABLEb) DELETE FROMc) UPDATEd) ALTER TABLE7. 在MySQL中,下列哪个函数用于返回指定列的最大值?a) COUNTb) AVGc) MAXd) SUM8. 在MySQL中,下列哪个命令用于插入一条新记录?a) UPDATEb) INSERT INTOc) DELETE FROMd) ALTER TABLE9. 在MySQL中使用WHERE子句可以()。

a) 插入新记录b) 更新记录c) 删除记录d) 查询记录10. 在MySQL中,下列哪个命令用于备份整个数据库?a) BACKUP DATABASEb) BACKUP TABLEc) EXPORT DATABASEd) mysqldump二、填空题(每题2分,共20分)1. SELECT * FROM 表名;的作用是()。

2. 在MySQL中,用于设置主键的关键字是()。

3. 在MySQL中,用于删除数据表的命令是()。

4. 在MySQL中,用于更新数据表中的某一列的命令是()。

5. 在MySQL中,用于查询满足指定条件的记录的命令是()。

6. MySQL中,用于计算指定列的平均值的函数是()。

大学mysql考试题及答案

大学mysql考试题及答案

大学mysql考试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认使用的端口号是:A. 22B. 3306C. 80D. 8080答案:B2. 下列哪个选项是MySQL数据库的存储引擎?A. InnoDBB. OracleC. SQL ServerD. PostgreSQL答案:A3. 在MySQL中,用于创建新表的SQL语句是:A. CREATE DATABASEB. CREATE TABLEC. ALTER TABLED. DROP TABLE答案:B4. 以下哪个SQL语句用于删除数据库中的表?A. DROP DATABASEB. DROP TABLEC. TRUNCATE TABLED. DELETE FROM答案:B5. 以下哪个选项不是MySQL的数据类型?A. VARCHARB. TEXTC. DATETIMED. XML答案:D6. 在MySQL中,使用哪个关键字来创建索引?A. INDEXB. KEYC. UNIQUED. BOTH A and B答案:D7. 如果想要在查询结果中排除重复的行,应该使用哪个SQL语句?A. SELECT DISTINCTB. SELECT ALLC. SELECT UNIQUED. SELECT NODUPLICATE答案:A8. 在MySQL中,哪个函数用于获取当前日期和时间?A. NOW()B. CURRENT_DATEC. CURRENT_TIMED. BOTH B and C答案:A9. 以下哪个选项不是MySQL的权限类型?A. SELECTB. INSERTC. UPDATED. EXECUTE答案:D10. 在MySQL中,哪个命令用于查看当前数据库的版本?A. VERSION()B. SELECT VERSION()C. SHOW VERSIOND. ALL OF THE ABOVE答案:D二、填空题(每题2分,共20分)1. MySQL的______存储引擎支持事务处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面试笔试常考的mysql 数据库操作group by分类:数据库2014-08-06 16:38 773人阅读评论(0) 收藏举报面试数据库mysqlIT 面试中,数据库的相关问题基本上属于必考问题,而其中关于sql 语句也是经常考察的一个重要知识点。

下面介绍下sql语句中一个比较重要的操作group by,他的重要行一方面体现在他的理解困难度,一方面体现应用中的长见性。

首先,给出一个studnet学生表:[sql]view plaincopyprint?1.CREATE TABLE `student` (2. `id` int(11) NOT NULL AUTO_INCREMENT,3. `name` varchar(30) DEFAULT NULL,4. `sex` tinyint(1) DEFAULT'0',5. `score` int(10) NOT NULL,6. `dept` varchar(10) DEFAULT NULL,7.PRIMARY KEY (`id`)8.) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8添加一些测试数据:[sql]view plaincopyprint?1.mysql> select * from student where id<10;2.+----+------+------+-------+---------+3.| id | name | sex | score | dept |4.+----+------+------+-------+---------+5.| 1 | a | 1 | 90 | dev |6.| 2 | b | 1 | 90 | dev |7.| 3 | b | 0 | 88 | design |8.| 4 | c | 0 | 60 | sales |9.| 5 | c | 0 | 89 | sales |10.| 6 | d | 1 | 100 | product |11.+----+------+------+-------+---------+给出需求,写出sql:给出各个部门最高学生的分数。

要想得到各个部门学生,首先就要分组,按照部门把他们分组,然后在各个部门中找到分数最高的就可以了。

所以sql语句为:[sql]view plaincopyprint?1.mysql> select *, max(score) as max from student group by dept order by name;2.+----+------+------+-------+---------+------+3.| id | name | sex | score | dept | max |4.+----+------+------+-------+---------+------+5.| 1 | a | 1 | 90 | dev | 90 |6.| 3 | b | 0 | 88 | design | 88 |7.| 4 | c | 0 | 60 | sales | 89 |8.| 6 | d | 1 | 100 | product | 100 |9.+----+------+------+-------+---------+------+10. 4 rows in set (0.00 sec)这只是个简单的例子,我们可以再把这个例子复杂化,比如分数最高的必须是女生,即sex列值必须为1才挑选出,这时的sql语句应该为:[sql]view plaincopyprint?1.mysql> select *,max(score) as max from student group by dept having sex='1'order by name;2.+----+------+------+-------+---------+------+3.| id | name | sex | score | dept | max |4.+----+------+------+-------+---------+------+5.| 1 | a | 1 | 90 | dev | 90 |6.| 6 | d | 1 | 100 | product | 100 |7.+----+------+------+-------+---------+------+8. 2 rows in set (0.46 sec)这里我们没有用where语句而是用了having,这里简单说明一下,因为我们的条件是在分组后进行的,其实分组前挑选出sex='1',然后再按照dept部门分组,也是可行的,这里就要看题目是怎么要求的:[sql]view plaincopyprint?1.mysql> select *,max(score) as max from student where sex='1'group by dept order by name;2.+----+------+------+-------+---------+------+3.| id | name | sex | score | dept | max |4.+----+------+------+-------+---------+------+5.| 1 | a | 1 | 90 | dev | 90 |6.| 6 | d | 1 | 100 | product | 100 |7.+----+------+------+-------+---------+------+8. 2 rows in set (0.05 sec)查询出的结果时一致的,如果把选择条件改为必须部门所有人的分数之和大于150才能把分数最高的部门的人列出来,这里就必须使用having了,因为having 里面可以使用聚合函数sum,并且也必须分完组我们才能得到这个组的总分数,才能比较是否该值大于150:[sql]view plaincopyprint?1.mysql> select *,max(score) as max from student group by dept having sum(score)>150 order by name;2.+----+------+------+-------+---------+------+3.| id | name | sex | score | dept | max |4.+----+------+------+-------+---------+------+5.| 1 | a | 1 | 90 | dev | 90 |6.| 6 | d | 1 | 100 | product | 100 |7.+----+------+------+-------+---------+------+8. 2 rows in set (0.00 sec)额外增加一个例子,比如我要选出不重复的部门,我们可以使用[sql]view plaincopyprint?1.mysql> select distinct dept from student;2.+---------+3.| dept |4.+---------+5.| dev |6.| design |7.| sales |8.| product |9.+---------+10. 4 rows in set (0.02 sec)但是如果我们还要列出他的id等一些其他信息,我们如果这样:[sql]view plaincopyprint?1.mysql> select name,distinct dept from student;2.ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'distinct dept from student'at line 1这是不行的,因为distinct只能放到开始位置,如果:[sql]view plaincopyprint?1.mysql> select distinct dept,name from student;2.+---------+------+3.| dept | name |4.+---------+------+5.| dev | a |6.| dev | b |7.| design | b |8.| sales | c |9.| product | d |10.| product | m |11.+---------+------+12. 6 rows in set (0.00 sec)为什么没有达到预期的效果,因为distinct 作用到了2个字段上,这时,我们就需要groub by 出场了。

[sql]view plaincopyprint?1.mysql> select dept,name from student group by dept;2.+---------+------+3.| dept | name |4.+---------+------+5.| design | b |6.| dev | a |7.| product | d |8.| sales | c |9.+---------+------+10. 4 rows in set (0.00 sec)按照dept分组,自然就达到去重的目的了。

所以有时候如果我们碰到了一个问题很难解决,比如用distinct去重,并带上其他列值,我们就需要尝试换个思路,可能答案自然就找到了。

题目如下:要求:1,查询两门及两门以上不及格的学生的平均分。

比如:张三有两门功课不及格, 语文50 分,地理40分,他的平均分为:(90+50+40)/3 = 60。

2,用where 或group by 或having 等一条语句实现查询。

解答:。

相关文档
最新文档