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语句嵌入到高级语言(宿主语言) 使 ...
随机推荐
- Codeforces Round #438 B. Race Against Time
Description Have you ever tried to explain to the coordinator, why it is eight hours to the contest ...
- 51Nod 1530 稳定方块
瓦西亚和皮台亚摆放了m个方块.方块被编号为0到m-1(每个号码出现恰好一次).现在建立一个座标系OX表示地面,OY的方向是竖直向上的.每一方块的左下角有一个座标而且是整点座标. 摆放好的方块一定要是稳 ...
- Serpent.AI – 游戏代理框架(Python)
Serpent.AI - 游戏代理框架(Python) Serpent.AI是一个简单而强大的新颖框架,可帮助开发人员创建游戏代理.将您拥有的任何视频游戏变成一个成熟的实验的沙箱环境,所有这些都是熟悉 ...
- Docker学习笔记【二】
Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库下载该镜像. 1.获取镜像,默认从Docker Hub中获取. 命令 docker pull 2.运行容器, ...
- OpenCV环境搭建(一)
此环境搭建是OpenCV的python(一下简称py)开发环境搭建,建立在py3的环境和语法上实现的. windows系统搭建 系统环境:windows 10 + python 3.6 + OpenC ...
- Oracle 导入、导出DMP(备份)文件
首先说明dmp文件: Oracle备份文件是以dmp结尾,这种文件是oracle的逻辑备份文件,常用于数据库逻辑备份,数据库迁移等操作. 一.Oracle导入备份文件步骤:我用的是Oracle 11g ...
- 微信小程序适配iphonex
// 在app.js中判断是否是哪种设备 globalData: { isIphoneX: false, userInfo: null }, onShow:function(){ let that ...
- WEB中间件--Jboss未授权访问,
1,Jboss未授权访问部署木马 发现存在Jboss默认页面,点进控制页 点击 Jboss.deployment 进入应用部署页面 也可以直接输入此URL进入 http://www.ctfswiki. ...
- thymeleaf:局部变量 th:with
当th:with被处理,firstPer变量创建一个局部变量和变量添加到map自上下文,以便它是用于评估和其他上下文中声明的变量从开始,但只有包含< div >标记的范围内. <di ...
- 网络不能上网但能ping通处理
同事电脑不能上网,经过检查可以排除网线和网络问题,默认网关以及网页地址都能ping通,从网上搜索说是LSP问题,但是根据其操作方式修复,还是无效. 最后,不知道怎么捣鼓的,问题解决了. 操作流程: 1 ...