早些年学习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. python - class类 (三) 类的组合

    类的组合: #组合 class A1(): def pr(self): return 'a1' class A2(): def pr(self): return 'a2' class A3(): de ...

  2. 公共模块定义/草案(Common Module Definition / draft - CMD草案)

    This specification addresses how modules should be written in order to be interoperable in browser-b ...

  3. 从Linux内核中获取真随机数【转】

    转自:http://www.cnblogs.com/bigship/archive/2010/04/04/1704228.html 内核随机数产生器 Linux内核实现了一个随机数产生器,从理论上说这 ...

  4. 本体【Ontology】综述

    原文地址:http://blog.csdn.net/moonsheep_liu/article/details/22329873 本体作为一种能在语义和知识层次上描述领域概念的建模工具,其目标是捕获相 ...

  5. navicat报caching_sha2_password异常

    使用navicat连接mysql报错(升级到mysql8版本时的错) 解决办法: 通过命令行登录mysql后, 输入: alter user 'root'@'localhost' IDENTIFIED ...

  6. WallPaper

    LiveWallPaper 动态壁纸是从Android2.1就开始带有的一个新的特性.它让我们能够将本来毫无生气的静态的手机屏幕背景替换成 从 随着音乐的活力和脉动而跳跃的声线 到 手指抚过能激起阵阵 ...

  7. 请手动释放你的资源(Please release resources manually)

    作者: Laruence(   ) 本文地址: http://www.laruence.com/2012/07/25/2662.html 转载请注明出处 我从来不认为这个问题是个问题, 直到昨天. 昨 ...

  8. 5个php实例,细致说明传值与传引用的区别

    传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值 传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值 说明: 传值 ...

  9. 【linux】tcpdump抓包

    tcpdump -i eth0 host 192.168.11.22 -w ./target.cap 上面指令,抓取eth0中与192.168.11.22相关的流量,保存到target.cap中

  10. 认识js运动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...