Mysql学习之基础
2024-10-16 11:02:11
数据库基础
什么是数据库
数据库是一个以某种有组织的方式存储数据集合,通常是一个文件或是一组文件,是通过DBMS(数据库管理系统)
来对数据库进行交互的,数据库可以是保存在硬设备上的文件,
也可以不是,很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你不是直接访问数据库,
而是借助DBMS对数据库进行操作
数据库是保存有组织的数据容器
什么是表
在你将资料放入文件柜时,并不是直接放入文件柜,而是记录在纸上,这个纸对于数据库而言,就是数据库的表。
表是一种结构化的文件,可以用来存储某种特定类型的数据。
表是某种特定类型数据的结构化清单
表名在一个数据内是唯一的
什么是模式
模式是数据库和表的布局及特性的信息
什么是列
列是表中的一个字段,所有表都是由一个或多个列组成的
数据类型
所容许的数据的类型,每个表列都有相应的数据类型,它限制或容许该列中存储的数据。
数据类型限制可存储在列中的数据种类,还帮助正确的排序数据,并在优化磁盘使用方面起重要作用。
因此在创建表时必须对数据类型给予特别的关注
行
表中的数据按行存储的,所保存的每个记录存储在自己的行内。
如果把表想象为网格,网格垂直的列为表列,水平的行为表行
行(row)表中的一个记录
主键
表中每一行都应该有可以唯一标识自己的一列(或一组列),其值能够唯一区分表中每个行。
没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行
虽然并不是总是需要主键,但大多少数据库设计人员都应保证他们创建但每个表具有一个主键,
以便于以后但数据操作和管理
表中但任何列都可以为主键,只要它满足以下条件
>> 任意两行都不具有相同但主键值
>> 每个行都必须具有一个主键值,主键列不允许NULL值。
主键值规则
主键通常定义在表的一列上,但这并不是必需但,也可以一起使用多个列作为主键,在使用多列作为主键时,上述条件必需应用
到构成主键但所有列,所有列值但组合必须是唯一的(单个列的值可以不唯一)
主键的最好习惯,除mysql强制实施规则外,应该坚持几个普遍认可的最好习惯
- 不更新主键列的值
- 不重用主键列的值
- 不在主键列中使用可能会更改的值
什么是SQL
SQL是结构化查询语言(structured query language)的缩写,SQL是一种专门用来与数据库通信的语言
SQL由很少的词构成,这是有意而为的,设计SQL的目的是很好的完成一项任务,即提供一种从数据库中读写数据
的简单有效的方法
SQL优点
- SQL不是某个特定的数据供应商专有的语言,几乎所有的重要的DBMS都支持SQ,所以学习此语言几乎能与所有的数据库打交道
- SQL简单易学,它的语句全部都是由描述性很强的英语单词组成
- SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作
DBMS专用的SQL,SQL不是一种专利语言,而且存在一个标准委员会,他们试图定义可供所有DBMS使用的SQL语法,
但事实上任意两个DBMS实现但SQL都不完全相同
最新文章
- JavaScript异步编程(1)- ECMAScript 6的Promise对象
- #error作用
- Ogre Addon之Paged Geometry
- bootstrap的常用组件和栅格式布局
- vue使用中的随笔
- 双向循环链表(C语言描述)(二)
- R语言︱文本挖掘——jiabaR包与分词向量化的simhash算法(与word2vec简单比较)
- MongoDB 复制(副本集)
- 上板子在线抓波发现app_rdy一直为低
- 监听图片src发生改变时的事件
- bitset常用用法&;&;简单题分析
- 二分查找、two points、排序
- Eureka 开发时快速剔除失效服务
- (3)The critical role librarians play in the opioid crisis
- JSP中文乱码问题终极解决方案
- 用开源项目circular progress button实现有进度条的Button
- 【BZOJ】4767: 两双手【组合数学】【容斥】【DP】
- Maven使用(转)
- HTML基础总纲
- 个人作业四:注册github