MySQL 数据库面试题】的更多相关文章

1.sql语句应该考虑哪些安全性? 1.防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量. 2.最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账户. 3.当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄漏服务器和数据库相关信息. 2.简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记…
1. MySQL中索引什么作用? 索引的定义和创建的目的 1) 索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息 2) 索引的分类:主键索引,唯一索引,常规索引,全文索引 3) 创建索引的目的就是加快检索表中的数据的速度,也就是查询数据的速度 索引是越多越好吗 1) 不是,索引过多的创建,会带来数据的写入的代价过高,即减慢数据写入速度 索引的创建为什么会影响写入的速度? 1) MyISAM引擎:数据的存储分为三个文件 * Table.frm 存储表定义…
原文出处:https://juejin.im/post/5a9ca0d6518825555c1d1acd 作者:Java3y 本文在原文基础上进行修改,而且没有特定针对MySQL. 一.存储过程(以及函数) 定义理解: 存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合. 二者的区别: 函数必须有返回值,而存储过程没有: 函数的参数只能是IN类型,存储过程的参数可以使用IN.OUT.INOUT类型. 优点: 对代码进行封装,功能强大,调用方便: 将数据处理放在数据库服务器上,减少…
1.MySQL 中有哪几种锁? (1)表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最 高,并发度最低. (2)行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最 低,并发度也最高. (3)页面锁:开销和加锁时间界于表锁和行锁之间:会出现死锁:锁定粒度界于表 锁和行锁之间,并发度一般. 2.MySQL 中有哪些不同的表格? 共有 5 种类型的表格: (1)MyISAM (2)Heap (3)Merge (4)INNODB (5)ISAM 3.简述在 MySQ…
SQL数据库面试题 1.SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID,因为我们一般都是把这种用户ID的字段设置成自增长类型的,乍看起来好像没有要得到那个新ID很麻烦,其实sql server内置了一些全局的变量,使我们很容易就得到那个新的自增字段的ID,就是使用@@IDENTITY. 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDEN…
1.取出表中第31到40行的记录 mysql方案:select * from t order by id limit 30,10 oracle方案: select t2.* from (select rownum r,t1.* from yourtable t1 where rownum<=40) t2 where t2.r>30 2.truncate和delete有什么区别 TRUNCATE TABLE在功能上与不带WHERE子句的DELETE语句相同,二者均删除表中的全部行.但TRUNCA…
数据库事务的四大特性 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚.因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态. 拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是50…
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90 A: select distinct name from table where name not in (select distinct…
1.取出表中第31到40行的记录mysql方案: , oracle方案: select t2.* ) t2 2.truncate和delete有什么区别TRUNCATE TABLE在功能上与不带WHERE子句的DELETE语句相同,二者均删除表中的全部行.但TRUNCATE TABLE比DELETE 速度快,且使用的系统和事务日志资源少.DELETE 语句每次删除一行,并在事务日志中为所删除的每一行记录一项.TRUNCATE TABLE通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中…
今天到某公司笔试,数据库考的比较多,但是说老实话,考的也比较基础.现在趁回忆得起来,将数据库知识简单整理如下: 一.建表指令 比如创建一个学生表student,它由学号Sno,姓名Sname,性别Ssex,年龄Sage,所在系Sdept五个属性组成.其中学号不能为空,值是唯一的,并且姓名取值也唯一. CREATE TABLE Student (Sno    CHAR(10) NOT NULL UNIQUE, Sname  CHAR(20) UNIQUE, Ssex    char(2), Sag…