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语句嵌入到高级语言(宿主语言) 使 ...
随机推荐
- 51nod 1486 大大走格子(容斥原理)
1486 大大走格子 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 有一个h行w列的棋盘,里面有一些格子是不能走的,现在要 ...
- poj 1367 robot(搜索)
题意:给你一个图,求起点 到 终点的最少时间 每次有两种选择①:往前走1~3步 ②原地选择90° 费时皆是1s 图中1为障碍物,而且不能出边界.还要考虑机器人的直径 ...
- 【UOJ UNR #1】火车管理
来自FallDream的博客,未经允许,请勿转载,谢谢. 题面 考虑用可持久化线段树直接维护每个点在不同时刻,第一辆车的编号. 这样3操作就变成了区间赋值,1操作变成区间和 2操作的话,只需要查询一下 ...
- [BZOJ]4650 优秀的拆分(Noi2016)
比较有意思的一道后缀数组题.(小C最近是和后缀数组淦上了?) 放在NOI的考场上.O(n^3)暴力80分,O(n^2)暴力95分…… 即使想把它作为一道签到题也不要这么随便啊摔(╯‵□′)╯︵┻━┻ ...
- Android编写点击TextView拨打电话
在任何一个电商平台都会有点击了手机号码会拨打出一个电话 那么高如何实现这个功能,我们下来分析下原理 当我们点击了一个电话号码后,会弹出一个Dialog显示是否拨打次电话号码,点击确定拨打号码,点击取消 ...
- java随机生成字符串和校验
首先定义字符串 String a = "0123456789"; // 数字 String b = "abcdefghijklmnopqrstuvwxyz"; ...
- oracle循环插入1万条数据
declare maxnumber constant number:=10000; i number :=1; begin for i in 1..maxnumber loop insert into ...
- sqlserver 判断字段是否为空字符串或者null
isnull(f.mzm,'')<>'' 不为null且不为‘’ not(f.mzm is null) 不为null
- 文件操作(open\read\write\close)
为了方便演示,我们建立了一个示范文本,如下所示: hello,我是代码螺丝钉 test1 test2 test3 文件的读 f = open("示范文本","r" ...
- mysql substr() 函数
mysql substr() 函数 用法:substr(string string,num start,num length); string为字符串:start为起始位置:length为长度. 注意 ...