zoukankan      html  css  js  c++  java
  • mysql sql的分类、运算符、常用的数据类型

     1 SQL (结构化查询语言)的分类
     2     DML(数据操作语言),关键字 insertupdatedelete 3     DCL(数据控制语言),控制权限,grand,revoke   授权,回收
     4     DDL(数据定义语言),创建数据库,表,约束 createdrop,modify
     5     DQL(数据查询语言),查询数据,select
     6 
     7 mysql中的运算符
     8     算数运算符   + - * / %
     9     比较运算符   =  >  <  >=  <=       不等于: !=  <>
    10     赋值运算符   =
    11     逻辑运算符   and   or    not
    12     
    13 mysql中常用的数据类型
    14 一、值类型
    15   1、整型
    16     tinyint:迷你型,用1字节储存,256种状态
    17     smallint:小整型,用2字节存储,256种状态
    18     mediumint:中整型。3字节存储
    19     int:标准整型,4字节存储
    20     bigint:大整型,8字节存储
    21         Sql中的数值类型默认全部是有符号的,分正负,tinyint(-128到127),如果使用无符号数据,需要去掉符号,
    22         去掉符号用 unsigned,如 age tinyint unsigned,无符号从0开始。
    23 
    24   2、小数型
    25     a、浮点型
    26         height  float:直接使用 float 表示没有小数部分。
    27         money float(M,D):M 代表总长度,D代表小数部分长度。整数部分长度为 M-D。
    28          浮点型数据的插入,整型部分是不能超出长度的,小数部分是可以超出长度(系统会自动四舍五入)。
    29           
    30     b、定点型
    31         小数点固定,精度固定,不会丢失精度。用 decimal 数据类型定义。
    32         定点型会绝对的保证整数部分不会被四舍五入(不会丢失精度),小数部分有可能(理论小数部分也不会丢失精度,
    33         在自己的范围内不会进位,不在自己范围内会进位)。
    34     插入数据时,定点数的整数部分一定不能超出长度(进位)不可以,
    35         小数部分的长度是可以随意超出指定长度的(系统会自动四舍五入)。
    36 二、字符串类型
    37      在Sql中,字符串类型分为6类,分别是:charvarchartext、blob、enum和set。
    38        1、 定长字符串 char
    39               char:磁盘(二维表)在定义结构的时候,就已经确定了最终数据的存储长度。
    40           char(L):L代length(长度)的意思,单位为字符,最大长度值为255。
    41           char(4):在utf8环境下,需要 4 * 3 = 12个字节。
    42       2、变长字符串 varchar
    43               varchar 在分配空间的时候,按照最大的空间分配,但是实际上用了多少,是根据具体的情况来确定的。
    44           varchar(L):L表示length(长度),理论长度是65536个字符,但是会多出 12 个字节来确定存储的实际长度,
    45                           但是实际上如果长度超过255,既不用定长,也不用变长,使用文本字符串text。
    46           varchar(10) :存了10个汉字,在utf8环境下,需要 (10 * 3) + 1 = 31(bytes)来存储。
    47       3、文本字符串
    48               如果数据量非常大,通常说超过255个字符就会使用字符串。
    49           文本字符串根据存储的数据格式进行分类,text和blob。
    50           text:存储文字(二进制实际上都是存储路径)。
    51           blob:存储二进制数据(通常不用)。
    52       4、枚举字符串
    53               枚举:enum,事先将所有可能出现的结果都设计好,实际存储的数据必须是定义好的数据中的其中一个。
    54               枚举的作用:
    55           规范数据格式,数据只能是规定的数据的其中之一。
    56           节省存储空间(枚举通常有1个别名,单选框),枚举实际存储的是字符串本身。
    57           语法: enum(可能出现的元素列表)。如 enum('','');
    58       5、集合字符串
    59                集合和枚举很类似,实际存储的是数值,而不是字符集(集合是多选)。
    60                语法: 字段名  set(元素列表)
    61                例子:创建1个名叫【my_set】的表,为其加入一个hobby字段,为其设置数据类型为集合。       
    62          create table my_set(
    63           hobby set('足球','篮球','乒乓球') 
    64          )charset utf8;
    65 三、MySql记录长度
    66       utf8环境下(3个字节存一个汉字),varchar的实际顶配为21844个字符。
    67     gbk环境下(2个字节存1个汉字),varchar的实际顶配为32766字符。
  • 相关阅读:
    rsyslogd 日志服务
    Java PropertiesLoader 工具类 开发者使用
    1k纯JS脚本的3D玫瑰
    Python ConfigParser的使用
    一些比较精妙的宏定义
    关于realloc的调整内存方式
    初学javascript代码
    PHP中this,self,parent的区别
    PHP数据库操作基类(单例模式)
    php之规范编程命名
  • 原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11535142.html
Copyright © 2011-2022 走看看