mysql 数据库
来源:互联网 发布:程序员怎么转ai工程师 编辑:程序博客网 时间:2024/06/05 11:04
问题:不光是理解映射关系,是要从关系型数据库的原理出发,想想为什么需要关系型数据库,关系型数据库设计原理、实现方式、操作语言SQL,这些都做做实验,深入理解一下。
1.出了问题,记得先去查日志。
2.在数据库的内部实现中的【三种常见数据结构】:阵列(也就是数组)、二叉树(B+树)、哈希表(哈希桶)
3.关系型数据库的实现概念:
【B+树索引】:关键词index,查询多个元素时的复杂度好于二叉树。
【锁】:为了控制并发事务的一种机制。InnoDB支持行级锁和表级锁,默认行级锁。
* 死锁:当两个事务同时执行,一个锁住了主键索引,在等待其他相关索引。另一个锁定了非主键索引,在等待主键索引。这样就会发生死锁。
* 悲观锁和乐观锁;排他锁和共享锁
【事务管理】:使用事务来确保数据的安全和一致性
【缓冲池和共享池】:缓冲池用来存放已经处理的数据,方便下次的操作;共享池用来存放解析过的sql语句,也是方便下次操作。
5.数据库开发编程主要是指利用数据库本身提高的一些命令,方法,存储过程,可以编写对数据的定值维护,操作,删除,比对等一些动作。好的数据库管理员可以做到让数据库自动定期维护数据,查找坏数据,并导到某个特定的表里,然后自动更新等等。数据库保存数据是一个基本功能。优势就是开发和利用。就像仓库一样,如果只是简单地把东西堆进去,那只是仓库的简单功能。如果给仓库配备了一个管理员,你就可以很方便快捷的查找,保管各种物品,并对各种物品进行有序存放。这就是数据库的作用。
mysql属于关系型数据库,理想中的数据库应该是对象型数据库,关系型数据库流行的原因可能是结构上和面向对象编程有相似之处。数据库是一个以某种有组织的方式存储数据的文件集合,而表是拥有特定类型数据的结构化清单 。
通用的逻辑数据库建模工具是“实体-关系(E-R)”图,传统的E-R图只针对数据,而UML的类图还允许对行为建模。
http://www.uml.org.cn/oobject/200903165.asp
------------------------------- 【sql查询语句】 ------------------------------------------
## 数据库database:数据的仓库
- 存储引擎:表用来存储数据的方式。性能和功能的选择。5.5版本的默认引擎是InnoDB
InnoDB&myisam的区别:保存文件的方式不同,
myisam使用三个文件保存:
Tbl_name.frm 结构
Tbl_name.myd 数据
Tbl_name.myi 索引
InnoDB使用一个表一个文件:所有的InnoDB表,都使用相同的InnoDB存储空间在保存数据和索引。
Tbl_name.frm 结构
- 表table:数据保存在表内,保存在一个表内的数据,应该有相同的数据格式(对象结构)
行&列:行用来记录数据,首行也就是每一列的开头是用来定义数据的。
记录:除了第一行的其他的每一行都被称为记录。
字段:每一列拥有相同的属性被称为字段;字段有一些约束条件。
主键:唯一标识表中每一行的这个列(这组列)。关键字:primary key
其他的约束(constraint):not null,unique,foreign key,default,check(限制值的范围)
SQL:数据库管理系统使用的语言,用来管理数据的语言。属于结构化查询语言,建立在关系型数据库上的查询语言。不同数据库的sql语句会稍有不同。
## SQL:结构化查询语言;操作+条件+修饰==>我们得到的结果
针对操作对象的不同,可以分成不同语言:DML,DDL,DCL三种
- 对数据操作的语言:**查询,获取数据;管理:增加,删除,更新数据**
- 数据定义语言(对保存数据的格式进行定义)
- 数据库控制语言(针对数据库软件服务进行的操作)
1.关于条件范围的关键词:
where,and,or,like,in,between...and,limit,order by,desc,group by
2.关于修饰的关键词:
concat,trim,replace,as,distinct,avg,sum,max,min,union
- mysql 数据库
- MYSQL数据库
- mysql数据库
- mysql数据库
- mysql数据库
- MySql数据库
- 数据库:MySQL
- mysql 数据库
- Mysql数据库。。
- MySQL数据库
- MySql 数据库
- mysql数据库
- Mysql数据库
- mysql数据库
- MySQL数据库
- mysql数据库
- MySql数据库
- MySQL数据库
- 爬虫 scrapy 抓取小说实例
- Android Gatt 蓝牙连接通信
- 循环链表-圆桌出列问题
- MySql高级—视图、函数、存储过程、触发器
- 字符串数组元素排列与组合
- mysql 数据库
- Android异步消息处理机制
- Python:使用Counter进行计数统计及collections模块
- Noip2015 斗地主【搜索】【贪心】
- 自动更新packagejson
- 图像的矩
- Tomcat共用Session实现SSO单点登录
- 5步做一个 TensorFlow 聊天机器人:DeepQA
- Codeforces 828D High Load (构造)