SQL 数据库语言分析总结(二)
介绍sql语言
我们接着一的顺序继续介绍这个语言
数据类型
整形:
TINYINT(8位)
SMALLINT(16位)
MEDIUMINT(24位)
INT(32位)
BIGINT(64位)
实数:
FLOAT(32)
DOUBLE(64)
DECIMAL(最精确)
例如:
DECIMAL(20,2)
表示一共20位,小数点前18位,小数点后保留两位,因为DECIMAL需要更多的的内存和cpu,所以只在财务等要求精确的数据时,才使用DECIMAL.
字符串:
字符串是用的最多的数据类型,能占到80%,所以正确处理字符串类型的数据能极大的提高数据库的性能。
VARCHAR:
varchar是不定长度的字符串,但是规定了最大的最大长度,能够节约磁盘空间,但这是一把双刃剑,有时候也会使得数据更新等操作时候带来额外的工作量。
CHAR:
char是在声明时候规定长度的字符串,如果达不到长度,会在后边用空格填满,但是检索显示的时候会自动去掉空格。
TEXT:
text是提供的存储长字符串的数据类型,它是基于字符的,会根据字符进行校正和排序,又包括如下类型,这四种类型只是存储的长度不一样:
TINYTEXT
TEXT
MIDIUMTEXT
LONGTEXT
BLOB:
blob也是一种存储长字符串的类型,它是基于字节的,不会根据字节进行校正和排序,包括四种子类型,同样是存储的长度不同(存储的长度和text的四种类型一样):
TINYBLOB
TEXT
MIDIUMTEXT
LONGTEXT
日期类型:
DATETIEM:范围比较大,从1001~9999年,精确到秒,用8个字节存储。
TIMESTAMP:是时间戳类型,保险了1970年1月1日午夜(也就是格林威治时间)以来所经历的秒数。范围是1970年~2038年
数据类型选择原则
1.最小原则:尽量用表较小的数据类型,比如数字比较小可以用tinyint类型。
2.简单原则:尽量用简单的数据类型。比如可用浮点,就不要用字符串,能用系统的时间类型,也不要用字符串。
3.避免索引列的值为null,因为会浪费更多的内存和cpu。
SQL 数据库语言分析总结(二)的更多相关文章
- SQL 数据库语言分析总结(一)
SQL语言是被广泛采用的数据库的学习语言,之前在本科的时候已经学习过了,但是后来又忘记了,所以这次简单的总结一下. 分类 交互式sql语言,交互式语言主要是利用一些数据库工具,比如mysql的终端工具 ...
- SQL 数据库语言分析总结(三)
这次介绍通过mysql-WorkBench这个工具来管理操作数据库. 创建和删除数据库 1.点击创建数据库按钮 2.选中后右键,出现drop schema一项,这个用来删除. 设置默认数据库 选中右键 ...
- SQL数据库语言基础
表的创建: 1.创建列(字段):列名+类型 2.设置主键列:能够唯一标识一条数据 3.设置唯一:内容不能重复 4.外键关系: 一张表(从表)其中的某列引用自另外一张表(主表)中的主键列 设计表: 数据 ...
- sql数据库语言练习,增删改查
数据库创建 DROP DATABASE IF EXISTS `sql_invoicing`; CREATE DATABASE `sql_invoicing`; USE `sql_invoicing`; ...
- 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析
对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...
- SQL Serever学习17——数据库的分析和设计
数据库的分析和设计 设计数据库确定一个合适的数据模型,满足3个要求: 符合用户需求,包含用户所需的所有数据 能被数据库管理系统实现,如sqlserver,oracle,db2 具有比较高质量,容易理解 ...
- 关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析
关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析 在推行系统中,时不时会有用户提出希望系统能自动推送邮件,由于手头的工具和能力有限,不少需求都借助于sql se ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- 数据库语言sql
数据库语言SQL SQL的形式 交互式SQL 一般DBMS都提供联机交互工具 用户可直接键入SQL命令对数据库进行操作 由DBMS来进行解释 嵌入式SQL 能将SQL语句嵌入到高级语言(宿主语言) 使 ...
随机推荐
- [Ahoi2005]LANE 航线规划
题目描述 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系. 星际空间站的Samuel II巨型计算 ...
- ●BZOJ 3566 [SHOI2014]概率充电器
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3566题解: 概率dp,树形dp 如果求出每个点被通电的概率t, 那么期望答案就是t1×1+t ...
- SPOJ DQUERY树状数组离线or主席树
D-query Time Limit: 227MS Memory Limit: 1572864KB 64bit IO Format: %lld & %llu Submit Status ...
- bzoj4514
4514: [Sdoi2016]数字配对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1870 Solved: 712[Submit][Statu ...
- PHP 扩展开发检测清单(扩展开发必读)
想要做出一个成功的 PHP 扩展包,不仅仅是简单的将代码放进文件夹中就可以了,除此之外,还有非常多的因素来决定你的扩展是否优秀.以下清单的内容将有助于完善你的扩展,并且在 PHP 社区中得到更多的重视 ...
- Android 自定义支持快速搜索筛选的选择控件(一)
Android 自定义支持快速搜索筛选的选择控件 项目中遇到选择控件选项过多,需要快速查找匹配的情况. 做了简单的Demo,效果图如下: 源码地址:https://github.com/whieenz ...
- 基于Spark环境对比Python和Scala语言利弊
在数据挖掘中,Python和Scala语言都是极受欢迎的,本文总结两种语言在Spark环境各自特点. 本文翻译自 https://www.dezyre.com/article/Scala-vs-Py ...
- JavaScript实现简单的双向数据绑定
什么是双向数据绑定 双向数据绑定简单来说就是UI视图(View)与数据(Model)相互绑定在一起,当数据改变之后相应的UI视图也同步改变.反之,当UI视图改变之后相应的数据也同步改变. 双向数据绑定 ...
- getBoundingClientRect方法获取元素在页面中的相对位置
获取元素位置可以用 offset 或 getBoundingClientRect,使用 offset 因为兼容性不好,比较麻烦,offset获取位置会形成"回溯".而 getBou ...
- easyui datagrid editor combobox添加空选则清空combobox框
<script type='text/javascript'> var editIndex = undefined; $(function() { $('#tb1').datagrid({ ...