1.请简洁描述MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?
SQL标准定义的四个隔离级别为:
read uncommited:读到未提交数据
read committed:脏读,不可重复读
repeatable read:可重读
serializable:串行事物
2.在MySQL中ENUM的用法是什么?
ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。
SQL语法如下:
Create table size(name ENUM('Smail,'Medium','Large'); 3. CHAR和VARCHAR的区别?
CHAR和VARCHAR类型在存储和检索方面有所不同。
CHAR列长度固定为创建表时声明的长度,长度值范围是1到255。
当CHAR值被存储时,它们被用空格填充到特定长度,检索CHAR值时需删除尾随
空格。
4.列的字符串类型可以是什么?
字符串类型是:
SET
BLOB
ENUM
CHAR
TEXT
VARCHAR
5. MySQL中使用什么存储引擎?
存储引擎称为表类型,数据使用各种技术存储在文件中。
技术涉及:
Storage mechanism
Locking levels
Indexing
Capabilities and functions.
6. TIMESTAMP在UPDATE CURRENT_TIMESTAMP数据类型上做什么?
创建表时TIMESTAMP列用Zero更新。只要表中的其他字段发生更改,UPDATE
CURRENT_TIMESTAMP修饰符就将时间戳字段更新为当前时间。
7.主键和候选键有什么区别?
表格的每一行都由主键唯一标识,一个表只有一个主键。
主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引
用。
8. MySQL数据库服务器性能分析的方法命令有哪些?
Show status一些值得监控的变量值:Bytes received和Bytes sent和服务器之间
来往的流量。Com服务器正在执行的命令。Created在查询执行期限间创建的临时
表和文件。Handler存储引擎操作。Select不同类型的联接执行计划。Sort_*几
种排序信息。Show session status like ‘Select’; Show profiles SET
profiling=1; Show profiles\G Show profile;
9. LIKE和REGEXP操作有什么区别?
LIKE和REGEXP运算符用于表示^和%。
SELECT * FROM <tablename> WHERE * REGEXP "^b"; SELECT * FROM <tablename> WHERE * LIKE "%b"; 10. BLOB和TEXT有什么区别?
BLOB
BLOB是一个二进制对象,可以容纳可变数量的数据。有四种类型的BLOB
· TINYBLOB
· BLOB
· MEDIUMBLOB和
· LONGBLOB
它们只能在所能容纳价值的最大长度上有所不同。
TEXT
TEXT是一个不区分大小写的BLOB。四种TEXT类型
· TINYTEXT
· TEXT
· MEDIUMTEXT和
· LONGTEXT
它们对应于四种BLOB类型,并具有相同的最大长度和存储要求。
BLOB和TEXT类型之间的唯一区别在于对BLOB值进行排序和比较时区分大小
写,对TEXT值不区分大小写。
11.数据库的三范式?
第一范式:数据库表的每一个字段都是不可分割的。
第二范式:数据库表中的非主属性只依赖于主键。
第三范式:不存在非主属性对关键字的传递函数依赖关系。
12. MySQL表中允许有多少个TRIGGERS?
在MySQL表中允许有六个触发器,如下:
BEFORE INSERT
AFTER INSERT
BEFORE UPDATE
AFTER UPDATE
BEFORE DELETE and
AFTER DELETE
13.什么是通用SQL函数?
数学函数
· Abs(num)求绝对值
· floor(num)向下取整
· ceil(num)向上取整
字符串函数
· insert (s1,index,length,s2)替换函数
o S1表示被替换的字符串
o s2表示将要替换的字符串o Index表示被替换的位置,从1开始o Lebgth表示被替换的长度
· upper(str),ucase(str)将字母改为大写
· lower(str),lcase(str)将字母改为小写
· left(str,length)返回str字符串的前length个字符
· right(str,length)返回str字符串的后length个字符
· substring(str,index,length)返回str字符串从index位开始长度为
length个字符(index从1开始)
· reverse(str)将str字符串倒序输出
日期函数
· curdate()、current_date( )获取当前日期
· curtime()、current_time( )获取当前日期
· now()获取当前日期和时间
· datediff(d1、d2)d1和d2之间的天数差
· adddate(date,num)返回date日期开始,之后num天的日期
· subdate(date,num)返回date日期开始,之前num天的日期
聚合函数
· Count(字段)根据某个字段统计总记录数(当前数据库保存到多少条数据)
· sum(字段)计算某个字段的数值总和
· avg(字段)计算某个字段的数值的平均值
· Max(字段)、min(字段)求某个字段最大或最小值
14. MySQL中有哪几种锁?
MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁。
表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并
发量最低。
行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最
高。
15. MySQL数据优化。
16. MySQL的关键字。
添加索引:
alter table tableName add索引(索引字段)
主键:primary key
唯一:unique
全局:fulltext
普通:index
多列:index index_name
页级:引擎BDB。次锁定相邻的一组记录。
表级:引擎MyISAM, 理解为锁住整个表,可以同时读,写不行。 行级:引擎
INNODB, 单独的一行记录加锁,对指定的记录进行加锁,这样其它进程还是可以
对同一个表中的其它记录进行操作。表级锁速度快,但冲突多,行级冲突少,但速度
慢。
17.存储引擎。
18.数据库备份。
全部评论
(0) 回帖