(01)建表的过程实际上是 声明字段 的过程

   一. 列类型(字段):

     存储同样的数据时,不同的列类型,所占据的空间和效率是不一样的,这就是建表时要考虑的意义。

   二.MySQL三大列类型

        数值型

          整型

            tinyint

              占据空间:1个字节

               存储范围:0 - 255, -128 - 127   

         smallint

              占据空间:2个字节

              储存范围:-32768 - 32768, 0 - 65535

         int

              占据空间:4个字节

              储存范围:-2147483648 - 2147483647

                   0 - 4294967295

(02)先建立一张表

添加一条记录

age的范围在(-128 - 127)

增加一列

可以看出加入unsigned后, 表示为无符号类型, 范围在(0 - 255)之间

    二. 小数型:

          float(小数的总位数,小数点右边的位数)(浮点型)

          例:float(6,2)表示:9999.99

     

        定点型:decimal()

            把整数部分和小数部分分开存储,比float精确

但float有时会有损精度

https://blog.csdn.net/lingmao555/article/details/48391763

中有具体讲解:

    字符型

     char型

char(6) 定长字符串

char 和 varchar 分别为定长型和变长型

char  优点:查询速度快

    缺点:耗费内存

varchar 优点:耗费内存少

    缺点:查询速度相对慢

char 与 varchar 的区别

可以看出varchar右侧有一个空格

说明了char类型,如果不够M个字符,内部用空格补齐。取出时把右侧空格删除,如果右侧有空格会自动删除

    Text型: 文本类型,可以储存大的文本段,但搜索速度慢

         (不需加默认值)

blob 为二进制类型,用来储存图像,音频等二进制信息

意义:二进制 0-255都有可能出现

比如一张图片有0xFF字节,在ascII表中认为非法,在入库时,被过滤了

    时间类型

    date类型

date 存储范围 1000-01-01 —— 9999-12-31

    time类型 (范围:-838:59:59 —— 838:59:59)

  datetime类型(储存范围: '1000-01-01 00:00:00 ——9999-12-31 23:59:59')

储存形式 YYYY-mm-dd HH:ii::ss

MySql cmd下的学习笔记 —— 有关建立表的操作(有关于数据类型)的更多相关文章

  1. MySql cmd下的学习笔记 —— 有关建立数据库的操作(连接Mysql,建立数据库,删除数据库等等)

    (01) 连接数据库 mysql -uroot -p 之后输入密码 ******.(由于我的密码设置的是111,所以输入的是111) (02) 退出数据库 exit (03) 查看数据库 show d ...

  2. MySql cmd下的学习笔记 —— 有关多表查询的操作(多表查询练习题及union操作)

    先建立一张 m 表 mysql> create table m ( -> mid int, -> hid int, -> gid int, ), -> matime da ...

  3. MySql cmd下的学习笔记 —— 有关子查询的操作(where型,from型,exists型子查询)

    先找到goods表 查询goods_id最大的商品 where型的子查询 查询goods_id最大的商品(不能用排序) 把两步写成一步,就是子查询 from型子查询 查找出每种cat_id下goods ...

  4. MySql cmd下的学习笔记 —— 有关视图的操作(建立表)

    在查询中,我们经常把查询结果当成临时表 view可以看成是一张虚拟表,是表通过某种运算得到的一个投影 在建立视图时,不需要指定视图的列名与列类型 红框内的为select选择语句 蓝框内的与建表语句类似 ...

  5. MySql cmd下的学习笔记 —— 有关表的操作(对表中数据的增,删,改,查)

    (知识回顾) 连接数据库 mysql -uroot -p111 先建立一个新库 create database test1; use test1; 由于今天的主要内容是表的操作,建立表的详细过程不是本 ...

  6. MySQL第五个学习笔记 该数据表的操作

    MySQL在创建表,创建.frm文件保存表和列定义.索引存储在一个.MYI(MYindex)且数据存储在有.MYD(MYData)扩展名的文件里.   一.用SHOW/ DESCRIBE语句显示数据表 ...

  7. MySql cmd下的学习笔记 —— 有关select的操作(in, and, where, like等等)

    为方便本节学习, 请先自行建立本表: 建一个商品表: create table goods ( -> goods_id mediumint(8) unsigned not null auto_i ...

  8. MySql cmd下的学习笔记 —— 有关修饰器的知识(trigger)

    关于触发器的理解: 进行数据库应用软件的开发时,有时我们碰到表的某些数据的改变时,希望同时 引起其他相关数据改变的需求,利用触发器就能满足这样的需求. 触发器能在表中的某些特定数据变化时自动完成某些查 ...

  9. MySql cmd下的学习笔记 —— 引擎和事务(engine,transaction)

    engine 引擎就是MySQL存储数据的不同方式 myisam 插入速度快 支持全文索引 innoDB 插入速度慢 支持事务安全 假设两人同时购买火车票,两人同时看到只有一张火车票,几乎同时下单 或 ...

随机推荐

  1. c#大文件的拷贝

    using System.IO; namespace 数据流 { class Demo2 { private string _strSourcePath = @"D:\httpd-2.4.3 ...

  2. sqlserver2008查看表记录或者修改存储过程出现目录名无效错误解决方法

    登陆数据库后,右键打开表提示:目录名无效,执行SQL语句也提示有错误,现在把解决方法分享给大家 1.新建查询 2.点工具栏中[显示估计的查询计划],结果提示Documents and Settings ...

  3. mysql优化好文

    https://segmentfault.com/a/1190000006158186

  4. 110道python面试题

    1.一行代码实现1--100之和 利用sum()函数求和 2.如何在一个函数内部修改全局变量 利用global 修改全局变量 3.列出5个python标准库 os:提供了不少与操作系统相关联的函数 s ...

  5. 递归思维判断数组a[N]是否为一个递增数组

    递归的方法:记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束: bool fun( int a[], int n ) { ) { return true; } ) { ] ...

  6. netty的HelloWorld演示

    pom <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artif ...

  7. Linux记录-JMX监控JAVA进程

    3.修改xxx.sh 加入export JAVA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.mana ...

  8. TIMESTAMP使用遇到得麻烦

    mysql按日期查询报空,怎么查看日志发现是14:36:01.709(Timestamp), 参数出了问题 2018-04-17 14:36:16,887 [http-nio-8080-exec-5] ...

  9. HDU 1098(条件满足 数学)

    题意是问是否存在非负整数 a,使得任取非负整数 x,f(x) 能够被 65 整除,其中 f(x) = 5*x^13 + 13*x^5 + k*a*x,如存在,输出 a 的最小值,如不存在,输出 no. ...

  10. 使用 CROSS APPLY 与 OUTER APPLY 连接查询

    Ø  前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某 ...