Salary,Allowance}(sigma_{Tname='王华'}(TeacherinftyPosition))ΠSalary,Allowance​(σTna

状态转变为另一个一致状态,也就是需要满足完整性约束;隔离性:多个事务并发执行时,一个事务的执行不应该影响其它事务的执行;持久性:已被提交的事务对数据库的修改应该永久保存在数据库中。数据库的隔离级别事物

Salary,Allowance}(sigma_{Tname='王华'}(TeacherinftyPosition))ΠSalary,Allowance​(σTna

状态转变为另一个一致状态,也就是需要满足完整性约束;隔离性:多个事务并发执行时,一个事务的执行不应该影响其它事务的执行;持久性:已被提交的事务对数据库的修改应该永久保存在数据库中。数据库的隔离级别事物

基本概念

数据库系统(DBS)由数据库(DB),数据库管理系统(DBMS),应用系统和数据库管理员(DBA)构成;

数据模型的组成元素包括数据结构,数据操作和完整性约束;

关系模型的完整性约束包含实体完整性,参照完整性和用户自定义完整性;

SQL语言具有数据定义,数据操纵,数据控制;SQL的五种基本操作包括:选择,投影,并,差和笛卡尔积(选择和投影);

数据库定义语言(DDL):CREATE, ALTER, DROP

数据库控制语言(DCL):GRANT, REVOKE

数据库操纵语言(DML):INSERT, REPLACE. UPDATE, DELETE

数据库查询语言(DQL):SELECT, WHERE, ORDER BY, GROUP BY, HAVING

事物处理语言:BEGIN, TRANSACTION, COMMIT

数据库的模式:对数据库中全体数据的逻辑结构和特征的描述。

它的三级结构关系为:模式是内模式的逻辑表示,内模式是模式的物理实现,外模式是模式的部分抽取,其中主要存在两种映射:模式与子模式(外模式–>局部逻辑结构),模式与内模式(存储模式);

网络协议的三个主要要素是语义,语法和定时;

元组表示行,用关键字来唯一标识,列表示属性;

E-R图为实体-关系图,用于描述现实世界的事物及其相互关系,是数据库概念设计的主要工具;

主键:能够唯一的标识一个元组的属性或属性组称为关键的键或候选键,有多个候选键时,可以选择其中一个作为主键;

数据库的索引一般为B+树或哈希表来实现;

数据库设计的六个基本步骤:需求分析–>概念设计–>逻辑结构设计–>物理结构设计–>数据库实施–>,数据库运行和维护。

SQL执行的顺序:from–>where–>group by–>having–>select–>order by -->limit;

视图是虚拟的表,不包含数据,是用来查看存储在别处数据的一种设施,在添加或更改这些表中的数据时,视图将返回改变过的数据,命名唯一,可以嵌套使用,需要足够的访问权限,禁止使用order by,不能索引。

范式

符合某一级别的关系模式的集合:

要足够的访问权限,禁止使用orderby,不能索引。范式符合某一级别的关系模式的集合:1.1NF:无重复的列,每一列都是不可分割的基本数据流,同一列中不能有多个值;2.2NF:属性完全依赖于主键,每个

1.1NF:无重复的列,每一列都是不可分割的基本数据流,同一列中不能有多个值;

2. 2NF:属性完全依赖于主键,每个实例或行必须可以被唯一的区分;

3. 3NF:属性不依赖于其它非主属性(消除传递依赖);

4. BCNF:关系模式的每一个决定因素都包含码;

CFROMU5CASCADE(5)创建一个角色R1,并使其对student表具有数据查询和更新权限CREATEROLER1;GRANTSELECT,UPDATEONTABLEstudentTOR1;(

联结

1.自联结:用来替代从相同表中检索数据的使用子查询语句

:选择,投影,并,差和笛卡尔积(选择和投影);数据库定义语言(DDL):CREATE,ALTER,DROP数据库控制语言(DCL):GRANT,REVOKE数据库操纵语言(DML):INSERT,RE

SELECT c1.cut_id, c1.cut_name, c2.cut_contact

FROM Customers AS c1, Customers AS c2

WHERE c1.cut_name = c2.cut_name AND c2.cut_contact = ‘JIM’;

如:SELECT…WHERE…UNIONSELECT…WHERE…更新UPDATETABLESETCLOWNWHERENAME=‘OK’删除数据DELETEFROMTABLE或DROPTRIGGER(

2.自然联结:相同的列多次出现时,使每一列只返回一次

clareavgsdecimal(3,1)selectavg(score)intoavgs--存储平时成绩fromscb,coursecwhereb.cno=c.cnoandcname=cna;

SELECT c.*, o.order_num, o.date

FROM customers as c , orders as o, orderitems as oi

where c.cust_id = o.cust_id AND oi.order_num = o.order_num

持(4)外键MyISAM不支持,InnoDB支持(5)表锁差异MyISAM:只支持表级锁,用户在操作表时,select,update,delete,insert语句都会给表自动加锁,如果加锁以后的表满

3.外联结:联结包含了在相关表中没有关联行的行

||delimiter;________p_avgscore("C语言",@avgs);--调用存储过程________@avgs"平均分";--显示平均成绩>答

SELECT customers.cut_id, orders.ord_num

FROM customers RIGHT OUTER JOIN orders ON orders.cut_id = customers.cut_id;

不可重复读的问题只需要锁住满足条件的行即可,而幻读需要锁住整个表。事务的隔离级别读未提交(Readuncommitted):一个事务读取了另一个未提交事务的数据(脏读,不可重复读,幻读);读提交(Re

INNER JOIN ON

LEFT JOIN ON

sitionpwheret.Title=p.Titleand(Salary+Allowance)>50004.插入操作:将编号为10130,姓名为刘畅,职称为讲师的记录插入到教师表中。inser

数据库事务

指用户定义的一种数据库操作序列,包含四种性质:

原子性:事务作为一个整体被执行,包含在其中的对数据库的操作要么全部执行,要么全部不执行;

一致性:事务应确保数据库的状态从一个一致状态转变为另一个一致状态,也就是需要满足完整性约束;

隔离性:多个事务并发执行时,一个事务的执行不应该影响其它事务的执行;

持久性:已被提交的事务对数据库的修改应该永久保存在数据库中。

limiter;selectf_avgscore("C语言");11.创建一个触发器实现更新分数时保留最高分delimiter||createtriggerupdate_scorebe

数据库的隔离级别

事物的并发

1.脏读:事务A读取了事务B更新的数据,随后事务B进行了回滚操作,那么A读到的就是脏数据

2.不可重复读:事务A多次读取同一数据,事务B在事务A多次提取的过程中,对数据进行更改并提交,导致事务A前后读取的数据不一致。

3.幻读:解决了不可重复读存在的问题,不可重复读侧重于修改,幻读侧重于增删。

解决不可重复读的问题只需要锁住满足条件的行即可,而幻读需要锁住整个表。

数据InnoDB:支持事务和行级锁,其中行锁提高了多用户并发操作的性能,但只是在where的主键是有效的。(6)事务支持MyISAM:具有原子性,执行速度快,但不提供事务支持。InnoDB:提供事务支

事务的隔离级别

读未提交(Read uncommitted):一个事务读取了另一个未提交事务的数据(脏读,不可重复读,幻读);

读提交(Read committed):一个事务修改的数据提交后才能被另一个事务读取(不可重复读,幻读);

可重复读(Repeatable read):(默认级别)一个事务开始读取数据时,另一个事务不允许进行修改操作,但可以插入或删除(幻读);

序列化(Serializable):最高级别,事务需要按顺序一个一个执行。

urep_avgscore(incnavarchar(30),outavgsdecimal(3,1))--定义存储过程beginselectavg(score)intoavgsfromscb,co

数据库索引的优点

1.可以保证数据库表中每行数据的唯一性

2.可以大大加快数据的检索速度

3.可以加快表与表之间的连接

4.在使用分组和排序子句进行数据检查时,可以显著减少查询中分组和排序的时间

5.通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能

才能被另一个事务读取(不可重复读,幻读);可重复读(Repeatableread):(默认级别)一个事务开始读取数据时,另一个事务不允许进行修改操作,但可以插入或删除(幻读);序列化(Serializ

存储引擎

MySql存储引擎主要有两种方式:一种为MyISAM,另一种为InnoDB

区别:

(1)存储结构:

MyISAM:每个MyISAM在磁盘上存储为三个文件,第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD(MYData),索引文件的扩展名为.MYI(MYIndex)。

InnoDB:所有的表都保存在同一个数据文件中,表的大小只受限于操作系统文件的大小,一般为2GB

(2)存储空间

MyISAM:可被压缩,存储空间小,支持三种不同的存储格式:静态表、动态表、压缩表

InnoDB:需要更多的内存和存储,会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。

(3)全文索引

MyISAM支持,InnoDB不支持

(4)外键

MyISAM不支持,InnoDB支持

(5)表锁差异

MyISAM:只支持表级锁,用户在操作表时,select,update,delete,insert语句都会给表自动加锁,如果加锁以后的表满足insert并发的情况下,可以在表的尾部插入新的数据

InnoDB:支持事务和行级锁,其中行锁提高了多用户并发操作的性能,但只是在where的主键是有效的。

(6)事务支持

MyISAM:具有原子性,执行速度快,但不提供事务支持。

InnoDB:提供事务支持,外部键等高级数据库功能,具有事务、回滚和崩溃修复能力的事务安全型表。

(7)表的具体行数

MyISAM: 保存,select时直接取出

InnoDB: 未保存,select时需要遍历

(8)主键

MyISAM:底层采用B+树结构,索引文件和数据文件是分离的,索引文件中仅保存数据记录的地址

InnoDB:底层也采用B+树结构,叶节点中包含完整的数据记录(聚集索引),文件不分离,必须有主键,没有时会选择一个唯一标识数据记录的列作为主键,仍不存在时创建一个字段长度为6字节的主键。

聚集函数AVG(),COUNT(),MAX(),MIN(),SUM()eg:SELECTAVG(GRADE)asgFROMTABLE符号>大于不等于!&gt

常用的命令语句

含义

命令

选择

SELECT NAME FROM TABLE

排序

ORDER BY GRADE(默认升序,降序使用DESC),多列排序时中间用“,”隔开,按时顺序依次排序,且必须为最后一句

分组

GROUP BY在WHERE语句之后,ORDER BY语句之前

过滤

HAVING

不同值

DISTINCT

指定行

LIMIT 5(前5行) 或 LIMIT 3 ,5(从第3行开始的5行)等价于LIMIT 5 OFFSET 3

变大写

UPPER()

变小写

LOWER()

长度

LENGTH()

插入数据

INSERT INTO

组合查询

UNION 例如:SELECT…WHERE…UNION SELECT…WHERE…

更新

UPDATE TABLE SET CLOWN WHERE NAME = ‘OK’

删除数据

DELETE FROM TABLE 或DROP TRIGGER(删除触发器)

创建表

CREATE TABLE STUDENT

指定默认值

DEFAULT

创建视图

CREATE VIEW viewname AS 删除用DROP

存储

EXECUTE

游标

CURSOR 打开游标 OPEN CURSOR

创建索引

CREATE UNIQUE(唯一) INDEX prod_name ON TABLE(id(列名))

聚集函数

AVG(),COUNT(),MAX(),MIN(),SUM() eg:SELECT AVG(GRADE) as g FROM TABLE

符号

>大于 不等于 !>不大于

通配符

LIKE eg:匹配以Fish开头的词:WHERE NAME LIKE ‘Fish%’ ,_匹配单个字符,%匹配0个字符或多个

注释

— — 或 /*…*/

权限修改命令

(1)将student和course表的全部权限授予所有用户

GRANT ALL PRIVILIGES ON TABLE student, course TO PUBLIC

(2)将对student表的查询权和姓名修改权授予用户U4

GRANT SELECT, UPDATE(Sname) ON TABLE student TO U4

(3)将对SC表的插入权限授予用户U5,并允许它传播该权限

GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION

(4)将用户U5对SC表的INSERT权限收回,同时收回被他传播出去的授权

REVOKE INSERT ON TABLE SC FROM U5 CASCADE

(5)创建一个角色R1,并使其对student表具有数据查询和更新权限

CREATE ROLE R1;

GRANT SELECT, UPDATE ON TABLE student TO R1;

(6)对修改student表结构的操作进行审计

AUDIT ALTER ON student;

achrowbeginif(new.score

mysql视图知识点_MySql知识点汇总--笔经面经相关推荐

  1. mysql视图登录_mysql视图

    mysql视图机制 什么是视图 视图是一张虚拟的表,为什么是虚拟呢?因为视图与数据库中存在的表不太一样,前面我们创建的4张表都是包含数据的, 如用户信息,订单信息等,而视图则是不包含数据的,下面通过一 ...

  2. mysql 视图 教程_MySQL视图简介及基本操作教程

    前言 视图是数据库系统中一种非常有用的数据库对象.MySQL 5.0 之后的版本添加了对视图的支持. 认识视图 视图是一个虚拟表,其内容由查询定义.同真实表一样,视图包含一系列带有名称的列和行数据,但 ...

  3. mysql视图应用_MySQL视图的概念与实际应用

    以下的文章主要是对MySQL视图的描述,其中包括MySQ视图L概述,以及创建MySQL视图-create view与修改MySQL视图--alter view等相关内容的具体描述,以下就是文章的具体内 ...

  4. mysql sysdate 格式化_MySQL函数汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  5. mysql视图参数_MySQL视图概述

    1.介绍 在传统关系型数据库里,视图有时也被称作虚表,是基于特定SQL结果集的虚拟数据表.在有些场合会变得很方便,例如:原有系统重构,旧的数据表A和B已经被拆分和合并到数据表C.D.F里面,为了实现平 ...

  6. mysql 全面知识点_Mysql知识点整理

    1.存储引擎区别 MyISAM:不支持事物.仅支持表级锁.支持B+树索引 MEMORY:不支持事物.仅支持表级锁.支持B+树和HASH索引 InnoDB:支持事物.支持行级锁.支持B+树索引 2.锁机 ...

  7. mysql知识整理_mysql知识点

    关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库.用户通过查询来检索数据库中的数据,而查询是一个用 ...

  8. mysql中的表连接知识点_Mysql知识点总结

    SQL语句执行流程 MySQL大体上可分为Server层和存储引擎层两部分. Server层: 连接器:TCP握手后服务器来验证登陆用户身份,A用户创建连接后,管理员对A用户权限修改了也不会影响到已经 ...

  9. mysql语句知识点_mysql知识点简单总结

    1.操作数据库语句 1.1 显示所有的数据:show databases; 1.2 创建数据库:create database databasename; 1.3 删除数据库:create datab ...

最新文章

  1. 【Live555】live555源码详解(九):ServerMediaSession、ServerMediaSubsession、live555MediaServer
  2. 【组队学习】【33期】3. 李宏毅机器学习(含深度学习)
  3. 9个必知的 Python 操作文件/文件夹方法
  4. Spring Boot相关知识(二) Spring Boot项目启动的执行顺序和原理
  5. 大厂面试常见的几道SQL题,看你能答吗?
  6. linux nmap下载教程,Linux_在Linux系统上用nmap扫描SSL漏洞的方法,以下载nmap 6.45及以上版本。如 - phpStudy...
  7. (67)Verilog HDL模块条件例化
  8. 分布式缓存服务是什么?
  9. android 面试算法题 实现单链表反转
  10. 华为MAGICBOOK安装win10专业版,华为MAGICBOOK win10专业版X64下载
  11. Kali Linux进阶篇:Nmap扫描网络空间存活主机技巧
  12. yum安装网络超时,尝试其他镜像
  13. scratch ios html,scratch手机版
  14. 如何下载东四街道卫星地图高清版大图?
  15. 通过微信授权接口,获取用户微信账户信息
  16. VS报错:没有足够的内存继续执行程序
  17. oracle部门总工资的函数,Oracle分析函数
  18. 基于Python的OCR图像识别
  19. 2021年美亚杯个人资格赛(记录第一次的取证之旅)
  20. 工控机和服务器哪个稳定性高,简单分析工控机和服务器有什么不同

热门文章

  1. tickcount()修改成小时分钟_推出一分钟追剧新模式 首部真人漫改竖屏番《通灵妃》开播...
  2. Fiddle抓包Https
  3. 视频up主测试显卡的软件,一个视频UP主亲身体验:5600X不讲武德,视频剪辑实测...
  4. java 分班_J 分班(class)(NYIST 2019年校赛)
  5. linux 5556端口,在Linux系统下通过配置iptables实现自动转发报文
  6. 动态规划备忘录方法Java_动态规划和备忘录法的区别
  7. mysql编译参数查看_查看 apache,nginx,mysql 安装时的编译参数
  8. linux视频教程百度网盘分享,Java集合基础知识总结(绝对经典
  9. 【工作经验分享】mysql备份恢复命令
  10. 成功入职字节跳动!2021年冲刺年薪40w