数据类型--mysql

1. 数字:
    整型:tinyinit  int  bigint

这里面的tinyinit int bigint,分别指不同的数字宽度,依次从最小到最大还有int(5)后面括号里的数字,对于存是没有任何差别,而对于取,如果存的数字没有5个宽,那么前面会加上0以凑齐5个,如:输入123,则输出为00123.但是一般不显示出来这时候加上zerofill 的话就可以显示出来create table n3(x int(3) zerofill)只要数字不足三位,那么就会前面加上0.

小数:
        float :在位数比较短的情况下不精准
        double :在位数比较长的情况下不精准
            0.000001230123123123
            存成:0.000001230000

        decimal:(如果用小数,则用推荐使用decimal)
            精准
            内部原理是以字符串形式去存其中decimal,还有小数其他形式是以decimal(10,5),表示总共10位数,小数点后面只能跟5位,超过的会以四舍五入运算.并且前面不能数字不能超过5位,超过5位就报错.如果小数点不足,那么就会用0加到后面凑齐5位.
2. 字符:char(10)存取速度快,占用空间大,简单粗暴.char(10)==>char(name)==>char(name000000),当位数不够则用0补.存也存10位,取也是取10位,所以速度快.varchar(10)存取速度慢,空间小,省空间.精准

varchar在传给别人数据之前,为了精准的取到,会在前面增加一个报头,后期取用的时候,会先取报头,运算过后,在取相应的数量的信息,就像socket的报头一样.

char_length 查看字符的长度,length查看字节的长度,也就是bytes类型..

select char_length(x) from name..

bit类型:

也就是bytes类型,查看byte类型长度,要用到函数,bin()

select  bin(x) from n3.

select hex(x) from n3.

三 日期类型

DATE TIME DATETIME TIMESTAMP YEAR

作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等

出生时间:显示-年-月-日-时分秒
datetime

年:
year

时间:
time 

年月日
date

格式:insert into n3 values(出生时间 datetime,年 year, 时间 time, 年月日 date);
如果你要显示的现在时间那么:可以用now()如果要手动添加:如果你有特殊符号的话(2017-09-10)那么就要添加‘‘(引号)

格式:insert into n3 values(出生时间 now(),年 now(), 时间 now(), 年月日 now());
就是显示现在时间

5:枚举类型和集合类型

枚举--enum:

enum:
create table n1(name enum(‘sdf‘,‘fd‘));
insert into n1  values(‘sdf‘);

枚举类型是指:在一个列表里选择其中的一个元素,当做自己的值.

如果要改变枚举类型,那么你就要删除你用枚举类型创造的值.
1)truncate n1           删除所有枚举创出来的值
2)alter ...........           改变枚举类型

集合-set类型

集合set:

集合是指在一个元组里面取一个或多个值.
create table n1 (name set(‘12‘,‘123‘,‘456‘);

insert into n1 values(‘12,123‘);

如果要改变改set类型,也要和enum类型一样,把有集合元素内容的东西都删除调,才能改
1)truncate n1;
2)alter ,......

注意:
集合里面,如果你要取里面的2个元素,那么你不能写成(‘S‘,‘b‘), 要写成(‘S,b‘)
也就是一个冒号包括2个元素,里面的元素用逗号分开.
6:constraint host_port unique(host,port) 整体意思:约束host_port是唯一的,也就是后面括号里的内容可以其中一个相同,但是不能2个相等.
create table department3(
id int,
name varchar(20),
comment varchar(100),
constraint pk_name primary key(id); 

这里的pk_name只是一个摆设,没什么用,最后一句话的意思就是把id设成了主键,

7:auto_increment 的用法

create table t1(id int primary key auto_increment, name char(2),
age int)auto_increment=3;
表示默认的初始自增值数值为3,如果不指定id数值,那么默认会从3开始递增.
Ps:这是从开始就设定了

2)
create table t1(id int primary key auto_increment, name char(2),
age int)
如果程序已经开始运行,现在想修改自增值的话,就在后面修改

alter table n1 auto_increment=3;
从现在开始就是从3开始增长.
8;foreign key:被关联的表里面的元素,必须是主键,也就是唯一的.

references t1(id) 以t1表的id为参考on delete cascade 把delete串联on update cascade 把update串联.
时间: 2024-10-21 04:44:01

数据类型--mysql的相关文章

MySQL存储引擎与数据类型

1 数据存储引擎 存储引擎的概念是MySQL的一个特性,它指定了表的类型(诸如表如何存储与索引数据.是否支持事务.外键等),表在计算机中的存储方式. 1.1 MySql支持的数据存储引擎 查看引擎信息 通过命令来查看引擎信息 show engines; 默认存储引擎为InnoDB,如下列出: Engine Support Comment Transactions XA Savepoints InnoDB DEFAULT Supports transactions, row-level locki

21分钟 MySQL 入门教程 && mysql数据类型

转自:http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#c1 http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html 21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据类型 五.使用MySQL数据库 登录

mysql的char数据类型和varchar数据类型的选择

mysql的char数据类型和varchar数据类型的选择 存储引擎对于选择char和varchar的影响: 对于MyISAM存储引擎:最好使用固定长度的数据列代替可变长度的数据列.这样可以使整个表静态化,从而使数据检索更快,用空间换时间 对于InnoDB存储引擎:使用可变长度的数据列,因为InnoDB数据表的存储格式不分固定长度和可变长度,因此使用char不一定比使用 varchar更好,但由于varchar是按照实际的长度存储,比较节省空间,所以对磁盘I/O和数据存储总量比较好 mysql并

MySQL中的数据类型及创建

MySQL创建: 1.创建数据库create database test2; 2.删除数据库drop database test2; 3.创建表create table ceshi(    ids int auto_increment primary key,    uid varchar(20),    name varchar(20),    class varchar(20),    foreign key (class)  references class(code) );create

mysql选择合适的数据类型

MySQL之选择字段数据类型 MySQL支持的数据类型很多,选择正确的数据类型对于 获得高性能至关重要.在选择时有个简单的原则有助于做出更好的选择. 简单的原则: A.通常最小的是最好的 因为这样可以用更少的磁盘.内容.CPU缓存,大大减少IO开销. B.简单就好 简单的数据类型操作通常需要更少的CPU周期.例如,整型比字符操作代价更小,因为字符集和校对规则(排序规则)使它比整型更复杂.比如应该使用MySQL内建的类型而不是使用字符型来存储日期和时间. C.尽量避免使用NULL NULL是列默认

2Python全栈之路系列之MysQl基本数据类型

Python全栈之路系列之MySQL基本数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类: 数字类型 日期和时间类型 字符串类型 数字类型 类型 大小 用途 BIT - 二进制 TINYINT 1字节 小整数值 INT or INTEGER 4字节 大整数值 BIGINT 8字节 极大整数值 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 小数值 FLOAT 4字节 单精度浮点数值 DOUBLE 8字

mysql数据类型长度

1个字节= 8位  tinyint 为一个字节  2的8次方= 256 所以最多存储到256 日期和时间数据类型 MySQL数据类型 含义 date 3字节,日期,格式:2014-09-18 time 3字节,时间,格式:08:42:30 datetime 8字节,日期时间,格式:2014-09-18 08:42:30 timestamp 4字节,自动存储记录修改的时间 year 1字节,年份 数值数据类型 整型 MySQL数据类型 含义(有符号) tinyint 1字节,范围(-128~127

转!!MYSQL数据类型

这篇文章主要介绍了MySQL数据类型和常用字段属性总结,本文总结了日期和时间数据类型.数值数据类型.字符串数据类型等,需要的朋友可以参考下 前言 好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键.M前言 好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键.MySQL提供了一组可以赋给表

MYSQL学习笔记——数据类型

mysql的数据类型可以分为三大类,分别是数值数据类型.字符串数据类型以及日期时间数据类型. 数值数据类型                                                                                 数值类型又可以分为整型.浮点类型.Decimal. 整型 mysql的整型可以分为TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT,下表给出了每个类型的存储空间大小和数值表示范围. 类型 字节 最小值 最大