您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > MYSQL期末复习题1
项目一:1、什么是数据库?数据库:DataBase简写DB,是按照一定的数据结构来组织、存储和管理数据的集合。2、数据库的特点:数据结构化、数据共享、数据独立性高、数据统一管理与控制。3、数据库系统的组成:DataBaseSystem简写DBS,由数据库、数据库管理系统(DBMS)和数据库应用程序组成。4、SQL语言的特点:SQL是结构化查询语言,是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据。它是关系型数据库语言的标准。5、SQL语言的组成:数据定义语言DDL、数据操作语言DML、数据查询语言DQL、数据控制语言DCL6、数据库中的操作都是通过SQL语句来完成的。项目二:1、创建数据库的命令:createdatabase库名characterset字符集名collate校对规则名;2、显示字符集:showcharacterset;显示校对规则:showcollation;3、语法格式中可选项符号:[]表示二选一:|4、MySQL中代码的书写不区分大小写5、显示数据库:showdatabases显示数据表:showtables6、显示数据库创建语句的语法格式:SHOWCREATEDATABASE数据库名;显示表的创建语句的语法:showcreatetable表;显示视图的创建语句的语法:showcreateview视图名7、删除数据库的命令:DROPDATABASE数据库名删除数据表的命令:DROPTABLE表名删除视图的命令:DROPVIEW视图名8、选择数据库语法格式:USE数据库名;**创建表前,要先使用usedb语句打开库9、查看当前所选的数据库:SELECTDATABASE();项目三:1、在表定义的过程中,字段定义之间用逗号隔开。2、查看表结构:DESC表名;查看表中某一列的信息:DESC表名列名;3、复制数据表的语法格式:1.CREATETABLE新表名LIKE参照表名2、CREATETABLE新表名AS(select语句)4、修改列的数据类型:ALTERTABLE表名MODIFY字段名数据类型;5、添加新列:ALTERTABLE表名项目四:ADD新字段数据类型[FIRST|AFTER列名]1、insert命令可以插入一条记录也可以同时输入多条记录。2、对于表的主键列,添加数据时要求唯一。当插入第二条相同的记录时,系统提示错误,可以使用REPLACE语句,用第二条记录替换第一条记录。3、如果要修改安全模式数据表中的数据时,应该设置SQL_SAFE_UPDATES变量才可以修改或删除表中的数据:SETSQL_SAFE_UPDATES=0;4、数据完整性就是指存储在数据库中的数据正确性和相关数据具有一致性。5、外键设置以后,需要使用参数启用外键:SETFOREIGN_KEY_CHECKS=1;项目五:禁用外键:SETFOREIGN_KEY_CHECKS=0;1、定义列别名:当希望查询结果中的某些列或所有列显示时且使用自己选择的列标题时,可以在列名之后使用AS子句来更改查询结果的列别名。语法格式为:SELECT列名AS别名from表名2、对表只选择其某些列时,可能会出现重复行。可以使用DISTINCT关键字消除结果集中的重复行。3、已知数据库中的员工表中包含字段:员工ID,姓名,出生日期;写出显示全体员工员工ID和年龄的语句:select员工ID,YEAR(NOW())-YEAR(出生日期)as年龄from员工;4、其中通配符包括以下两种:%:代表0个或多个字符组成的任意字符串。_:下划线,代表任意一个字符。(匹配串)5、在使用范围运算符BETWEEN…AND…用来比较可连续的范围,起始值必须小于终止值。6、取子串函数:SUBSTRING(字段名,位置,长度),写出截取姓名字段中所有学生姓氏的函数。7、MySQL中的聚合函数可以对任何类型的数据进行操作。8、忽略空值:MAX(字段名)、MIN(字段名)、SUM(字段名)、AVG(字段名)、COUNT(字段名)计算空值:COUNT(*)9、分组:是对查询结果集中的数据进行分组,groupby分组字段;与它连用的语句是分组条件having10、在GROUPBY子句中使用ROLLUP操作符,可指定在结果集内不仅包含由GROUPBY提供的正常行,还包含汇总行。11、条件的定义和WHERE子句中的条件类似,不过HAVING子句中的条件可以包含聚合函数,而WHERE子句中则不可以。12、SQL标准要求HAVING必须引用GROUPBY子句中的列或用于聚合函数中的列。13、使用ORDERBY子句后可以保证结果中的行按一定顺序排列。14、LIMIT子句主要用于限制被SELECT语句返回的行数:LIMIT行数|行号,偏移项目六1、自然连接:把等值连接目标列中的重复属性列去掉.2、内连接可以同时连接多张表,外连接只能连接两张表。3、如果要连接的表中有列名相同,并且连接的条件就是列名相等,那么ON条件也可以换成USING子句。4、子查询先执行内部查询,后执行外部查询。5、子查询需要用()括起来。6、将子查询放在操作符的右边。7、子查询通常出现在外层主查询的WHERE子句中,也可以出现在主查询的SELECT子句以及HAVING子句中。子查询除了可以用在SELECT语句中,还可以用在INSERT、UPDATE及DELETE语句中。8、ANY或ALL运算符连接的子查询必须与比较运算符同时使用。项目七:1、视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚拟表。2、视图的结构和数据是对表进行查询的结果。3、当对通过视图看到的数据进行修改时,相应的基表的数据也会发生变化。4、数据库中只存储视图定义,而不存放视图对应的数据。视图中的数据是在视图被使用时动态生成的。5、视图的作用:1)视图可以集中数据,满足不同用户对数据的不同要求。2)视图可以简化复杂查询的结构,方便用户对数据的操作。3)视图能够对数据提供安全保护。4)便于组织数据导出。6、更新视图就是通过视图添加、修改、删除数据。项目八:1、索引是一种提高查找速度的机制。2、在数据库中,索引可以提高数据的查询速度,所以创建的索引越多,查询的速度就越快。3、全文索引只能在VARCHAR或TEXT类型的列上创建。4、使用CREATEINDEX语句可以在一个已有表上创建索引,一个表可以创建多个索引。5、创建索引的方法:1)CREATEINDEX命令2)ALTERTABLE命令3)createdtable命令中项目九:1、字符串是指用单引号或双引号括起来的字符序列。2、用单引号将表示日期时间的字符串括起来构成。3、用户变量只能在BEGIN…END语句块中声明。4、用户变量必须在程序的开头就声明,声明完后,可以在声明它的BEGIN…END语句块中使用该变量,其他语句块中不可以使用它。5、使用存储过程的优点有:(1)存储过程在服务器端运行,执行速度快。(2)存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。(3)确保数据库的安全。使用存储过程可以完成所有数据库操作,并可通过编程方式控制上述操作对数据库信息访问的权限。6、在MySQL中,服务器处理语句的时候是以分号为结束标志的。7、使用DELIMITER命令将MySQL语句的结束标志修改为其他符号。8、存储过程也可以不加参数,但是名称后面的括号是不可省略的。9、DELIMITER$$CREATEPROCEDUREdel_member(INXHCHAR(12))BEGINDELETEFROMXSWHERE学号=XH;END$$DELIMITER;---------以上程序的批处理结束标识是$$。10、无参的存储过程在调用时括号不能省略。11、在MYSQL中,CASE语句最后以ENDCASE结束。12、存储过程创建完后,可以在程序、触发器或者存储过程中被调用,但是都必须使用到CALL语句。13、调用存储过程时,如果包含输出变量,则该变量前面加@。14、使用SELECT语句来调用存储函数;15、存储函数必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中。16、存储函数不能拥有输出参数,因为存储函数本身就是输出参数;17、触发器触发的时刻有AFTER和BEFORE,以表示触发器是在激活它的语句之前或之后触发。18、触发器的触发事件有INSERTUPDATEDELETE。项目十1、用户要访问MySQL数据库,首先必须拥有登录到MySQL服务器的用户名和口令。2、要使用CREATEUSER,必须拥有mysql数据库的全局CREATEUSER权限或INSERT权限。3、Createuser命令中的用户名格式为:ser_name@host_name4、给某用户授予权限可以使用GRANT语句。使用SHOWGRANTS语句可以查看当前账户拥有什么权限。5、如果权限授予了一个不存在的用户,MySQL会自动执行一条CREATEUSER语句来创建这个用户,但必须为该用户指定密码。6、授予数据库权限时ON关键字后面跟“*”和“db_name.*”。“*”:表示当前数据库中的所有表;“db_name.*”:表示某个数据库中的所有表。7、在GRANT语法格式中,授予用户权限时ON子句中使用“*.*”,表示所有数据库的所有表。8、要使用REVOKE,用户必须拥有mysql数据库的全局CREATEUSER权限或UPDATE权限。9、MySQL有三种保证数据安全的方法:(1)数据库备份(2)二进制日志文件(3)数据库复制。10、使用RENAMEUSER语句来修改一个已经存在的SQL用户的名字时,要使命令立即生效命令:Flushprivileges;11、在授予表权限时,ON关键字后面跟表名或视图名。12、MySQL有三种保证数据安全的方法:(1)数据库备份:通过导出数据或者表文件的拷贝来保护数据。(2)二进制日志文件:保存更新数据的所有语句。(3)数据库复制:MySQL内部复制功能建立在两个或两个以上服务器之间,通过设定它们之间的主从关系来实现的。其中一个作为主服务器,其他的作为从服务器。期末练习题一、选择题1、在MySQL中,服务器处理语句的结束标志为(D)。A.GOB.@@C.$$D.分号2、存储过程创建后,可在程序、触发器或存储过程中使用(C)语句调用。A.EXECUTEB.CREATEC.CALLD.ERTURN3、“abc”属于(A)A、字符串型B、整型C、数字型D、日期和时间类型4、以下不是MySQL索引类型的是(C)A、普通索引B、全文索引C、并行索引D、唯一索引5、以下哪个是正确的创建存储过程的命令(A)A、CREATEPROCEDUREB、CREATEFUNCTIONC、CREATEDATABASED、CREATETABLE6、下列关于关系数据库中主键的描述正确的是(D)。A.表中允许有多个主键B.创建唯一的索引,允许空值C.只允许以表中第一字段建立D.为标识表中唯一的实体7、在SQL语言中,用来插入和更新数据的命令是(A)。A、INSERT,UPDATEB、UPDATE,INSERTC、DELETE,UPDATED、INSERT,SELECT8、“2016-06-30”属于(D)A、字符串型B、浮点型C、数字型D、日期和时间类型9、要查询book表中所有书名中以“计算机”开头的书籍的价格,可用(D)语句。A.SELECTpriceFROMbookWHEREbook_name=‘计算机*’B.SELECTpriceFROMbookWHEREbook_nameLIKE‘计算机*’C.SELECTpriceFROMbookWHEREbook_name=‘计算机%’D.SELECTpriceFROMbookWHEREbook_nameLIKE‘计算机%’10、创建数据库的语法格式是(C)A、SHOWDATABASE;B、USE数据库名;C、CREATEDATABASE数据库名;D、DRO
本文标题:MYSQL期末复习题1
链接地址:https://www.777doc.com/doc-6573439 .html