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中列分为三大类: 一.数值型 数值型又分为整型和浮点型两种. 先来看整型: ...
随机推荐
- SpringBoot(七):SpringBoot整合Swagger2
原文地址:https://blog.csdn.net/saytime/article/details/74937664 手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文 ...
- table 表格固定表头和第一列、内容可滚动
整理了下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- linux tomcat单机部署多应用
1.修改/etc/profile 增加tomcat环境变量
- Huber Loss
Huber Loss 是一个用于回归问题的带参损失函数, 优点是能增强平方误差损失函数(MSE, mean square error)对离群点的鲁棒性. 当预测偏差小于 δ 时,它采用平方误差, 当预 ...
- vim简单使用教程【转】
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- vue-cli3.0 项目如何使用sass
执行: npm install node-sass --save-dev npm install sass-loader --save-dev 自动安装sass,vue-cli3.0 不需要在 web ...
- Java的家庭记账本程序(J)
日期:2019.3.9 博客期:041 星期六 这次就来看看我使用全新的模板写的家庭记账本程序!本次附带配色样式!作为本周的学习进度条吧!明天再研究微信小程序的方法! 这一次的记账本程序加了很多功能! ...
- 怎样把PDF文件中的一页提取出来
现在随着网络科技的发展在网上找资源找文件就像家常便饭一样,但是有很多文件下载完成之后只有几页是需要的这时候就很困惑了,这么多怎么才能看完啊.这样为了不浪费时间可以将有用的一页提取出来,进行使用,那怎样 ...
- iOS开发之#impor与#include的区别
#import比起#include的好处就是不会引起交叉编译 在 Objective-C中,#import 被当成 #include 指令的改良版本来使用.除此之外,#import 确定一个文件只能被 ...
- python实现简单的购物车
import json,timeuserinfo={"lanfei": { "passwd":"lanfei", "salary& ...