介绍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 数据库语言分析总结(二)的更多相关文章

  1. SQL 数据库语言分析总结(一)

    SQL语言是被广泛采用的数据库的学习语言,之前在本科的时候已经学习过了,但是后来又忘记了,所以这次简单的总结一下. 分类 交互式sql语言,交互式语言主要是利用一些数据库工具,比如mysql的终端工具 ...

  2. SQL 数据库语言分析总结(三)

    这次介绍通过mysql-WorkBench这个工具来管理操作数据库. 创建和删除数据库 1.点击创建数据库按钮 2.选中后右键,出现drop schema一项,这个用来删除. 设置默认数据库 选中右键 ...

  3. SQL数据库语言基础

    表的创建: 1.创建列(字段):列名+类型 2.设置主键列:能够唯一标识一条数据 3.设置唯一:内容不能重复 4.外键关系: 一张表(从表)其中的某列引用自另外一张表(主表)中的主键列 设计表: 数据 ...

  4. sql数据库语言练习,增删改查

    数据库创建 DROP DATABASE IF EXISTS `sql_invoicing`; CREATE DATABASE `sql_invoicing`; USE `sql_invoicing`; ...

  5. 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

    对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...

  6. SQL Serever学习17——数据库的分析和设计

    数据库的分析和设计 设计数据库确定一个合适的数据模型,满足3个要求: 符合用户需求,包含用户所需的所有数据 能被数据库管理系统实现,如sqlserver,oracle,db2 具有比较高质量,容易理解 ...

  7. 关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析

    关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析 在推行系统中,时不时会有用户提出希望系统能自动推送邮件,由于手头的工具和能力有限,不少需求都借助于sql se ...

  8. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  9. 数据库语言sql

    数据库语言SQL SQL的形式 交互式SQL 一般DBMS都提供联机交互工具 用户可直接键入SQL命令对数据库进行操作 由DBMS来进行解释 嵌入式SQL 能将SQL语句嵌入到高级语言(宿主语言) 使 ...

随机推荐

  1. 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 ...

  2. 【BZOJ1036】【ZJOI2008】数的统计

    接着找树剖的题...传送门(点我) 题意:给你一棵无根树,有三种操作:查询树上2点路径的点权和/最大点权:更改某点的点权. 解题思路:树链剖分裸题,我采用了常数较小的zkw线段树维护剖下来的树(毕竟线 ...

  3. [4.14校内训练赛by hzwer]

    来自FallDream的博客,未经允许,请勿转载,谢谢. hzwer又出丧题虐人 4道noi....        很奇怪 每次黄学长出题总有一题我做过了. 嗯题目你们自己看看呗 好难解释 ----- ...

  4. Linux之grep命令

    概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...

  5. Mysql优化--Show Profile

    Mysql 系列文章主页 =============== 是Mysql提供可以用来分析当前会话中语句执行的资源消耗情况.可以用于Sql的调优的测量.默认情况下处于关闭状态,并保存最近 15 次的运行结 ...

  6. spring的@Transactional(rollbackFor=Exception.class)的使用

    Spring框架的事务基础架构代码将默认地只在抛出运行时和unchecked exceptions时才标识事务回滚. 也就是说,当抛出个RuntimeException 或其子类例的实例时.(Erro ...

  7. mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法

    [CSDN下载] Powerdesigner 设计主键code不能重复等问题 [CSDN博客] Oracle中用一个序列给两个表创建主键自增功能的后果 [CSDN博客] MySQL自增主键删除后重复问 ...

  8. node上传文件并在网页中展示

    一.需求 1.当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 2.用户可以选择一个图片并提交表单,随后文件将被上传到http://domain/ ...

  9. mongo索引

    索引自动创建和手工创建 db.stu.drop(); db.stu.insert({"name":"张三","sex":"男&qu ...

  10. List Set Map比较

    List按对象进入的顺序保存对象,不做排序或编辑操作. Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序–否则应该使用List). Map同 ...