Mysql学习之基础
数据库基础
什么是数据库
数据库是一个以某种有组织的方式存储数据集合,通常是一个文件或是一组文件,是通过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都不完全相同
Mysql学习之基础的更多相关文章
- MySQL学习笔记——基础与进阶篇
目录 一.###MySQL登录和退出 二.###MySQL常用命令 三.###MySQL语法规范 四.###基础查询 五.###条件查询 六.###排序查询 七.###常见函数的学习 八.###分组查 ...
- Mysql学习---面试基础知识点总结
drop.truncate. delete区别 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 ...
- mysql学习之基础知识
一.什么是数据库 一般而言,数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,使用关系型数据库管理系统(RDB ...
- mysql学习之基础篇01
大概在一周前看了燕十八老师讲解的mysql数据库视频,也跟着学了一周,我就想把我这一周所学的知识跟大家分享一下:因为是第一次写博客,所以可能会写的很烂,请大家多多包涵.文章中有不对的地方还请大家指出来 ...
- Mysql 学习之基础操作
一.表复制 1.复制表结构 将表hello的结构复制一份为表hello3 2.复制数据 a.如果两张表的结构一样且你要复制所有列的数据 mysql> insert into hello3 ...
- mysql学习之基础篇08 UTF8编码
这次我们来说一下在Mysql中的编码问题: 我们知道应用于计算机的最早的字符集是ASCII,它所组成的编码是ASCII编码:由于对于其他国家来说它所容纳的字符个数比较少,后来就出现了ANSI字符集,它 ...
- mysql学习之基础篇05
mysql中的统计函数: 1. 查询商品价格中最高的价格: select max(shop_price) from goods; 2. 查询商品价格中最低的价格: select min(shop_pr ...
- mysql学习之基础篇04
五种基本子句查询 查询是mysql中最重要的一环,我们今天就来说一下select的五种子句中的where条件查询: 首先我们先建立一张商品表:goods 由于商品数目太多,我就不一一列举了. 在这里我 ...
- mysql学习之基础篇03
我们今天来进行建表的基本操作: 首先要建表就要了解列类型,因为建表就是声明列的过程,列声明完成了,表也就建好了. mysql中列分为三大类: 一.数值型 数值型又分为整型和浮点型两种. 先来看整型: ...
随机推荐
- 金融量化分析【day111】:Pandas-时间序列处理
一.时间对象处理 1.start 开始时间 df["2018-12-01":"2018-12-30"] 2.end 结束时间 df['2018'] ...... ...
- SpringCloud笔记二:搭建项目基础框架
目录 搭建框架 新建父工程 新建子工程api 新建子工程提供者provider 新建消费者consumer 总结 搭建框架 我们的SpringCloud微服务框架是父子工程,有一个父工程,剩下的都是子 ...
- .net Core 下数据库访问
SqlSugar :是一款高性能(达到ADO.NET最高性能水平)SqlSugar :是除EF外拉姆达解析最完善的ORM,多表 .UnionALL. 交叉子查询.真实的批量操作和分页SqlSugar ...
- 关于微信登录授权获取unionid的方法
前言:微信登录授权是目前普遍存在于小程序的,还有一种静默授权方式是微信提供的但是不推荐使用,由于不同设备登录openid是不同的那么我们应该怎样拿到一个唯一的ID呢,下面做分享 wxml代码 < ...
- [物理学与PDEs]第2章习题10 一维理想流体力学方程组的 Lagrange 形式
试证明: 一维理想流体力学方程组的 Lagrange 形式 (5. 22)-(5. 24) 也可写成如下形式 $$\beex \bea \cfrac{\p \tau}{\p t}-\cfrac{\p ...
- decltype类型指示符
C++11新标准引入第二种类型说明符decltype,它的作用是选择并返回操作数的数据类型. 编译器分析表达式并得到它的类型,却不实际计算表达式的值: decltype(f()) sum = x;// ...
- 集合-Collections工具
1.定义 Collections是集合类的一个工具类,它提供了一系列静态方法用于对容器中的元素进行排序和搜索等一系列操作. 注:Collection是一个集合接口,而Collections是一个有着操 ...
- Spring系列(一) Spring的核心
Spring 简介 Spring 是一个开源轻量级企业应用架构,目的是为了简化企业级应用开发.(1)Spring 框架可以帮我们管理对象的生命周期,帮助我们管理对象间的依赖关系,相互协作:(2)Spr ...
- POJ 3304 Segments(直线)
题目: Description Given n segments in the two dimensional space, write a program, which determines if ...
- torch.utils.data.DataLoader对象中的迭代操作
关于迭代器等概念参考:https://www.cnblogs.com/zf-blog/p/10613533.html 关于pytorch中的DataLoader类参考:https://blog.csd ...