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 #452 E. New Year and Old Subsequence
Description A string t is called nice if a string "2017" occurs in t as a subsequence but ...
- 【BZOJ1036】【ZJOI2008】数的统计
接着找树剖的题...传送门(点我) 题意:给你一棵无根树,有三种操作:查询树上2点路径的点权和/最大点权:更改某点的点权. 解题思路:树链剖分裸题,我采用了常数较小的zkw线段树维护剖下来的树(毕竟线 ...
- [4.14校内训练赛by hzwer]
来自FallDream的博客,未经允许,请勿转载,谢谢. hzwer又出丧题虐人 4道noi.... 很奇怪 每次黄学长出题总有一题我做过了. 嗯题目你们自己看看呗 好难解释 ----- ...
- Linux之grep命令
概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...
- Mysql优化--Show Profile
Mysql 系列文章主页 =============== 是Mysql提供可以用来分析当前会话中语句执行的资源消耗情况.可以用于Sql的调优的测量.默认情况下处于关闭状态,并保存最近 15 次的运行结 ...
- spring的@Transactional(rollbackFor=Exception.class)的使用
Spring框架的事务基础架构代码将默认地只在抛出运行时和unchecked exceptions时才标识事务回滚. 也就是说,当抛出个RuntimeException 或其子类例的实例时.(Erro ...
- mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法
[CSDN下载] Powerdesigner 设计主键code不能重复等问题 [CSDN博客] Oracle中用一个序列给两个表创建主键自增功能的后果 [CSDN博客] MySQL自增主键删除后重复问 ...
- node上传文件并在网页中展示
一.需求 1.当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 2.用户可以选择一个图片并提交表单,随后文件将被上传到http://domain/ ...
- mongo索引
索引自动创建和手工创建 db.stu.drop(); db.stu.insert({"name":"张三","sex":"男&qu ...
- List Set Map比较
List按对象进入的顺序保存对象,不做排序或编辑操作. Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序–否则应该使用List). Map同 ...