mysql快速上手之数据类型、字符集

Mysql支持的数据类型

数值类型

  • MySQL 支持所有标准 SQL 中的数值类型,其中包括严格数值类型(INTEGER、SMALLINT、 DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION),并在此基础上做了扩展。扩展后增加了 TINYINT、MEDIUMINT 和 BIGINT 这 3 种长度不同的整 型,并增加了 BIT 类型,用来存放位数据。

注意:

  • 所有的整数类型都有一个可选属性 UNSIGNED(无符号),如果需要在字段里面保存非负数或者需要较大的上限值时,可以用此选项,例如,tinyint 有符号范围是-128~+127,而无符号范围是 0~255。
  • 整数类型还有一个属性:AUTO_INCREMENT。这个属性只用于整数类型。值一般从 1 开始,每行增加 1。一个表中最多只能有一个AUTO_INCREMENT列。应该定义为 NOT NULL,并定义为 PRIMARY KEY 或定义为 UNIQUE 键。
  • MySQL 小数分为两种方式:浮点数和定点数。浮点数包括 float(单精度) 和 double(双精度),而定点数则只有 decimal 一种表示。定点数在 MySQL 内部以字符串形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。
  • 数据插入 bit 类型字段时,首先转换为二进制,如果位数允许,将成功插入;如果位数小于 实际定义的位数,则插入失败。

字符串类型

  • MySQL 中提供了多种对字符数据的存储类型, MySQL 中提供了多种对字符数据的存储类型。

注意:

  • CHAR 和 VARCHAR 很类似, 二者的主要区别在于存储方式的不同:CHAR 列的长度固定为创建表时声明的长度,长度可以为从 0~255 的任何值; 而 VARCHAR 列中的值为可变长字符串, 在检索的时候,CHAR 列删除了尾部的空格,而 VARCHAR 则保留这些空格。

日期时间类型

注意:

  • 如果要用来表示年月日,通常用 DATE 来表示。
  • 如果要用来表示年月日时分秒,通常用 DATETIME 表示。
  • 如果只用来表示时分秒,通常用 TIME 来表示。
  • 如果只是表示年份,可以用 YEAR 来表示,它比 DATE 占用更少的空间。
  • 如果需要经常插入或者更新日期为当前系统时间,则通常使用 TIMESTAMP 来表示。

复合类型

区别:

  • enum 只允许从一个集合中 取出一个值
  • set 允许从集合中 取出任意多个值

总结示例

create table if not exists numbers(
    id INT(11) UNSIGNED not null,
    username VARCHAR(50) not null,
    content LONGTEXT not null,
    create_time datetime not null,
    sex TINYINT UNSIGNED not null DEFAULT 1,
    age TINYINT DEFAULT 18
)ENGINE=INNODB DEFAULT CHARSET=utf8;

create table if not exists nums(
    id INT(11)  not null,
    username VARCHAR(50) not null,
    content LONGTEXT not null,
    create_time datetime not null,
    sex TINYINT UNSIGNED not null DEFAULT 1,
    age TINYINT zerofill
)ENGINE=INNODB DEFAULT CHARSET=utf8;

zerofill # 表示填充0
UNSIGNED # 不能出现负数
default # 设置默认值
not null # 表示不为空

字符集

原文地址:https://www.cnblogs.com/wuzc/p/12199380.html

时间: 2024-11-05 09:52:00

mysql快速上手之数据类型、字符集的相关文章

mysql快速上手3

上一章给大家说的是数据库的视图,存储过程等等操作,这章主要讲索引,以及索引注意事项,如果想看前面的文章,url如下: mysql快速上手1 mysql快速上手2 索引简介 索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构.如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息. 例如这样一个查询:select * from table1 where id=10000.如果没有索引,必须遍历整个表,直到ID等于1

mysql快速上手2

上一篇文章讲的是mysql的基本操作,这一篇会有一点难以理解,本节主要内容mysql视图,存储过程,函数,事务,触发器,以及动态执行sql 视图view 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中 以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成.对其中所引用的基础表来说,视图的作用类似于筛选.定 义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图.通过视图进行查询没有

mysql快速上手1

mysql简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式.数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用. 主流的数据库有:sqlserver,mysql,Oracle.SQLite.Access.MS SQL Server等,

mysql快速上手

mysql简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式.数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用. 主流的数据库有:sqlserver,mysql,Oracle.SQLite.Access.MS SQL Server等,

Centos6.5使用yum安装mysql——快速上手必备

第1步.yum安装mysql [[email protected] ~]#  yum -y install mysql-server 安装结果: Installed:     mysql-server.x86_64 0:5.1.73-3.el6_5                                                                                                                              

Centos6.5使用yum安装mysql——快速上手必备(转)

第1步.yum安装mysql[[email protected] ~]#  yum -y install mysql-server安装结果:Installed:    mysql-server.x86_64 0:5.1.73-3.el6_5                                                                                                                                  

mysql快速上手之DDL数据定义语句

SQL分类 DDL语句:数据定义语句,定义了不同的数据段.数据库.表.列.索引等数据库对象的定义.(create.drop.alter等) DML语句:数据操纵语句,用于增删改查的操作,并检查数据完整性. DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库.表.字段.用户的访问级别和安全级别.(grant.revoke等) DDL语句 数据库的操作 创建数据库 create database 数据库名 charset=utf8; 查看存在哪些数据库 sh

JavaWeb之Mysql快速入门(十一)

MySql快速入门 1. mysql简介 Structured Query Language 结构化查询语言 SQL标准,由ANSI(美国标准学会,属于ISO的核心成员)进行管理和维护的. 数据库厂商都支持该标准,并进行了扩展.扩展的部分,一般称之为方言. SQL标准和方言:普通话和方言 作用:与数据库进行交互 常用数据库:Oracle/DB2/MySQL/SQL Server 2. SQL语句的分类 DDL:Data Definition Language数据定义语言 alert/create

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的