计算机二级MySQL选择题考点Ⅱ

第3章 基础SQL命令的使用

  1. MySQL交互操作过程中使用的语言是SQL。
  2. SUBSTRING(s,n,len)函数用于从字符串s的第n个位置开始获取长度为len的字符串
    SQRT(x)函数用于求参数x的平方根
    rand()函数用于生成0-1之间的随机浮点数
    NOW()函数返回当前语句执行时的日期和时间
    指定时间与日期的数据类型是DATETIME。
    IFNULL()函数用于测试第一个参数是否为NULL,如果不是则返回第一个参数,如果是则返回第二个参数。
  3. MySQL的查询语句中必不可少的部分是SELECT 子句。
  4. 当使用CREATE DATABASE命令在MySQL中创建数据库时,为避免因数据库同名而出现的错误,通常可在该命令中加入IF NOT EXISTS。
  5. 在MySQL中创建数据库时,为避免出现数据库已经存在而再次新建的错误,需要在CREATEDATABASE语句中使用的语法选项是IF NOT EXISTS。
  6. SQL中修改表结构的语句是ALTER TABLE。
  7. 删除数据表student的语句是DROP TABLE student。
  8. SQL语言中,删除一个数据库对象的命令是DROP。
  9. 在DROP USER语句的使用中,若没有明确指定账户的主机名,则该账户的主机名默认为是%。
DROP、TRUNCATE、DELETE命令均能删除数据表中的数据
DROP 删除表中内容和定义,释放空间
TRUNCATE 删除内容、释放空间但不删除定义
DELETE 删除内容不删除定义,不释放空间
  1. 在DELETE语句中使用WHERE子句用来限定删除记录的条件,不使用WHERE子句则删除指定数据库中的全部数据。
  2. 在MySQL中,使用DROP DATABASE删除数据库时,仅删除数据库,该数据库上所有的用户权限仍然保留。
  3. MySQL数据库中最小授权对象是列。
  4. 修改表中数据的命令是UPDATE;修改表结构的命令是ALTER;撤销用户的权限应使用的语句是REVOKE。

在MySQL中,若要回收某个用户对一个表中列的某些操作权限,其基本语法格式为:REVOKE 权限名(列名) ON 表名 FROM '用户名'@'主机名';

  1. 使用SELECT INTO...OUTFILE语句把表数据导出到一个文本文件中进行备份,其基本语法格式为:SELECT* FROM 数据库.数据表 INTO OUTFILE 文件路径名。

如:语句SELECT * FROM db_test.tb_customer INTO OUTFILE'D:/test.txt';的功能是将db_test数据库中tb_customer表的全部数据备份到D盘的test.txt文件中。

在MySQL中,使用SELECT INTO...OUTFILE语句只能导出或导入数据的内容,而不包括表的结构。

  1. 创建视图:
sql 复制代码
CREATE VIEW 视图名 [(列名1 [, 列名2 ...])]
AS
SELECT 查询语句;

CREATE VIEW 数据库名.对象名
AS
SELECT 查询语句;

在ALTER TABLE命令中使用ADD能够添加字段名和数据类型,基本语法格式为:ALTER TABLE 表名 ADD[COLUMN] 列名 数据类型 约束条件

如:向Student表增加入学时间"EDate"列,其数据类型为日期型

ALTER TABLE Student ADD EDate Date;

在ALTER TABLE命令中使用CHANGE能够更改字段名和数据类型,基本语法格式为:ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型

如:要将员工表tb_emp中的年龄字段age更名为出生年份birth

ALTER TABLE tb_emp CHANGE COLUMN age birth YEAR(4);

在ALTER TABLE命令中使用MODIFY能够修改表中某列的数据类型,基本语法格式为:ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型

如:若要将数据表tb_S中的Sage的数据类型改为TINYINT

ALTER TABLE tb_S MODIFY SageTINYINT;

SELECT ... ORDER BY 标准语法:

sql 复制代码
SELECT [ALL | DISTINCT] 列名1 [, 列名2, ...]
FROM 表名
[WHERE 条件]
[GROUP BY 列名]
[HAVING 分组条件]
ORDER BY 列名 [ASC | DESC] [, 列名 [ASC | DESC], ...];

ASC------升序排列(默认值,可省略)

DESC------降序排列

  1. 创建账户的语句为:CREATE USER 用户名@主机名 IDENTIFIED BY 密码;
  2. GROUP BY用于查询语句的分组,通常与SELECT配合使用,不与DELETE一起使用。
  3. 在MySQL中,可用于创建一个新数据库的SQL语句为CREATE DATABASE。
  4. 在MySQL中,显示所有数据库的语句是SHOW DATABASES。
  5. 查看指定用户所拥有权限的语句是SHOW GRANT。
  6. 在CREATE TABLE语句中,用来指定外键的关键字是FOREIGN KEY。
  7. 设当前用户正在操作数据库db1,现该用户要求跳转到另一个数据库db2,可使用的SQL语句是USE db2;。
  8. 指定一个数据库为当前数据库的SQL语句语法格式是USE db_name;。
  9. NOT NULL表示Sno属性值不能为空,UNIQUE表示Sno属性值唯一,不可重复,AUTO_INCREMENT表示Sno属性值从初始值1开始自增长,当插入第一条数据时,Sno属性值为1。
  10. AUTO_INCREMENT默的初始值为1,当往一个定义为AUTO_INCREMENT列中插入NULL值或数字0时,该列的值会被设置为value+1(默认为加1递增),不能直接填充数字1。
  11. AUTO_INCREMENT只有==整型列(INT)==才能设置。
  12. MySQL所支持的字符串匹配中,通配符有%和_,%代表任意长度字符,_代表任意单个字符;ESCAPE'+'表示+是转义字符。
  13. 与CREATE DATABASE命令等同的是CREATE SCHEMA。
  14. 修改数据库默认字符集即修改表本身,变更原来表的结构,要使用ALTER关键字,使用ALTER SCHEMA语句或ALTER DATABASE语句。
  15. MySQL默认显示日期的格式:'YYYY-MM-DD'。
  16. UNION用于合并两个或多个SELECT语句的结果集,相当于集合操作中的并运算,会消去重复行。
  17. 设置属性的默认值时不能直接使用SET关键字,要配合ALTER关键字使用,或可以换用CHANGE关键字或MODIFY关键字,只有DEFAULT关键字是必须的。
sql 复制代码
//如:给属性Sage增加缺省值18
ALTER TABLE tb_student CHANGE Sage Sage TINYINT DEFAULT 18;
ALTER TABLE tb_student MODIFY Sage TINYINT DEFAULT 18;
ALTER TABLE tb_student ALTER Sage SET DEFAULT 18;

ALTER TABLE tb_student SET Sage DEFAULT 18; //×
  1. 查询一个表中总记录数的SQL语句语法格式是SELECT COUNT(*) FROM tbl_name。
  2. 要消除查询结果集中的重复值,可在SELECT语句中使用关键字DISTINCT。
  3. 对数据表的删除主要包括:删除表中的行、表中的列、整个数据表。(删除表的表名×)
  4. 在MySQL的SQL语句中,要实现类似分页功能的效果,可使用LIMIT。
  5. 语句中各类子句的先后执行顺序,依次为:from、join、on、where、group by、聚合函数、having、select、 distinct、order by、limit。
  6. 使用UPDATE语句同时修改多个表,会同时修改表关联中满足限定条件的每个表,在这种修改中可以使用的子句是WHERE。
  7. SQL基本的使用方式(环境)有两种,分别是交互式和嵌入式。
  8. MySQL中使用关键字REGEXP指定正则表达式的字符匹配模式,^表示匹配文本的开始字符,|表示或。
  9. 在SQL语言中,子查询(又称嵌套查询)是嵌入到另一个查询语句之中的查询语句。
  10. WHERE后边不能跟聚合函数,以及HAVING关键字不能单独使用,需要配合GROUP BY关键字使用。
  11. 在MySQL中,使用"+"进行字符连接时,mysql会尝试将字段值转换为数字类型,如果转换失败,就当做数字0处理。
  12. SQL语言一次查询的结果是一个记录集。
  13. LIMIT子句用于限制SELECT语句返回指定的记录数,第一个参数表示初始记录行的偏移量,第二个参数表示记录个数,注意初始记录行的偏移量从0开始。

如:LIMIT 1,3

则显示满足查询条件的记录为第2、3、4条。

LIMIT 1,3是从第一条数据向后偏移1,即第二条数据开始,返回3条数据,即第2、3、4条数据

  1. 子查询中可以使用运算符ANY表示至少一个值满足条件,ALL表示所有的值都满足条件。
  2. 在MySQL数据库中,可以在服务器、数据库、表等级别上指定缺省字符集,而这些字符集的设定将作用于CHAR、VARCHAR、TEXT等字符类型的字段。
  3. 统计表中所有记录个数的聚集函数是COUNT。

聚合函数COUNT(*)统计数据表中所有记录数目,包括没有数据的空行

  1. 在使用游标时,实际完成数据读取任务的语句是FETCH...INTO...。
  2. 重定义MySQL的命令行结束符,应该使用DELIMITER。
  3. 在MySQL中编写函数、存储过程时,合法的流程控制包括条件判断语句IF-THEN-ELSE语句和CASE语句、循环语句、WHILE语句、REPEAT语句和LOOP语句。(DO...WHILE、FOR循环语句×)
  4. 在MySQL中,INSERT触发器操作数据时,可以使用的临时表是NEW。
  5. 在MySQL中,对事件、存储过程、存储函数、基本表、索引、视图等的修改均可以使用ALTER命令。(触发器×)
  6. 修改用户登录口令的命令是SET PASSWORD;修改用户口令的语句是SET PASSWORD。

修改用户口令的命令为:SET PASSWORD[FOR user]={ PASSWORD(new_password')'encrypted password'};

  1. mysql -u root-p test<test.sql表示使用备份文件test.sql将数据库test恢复。
  2. 全部操作权限授予给用户的基本语法格式为:GRANT ALL ON 表名 TO 用户1,用户2...;
  3. USAGE ON*.*表示该用户对任何数据库的任何数据表都没有权限。
  4. 使用CREATE USER语句创建MySQL账户时,若需设置账户口令,应使用的子句为IDENTIFIED BY。
  5. 在MySQL中,MyISAM格式的数据表所对应的存储文件包括.frm文件、.MYD文件和.MYI文件。(.ISD文件×)
  6. MySQL的权限共分为五种,全局、数据库、数据表、列、赋予权限的权限。
  7. 在MySQL中进行授权操作时,可根据需要指定的选项为:被授权用户的用户名、登录地点、可操作的数据库对象、欲授权的权限种类。
  8. 在GRANT授权语句中,WITH GRANT OPTION的含义是允许该用户将此权限转移授予其他用户。
  9. FIELDS ENCLOSED BY子句用来指定包裹文件中字符值的符号;FIELDS TERMINATED BY用来指定字段值以何种字符为分隔符。
  10. 在GRANT ALL ON *.* TO...授权语句中,ALL和*.*的含义分别是所有权限、所有数据库表。
  11. 在MySQL中可清除所有日志文件的语句是RESET MASTER。
  12. 在安装和配置MySQL实例的向导中,选择决策支持型(OLAP)实例或者联机事务处理(OLTP)型实例的主要区别在于并发连接数不同。

决策支持型(OLAP)服务器支持的默认并发用户数为20,联机事务处理(OLTP)型服务器支持的默认并发用户数为500。

  1. 在MySQL数据库中,使用LOAD DATA...INFILE语句恢复数据的过程中,为了保证与备份时的特殊分隔符一致,可以使用TERMINATED BY子句。

第4章 索引的使用

在使用CREATE INDEX创建索引时,其默认的排序方式是升序。

MySQL中,创建索引的方法有三种,分别是CREATE TABLE、ALTER TABLE、 CREATE INDEX。

在MySQL中,删除索引的命令有:ALTER TABLE、DROP INDEX、DROP TABLE。(ALTER INDEX×)

PRIMARY KEY是主码约束,UNIQUE是唯一性约束,一张表中主码约束只能有一个,但唯一性约束可以在多列上设置,且允许属性值为空,两者作用不一样。

删除属性上的UNIQUE约束有两种方法:DROP INDEX<索引名>ON<表名>;ALTER TABLE <表名> DROP INDEX <约束名>;

索引需要占物理空间,不存储在内存;一个表可以有多个索引,但只能有一个聚簇索引,只有唯一性索引要求索引列值不能重复;索引是搜索信息在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录,从而提高检索效率。

在MySQL数据库中,创建唯一索引的基本语法格式为:CREATE UNIQUE INDEX 索引名 ON 表名 (列名)[ASC|DESC]

在MySQL中,声明游标的语法格式为:DECLARE cursor_name CURSOR FOR select_statement;

系统默认的索引存储类型是BTREE,使用col_name(length)命令表示根据col_name属性前length个字符采用BTREE索引类型。

创建索引。

第6章 触发器的使用

激活触发器的命令是:INSERT、DELETE、UPDATE。

触发器是由数据表上的特定事件所触发,可由INSERT、DELETE、UPDATE触发,不带有参数,不可建立在视图上。

当触发器涉及对触发表自身的更新操作时,使用的触发器必须是BEFORE UPDATE。

在MySQL中,触发器不能建立在视图上。

查看触发器内容的语句是SHOW TRIGGERS;。

查看触发器的语法格式为:SHOW TRIGGERS [{FROM|IN} db_name]

在MySQL中,同一个表不能拥有两个具有相同触发时刻和事件的触发器。

现要求删除MySQL数据库中已创建的事件,通常使用的语句是DROP EVENTS。

在MySQL中创建事件时,指定的执行时机包括单次计划任务或重复计划任务。

在MySQL中,每个表上最多可以允许有6个触发器。

在INSERT触发器中,对于AUTO_INCREMENT列,NEW在INSERT执行之前包含的值是0。

MySQL中能激活触发器的所有语句为INSERT, UPDATE, DELETE, LOADDATA, REPLACE。

在MySQL中,INSERT的BEFORE触发器不仅能被MySQL中的INSERT语句激活,也能被LOAD DATA语句激活,UPDATE触发器由MySQL中的UPDATE语句激活,DELETE触发器由MySQL中的DELETE和REPLACE语句激活。

第7章 存储过程和存储函数

MySQL提供的内置函数中,NOW()、LOCALTIME()、SYSDATE()可以获取当前日期和时间。

在MySQL中,存储过程、存储函数、触发器均可以声明和使用游标。(交互式SQL查询×)

将游标连接到由SELECT语句返回的结果集的命令是OPEN。

MySQL的存储函数中,能够返回函数值的方式是RETURN。

存储过程与存储函数的区别之一是存储过程不能包含RETURN语句。

MySQL中,在存储函数中用户变量、局部变量均可使用,用户变量使用SET定义,必须以'@'开头,局部变量使用DECLARE声明,只在BEGIN-END语句块中使用。

调用存储函数的命令是SELECT;调用存储过程的命令是CALL。

第8章 PHP的MySQL数据库

使用PHP进行MySQL编程时,读取结果集中记录的函数包含:mysql_fetch_array()、mysql_fetch_row()、mysql_fetch_assoc()。

PHP中,选定某个数据库的函数是mysql_select_db。

用PHP进行MySQL数据库编程基本步骤包括:选择数据库、建立与MySQL数据库服务器的连接,关闭数据库。

图形化用户界面的MySQL管理工具有:phpAdmin、Navicat、MySQL Workbench。

使用图形化管理工具phpMyAdmin操作MySQL数据库,所对应的数据库运行与应用结构是浏览器/服务器结构(Browser/Server, B/S)。

binlog开启后会略微降低数据库系统的性能,并且该日志的保存也会占用额外的存储空间。

相关推荐
敖行客 Allthinker1 小时前
IM 融合专题:后端架构师的核心修炼
java·开发语言·数据库
翔云1234561 小时前
MySQL 中 CURRENT_TIMESTAMP 到底取的是 INSERT 时间,还是 COMMIT 时间?
数据库·mysql
矜持的左手1 小时前
硬件故障后数据文件大小不对故障处理—Oracle碎片扫描恢复
数据库·oracle
欢呼的太阳9 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
喜欢的名字被抢了10 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
Elastic 中国社区官方博客11 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
DLYSB_12 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
儒雅的大叔12 小时前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
观远数据12 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql