早些年学习MySQL的笔记,发在博客园上,以便后续回顾学习:

1. 数据类型为int(11),注意到后面的数字11,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数。其他数据类型也可以在定义表结构的时候指定所需要的显示宽度,如果不指定,则系统为每一种类型指定默认的宽度。
2. MySQL使用浮点数和定点数表示小数。单精度浮点类型有两种:单精度浮点型(float)和双精度浮点型(double)。定点类型只有一种:decimal。浮点类型和定点类型都可以用(M,N)来表示,其中M称为进度,表示总共的位数;N称为标度,表示的是小数的位数。
3. 不论是定点还是浮点类型,如果用户指定的进度超出了进度范围,这回四舍五入进行处理。
4. 浮点数相对于定点数的有点是在长度一定的情况下,浮点数能够表示更大的数据范围,它的缺点是会引起进度问题。
5. MySQL中,定点数以字符串的形式存储,在对进度要求比较高的时候(比如货币和科学计算)使用decimal的类型比较好,另外两个浮点数进行减法和比较运算时也容易出现问题,所以在使用浮点型时需要注意,尽避免做浮点数比较。
6. 保存为YEAR类型时,既可以传入整型,也可以传入字符型。若是插入超过了YEAR类型的取值范围,值将被转换为2000。
7. 保存为TIME类型时,如果不合法,存储时将变为00:00:00。
8. 可以使用字符串类型或者数字类型的数据插入DATE类型数据,只要符合DATE的日期格式即可。
9. MySQL允许“不严格”的语法:任何标点符号都可以用作日期部分之间的间隔符。例如“98-10-19”、“98.10.18”、“98/10/19”和“98@10@19@”都是等价的,这些字也是可以正确的插入到数据库的。
10. 插入DATETIME类型数据时,可以使用字符串类型和数字类型的数据插入,只要符合DATETIME的日期格式即可。例如:“YYYY-MM-DD HH:MM:SS”、“YYYYMMDDHHMMSS”、或者用数字YYYYMMDDHHMMSS、YYMMDDHHMMSS表示均可。
11. MySQL允许“不严格”语法:任何标点符号都可以用作日期部分或者时间部分之间的间隔,例如:“98-10-19 12:12:12”、“98.10.19 12+12+12”、“98@10@9 12*12*12”、“98#10#19 12:12:12”都是等效且被允许的。
12. 字符串类型用来存储字符串数据,除了可以存储字符串数据外,还可以存储其他数据,比如图片、声音的二进制数据。
13. MySQL至此两类字符型数据:文本字符串和二进制字符串。
14. VARCHAR、TEXT、BLOB都是变长类型,对于其存储需求取决于列值得实际长度,而不是取决于类型的最大可能长度。例如,一个VARCHAR(10)能保存最大长度为10个字符的一个字符串,实际的存储需要字符串实际长度L加上一个字节(用于记录字符串的长度)。对于字符串“abcd”,L是4,而存储需要5个字节。
15. CHAR(M)为固定长度的字符串,在定义时指定字符串长度。当保存时在右侧填充空格到指定的长度。M表示列长度,M的范围是0~255个字符。当检索到CHAR值时,尾部的空格将被删除。
16. VARCHAR(M)是可变长的字符串,M表示最大列长度。M的范围是0~65535.VARCHAR在只保存和检索时尾部的空格人保留。
17. 等于运算符(=)不能用于null的判断,但是安全等于运算符(<=>)可以。
18. 用LIKE匹配字符时:
  “%”匹配任何数目的字符,甚至包括零字符
  “_”只能匹配一个字符。
19. 如果想删除表中所有记录,除了使用DELETE FROM 表名 表名 的方式之外,还可以使用TRUNCATETABLE语句,TRUNCATE将直接删除原来的表,并重新创建一个新的表。TRUNCATE直接说删除表而不是删除记录,因此执行速度比DELETE快。

MySQL基础之数据类型和运算符的更多相关文章

  1. JavaSE基础篇—数据类型和运算符

       本章知识点内容概括 数据类型:  1.基本数据类型 数值型 整数类型 byte(128~127),占1个字节的储存间 short(-2^15~2^15-1),占2个字节 int(默认类型-2^3 ...

  2. PostgreSQL自学笔记:5 数据类型和运算符

    5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...

  3. IOS开发新手教程(一)-数据类型和运算符

    OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...

  4. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  5. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  6. Java中的变量,数据类型和运算符

    变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...

  7. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

  8. MySQL数据类型和运算符

    mysql支持多种数据类型,主要有下面三种: 数值数据类型 日期/时间类型 字符串类型 整数类型 不同数据类型有不同的取值范围,可存储的值的范围越大,则所需的存储空间也越大. 整数类型主要有: tin ...

  9. 03 MySQL之数据类型和运算符

    01-数据类型 MySQL支持多种数据类型,主要有 数值类型.日期/时间类型和字符串类型. 1.1 整数类型 1.2 浮点数类型和定点数类型 单精度浮点类型(FLOAT)和双精度浮点类型 (DOUBL ...

随机推荐

  1. SpringMVC与Struts不同(五)

    springmvc与struts2不同 1.springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器. 2.springmvc是基于方法开发(一个url对 ...

  2. systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

    1.centos 检查服务是否开机自启  (ntpd是原生的服务,mysql是注册的服务) 参考:1.http://man.linuxde.net/systemctl

  3. Dubbo多版本

    当服务提供者提供的服务接口出现不兼容升级时,可以设置版本号,使用多个版本号(version)进行过渡. 1).服务提供者配置文件 <dubbo:service ref="userSer ...

  4. SVM较全面介绍,干货!(转载)

    很不错的一篇介绍SVM的文章,证明通俗易懂! 转自:https://blog.csdn.net/v_july_v/article/details/7624837 前言 动笔写这个支持向量机(suppo ...

  5. linux系统下安装tomcat及配置

    一.下载TOMCAT压缩包 apache-tomcat-6.0.44-client.zip 或 apache-tomcat-7.0.69.tar.gz 点击进入官网:http://tomcat.apa ...

  6. Android系统信息(内存、cpu、sd卡、电量、版本)获取

    Android系统信息(内存.cpu.sd卡.电量.版本)获取 /*APPInfo.java*/ public class AppInfo { private String appLable; pri ...

  7. web.xml 部署描述符元素

    在每一个Web应用程序路径的WEB-INF/下和conf/下存在一个Web.xml配置文件,用来设定Web应用程序的配置.在Web.xml中的设定非常多,接下来分段来说明它的各项设定:<?xml ...

  8. Java Map 键值对排序 按key排序和按Value排序

    一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...

  9. vue系列之项目打包

    vue完成项目后,如何打包成静态文件,并且用Node调试 打包 1.修改config里面的index.js里面的productionSourceMap为false,默认情况是true(true代表打包 ...

  10. Android几种强大的下拉刷新库

    BeautifulRefreshLayout 众多优秀的下拉刷新(除了我写的之外T_T) 说起下拉刷新,好像经历一段历史的洗礼... (1)在我刚学android的时候,用的是XListView,在g ...