mysql用于指定被搜索列个是_SQL - tzmok - 博客园

10260d2030902677180a2ee0ea550b25.png

ACID 是什么。

A,atomic,原子性,要么都提交,要么都失败,不能一部分成功,一部分失败。

C,consistent,一致性,事物开始及结束后,数据的一致性约束没有被破坏

I,isolation,隔离性,并发事物间相互不影响,互不干扰。

D,durability,持久性,已经提交的事物对数据库所做的更新必须永久保存。即便发生崩溃,也不能被回滚或数据丢失。

什么是游标?

游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录并赋给主变量,交由主语言进一步处理。

drop、delete与truncate的区别

三者都表示删除,但是三者有一些差别:

DeleteTruncateDrop

类型

属于DML

属于DDL

属于DDL

回滚

可回滚

不可回滚

不可回滚

删除内容

表结构还在,删除表的全部或者一部分数据行

表结构还在,删除表中的所有数据

从数据库中删除表,所有的数据行,索引和权限也会被删除

删除速度

删除速度慢,需要逐行删除

删除速度快

删除速度最快

1, 在试图上不能完成的操作是()

查询

在视图上定义新的视图

更新视图

在视图上定义新的表

2,可以用()来声明游标

CREATETABLE

ALTERCOURSOR

SETGLOBAL

DECLARECURSOR

3, 用于将事务处理写到数据库的命令是()

insert

rollback

commit

savepoint

4, 以下哪种操作能够实现实体完整性

设置唯一键

设置外键

减少数据冗余

设置主键

5, 在全文本搜索的函数中,用于指定被搜索的列的是()

MARCH()

AGAINST()

FULLTEXT()

REGEXP()

6, 在SELECT语句中,使用关键字()可以把重复行屏蔽

TOP

ALL

UNION

DISTINCT

7, 返回当前日期的函数是()

Curtime()

Adddate()

Curnow()

Curdate()

8,  SELECT COUNT(SAL) FROM EMP GROUP BY DEPTNO;意思是()

求每个部门中的工资

求每个部门中工资的大小

求每个部门中工资的综合

求每个部门中工资的个数

9, 一下哪项不属于数据模型()

关系模型

网状模型

层次模型

网络模型

10, 有三个表,他们的记录行数分别是10行,2行和6行,三个表进行交叉连接后,结果集中共有()行数据

18

26

不确定

120

11, 在mysql中,建立数据库用()

CREATETABLE命令

CREATERIGGER 命令

CREATEINDEX命令

CREATEDATABASE命令

12,触发器不是响应以下那一语句而自动执行的Mysql语句

Select

Insert

Delete

update

触发器

么是触发器?触发器的使用场景有哪些?

触发器是用户定义在关系表上的一类由事件驱动的特殊的存储过程。触发器是指一段代码,当触发某个事件时,自动执行这些代码。

使用场景

可以通过数据库中的相关表实现级联更改。

实时监控某张表中的某个字段的更改而需要做出相应的处理。

例如可以生成某些业务的编号。

注意不要滥用,否则会造成数据库及应用程序的维护困难。

大家需要牢记以上基础知识点,重点是理解数据类型CHAR和VARCHAR的差异,表存储引擎InnoDB和MyISAM的区别。

MySQL中都有哪些触发器?

在MySQL数据库中有如下六种触发器:

Before Insert

After Insert

Before Update

After Update

Before Delete

After Delete

数据库隔离级别有哪些,各自的含义是什么,MYSQL 默认的隔离级别是是什么。

·未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据

·提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别 (不重复读)

·可重复读(Repeated Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读

·串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞

MYSQL默认是RepeatedRead级别

MYSQL 有哪些存储引擎,各自优缺点。

MyISAM: 拥有较高的插入,查询速度,但不支持事务

InnoDB :5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定

BDB: 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性

Memory :所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失

Merge :将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用

Archive :非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差

Federated: 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

Cluster/NDB :高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。

BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继

另外,Mysql的存储引擎接口定义良好。有兴趣的开发者通过阅读文档编写自己的存储引擎。

http://baike.baidu.com/item/%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E

高并发下,如何做到安全的修改同一行数据。

使用悲观锁 悲观锁本质是当前只有一个线程执行操作,结束了唤醒其他线程进行处理。

也可以缓存队列中锁定主键。synchronized 修饰符

synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符。

函数

SQL FIRST() 函数

FIRST() 函数

FIRST() 函数返回指定的列中第一个记录的值。

SQL FIRST() 语法

SELECT FIRST(column_name) FROM table_name;

注释:只有 MS Access 支持 FIRST() 函数。

SQL Server、MySQL 和 Oracle 中的 SQL FIRST() 工作区

SQL Server 语法

SELECT TOP 1 column_name FROM table_nameORDER BYcolumn_nameASC;

实例

SELECT TOP 1 name FROM Websites

ORDER BY id ASC;

MySQL 语法

SELECT column_name FROM table_name

ORDER BY column_name ASC

LIMIT 1;

实例

SELECT name FROM Websites

ORDER BY id ASC

LIMIT 1;

Oracle 语法

SELECT column_nameFROM table_name

ORDER BY column_nameASC

WHERE ROWNUM <=1;

实例

SELECT name FROM Websites

ORDER BY id ASC

WHERE ROWNUM <=1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值