我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据表类型

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据表类型

数据表类型

一、 创建数据表

 CREATE TABLE IF NOT EXISTS user(

id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(255) NOT NULL UNIQUE,

Sex TINYINT  NOT NULL DEFUALT 1,

age TINYINT  NOT NULL DEFAULT 0

)ENGINE = MyISAM DEFAULT CHARSET=utf8;

CREATE  TABLE  IF NOT EXISTS 表名称(

  字段名1  类型(长度) 属性  索引,

字段名2  类型(长度) 属性  索引,

字段名3  类型(长度) 属性  索引,

字段名4  类型(长度) 属性  索引,

字段名5  类型(长度) 属性  索引,

...

字段名N  类型(长度) 属性  索引,

) ENGINE =MyISAM  DEFAULT  CHARSET =utf8;

html  设置字符集  utf-8

mysql 设置字符集  utf8

 

 二、 mysql 数据类型

   1. 整数类型(重点重点重点)

整数类型

字节数

无符号范围

有符号范围

TINYINT(微整型)

1

+0 - +255

-128- +127

SMALLINT(小整型)

2

  0-65535

-32768-32767

MEDIUMINT(中整型)

3

0-16777215

 -8388608-8388607

INT(整型)

4

 0-4294967295

-2147483648-2147483647

BIGINT(大整型)

8

0-188446744073709551615


mysql 支持的数据类型后面指定该类型的宽度, 基本形式如下:

数据类型(显示宽度)

默认显示宽度: 可以理解为 一个整数类型的默认宽度正好能显示该数据类型的所有值的宽度  默认长度其实是当前位数减一 为什么要减一 是因为第一位是我们的符号位

 n1    | tinyint(4)

 n2    | smallint(6)

 n3    | mediumint(9)

 n4    | int(11)

 n5    | bigint(20)

 在整数类型使用是 可以配置zerofill 参数 zerofill 表示数字不足的显示空间由0来填充补全

出现下面报错的原因是

Out of range value for column 'n1' at row 1

你的长度超出了范围

注意:

使用zerofill是 mysql会自动加上unsigned(无符号)属性 那么该整数类型只能表示无符号数  器显示长度比默认显示宽度小一

在设置了显示宽度时 如果插入的数据宽度大于设置的显示宽度 数据依然可以插入  且能够显示  但是该设置的宽度失效

数据的宽度不能大于默认宽度 如果大于默认宽度 那么该数据已经超出该类型的最大值 因为最大值的宽度必须小于等于默认宽度  如果一个值大于最大值 将不能插入

 

-- 整数类型还有一个属性 AUTO_INCREMENT 属性    自增

-- 自增属性需要配合索引使用

 

-- 如果出现下面报错 请在你自增属性后面加上你的索引内容

-- ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

-- key(index) 索引

-- 普通索引(index)

-- 唯一索引(unique)  唯一索引所有值不能有重复

-- 主键索引primary key  一个数据表中只能有一个  唯一作用 一般设置都是自增字段

 

zerofill 零填充

unsigned   无符号

auto_increment  自增

只能修饰整数类型

 2. 浮点数和定点数

 mysql 中使用浮点数和定点数来表示小数

浮点数: 单精度浮点数(float) 和双精度浮点数(double)

定点数: DECIMAL

定点数在存储空间 是根据精度来决定的

mysql中可以指定浮点数的精度: 数据类型(M,D)

M 精度   是数据的总长度  小数点不占位

D  标度   小数点后的长度

在存储小数的时候 建议使用decimal类型 定点数以字符串形式存储 因此精度要比浮点数更高  而且浮点数容易出现误差 这是浮点数一直存在的问题 如果对数据的精度要求很高 还是选择定点数比较安全

如果标度超出位数那么他会进行四舍五入如果你的精度和标度一样那么我们的整数位只能是零

 3. 时间

-- 时间戳

-- 2147483647

INT 2147483647

因为php可以有date函数  你想处理什么样子都可以  所以我们使用时间戳来存储我们php的时间

4. 字符串类型

 字符串类型是mysql中用来存储字符串的数据类型 字符串类型包含: VARCHAR  CHAR  TEXT  ENUM   SET

CHAR 和VARCHAR

字符串类型(M) M-- 该字符串的最大长度 M

 CHAR 定长的字符类型  0-255

VARCHAR  变长的字符类型 5.0以前 0-255 5.0版本以后 0-65535

char(5) 和 varchar(5)区别

 插入值      char 占用字数      varchar占用字数

  1   5  2

  123  5 4

1234          5 5

  12345  5 6

CHAR 定长字符类型   分配多少空间就占用多少空间 不计算需要的长度  处理数据速度快

VARCHAR 变长字符类型   根据字符串的长度来分配空间  需要计算长度   处理数据速度稍慢

什么时候用char  什么时候用varchar

当你插入的数据长度一直不变的情况下 请使用char  密码需要使用char

当你插入的数据长度是随时改变的情况下  使用varchar  用户名需要使用varchar

  ENUM 类型  枚举类型

ENUM(‘值1,值2,值3,,,,,值n’)

n--代表参数列表中的第n个值 n 65535

ENUM 的值只能去列表中的一个元素

1/65535

SET 类型

在创建表是 set类型的取值范围是以列表的形式指定的

set(‘值1,值2,值3,。。。值n’);

set 类型的值最多只是64个元素 取值可以是一个或者多个 其他特性和enum类似

1-64/64

三 查看表结构

 DESC 表名 : 缩写版

 DESCRIBE 表名

 

查看建表语句

SHOW CREATE TABLE 表名

 

四 创建表

1. 建表语法

CREATE  TABLE  IF NOT EXISTS 表名称(

  字段名1  类型(长度) 属性  索引,

字段名2  类型(长度) 属性  索引,

字段名3  类型(长度) 属性  索引,

字段名4  类型(长度) 属性  索引,

字段名5  类型(长度) 属性  索引,

...

字段名N  类型(长度) 属性  索引,

) ENGINE =MyISAM  DEFAULT  CHARSET =utf8;

a. 设置主键

PRIMARY KEY

字段名  数据类型  PRIMARY KEY

b. 设置表的非空约束

 字段名  数据类型 NOT NULL

不为空 只是不为null

c. 设置表的唯一性

 字段名 数据类型 UNIQUE

d. 设置表字段值的自增

   字段名 数据类型 AUTO_INCREMENT

如果你设置自增就必须加上 索引 PRIMARY KEY

e. 设置表的字段默认值

字段名 数据类型 DEFAULT 默认值

f. 设置字段的数字类型 不能为负数

字段名 数据类型 UNSIGNED

g. 建表引擎

 MyISAM

 InnoDB

MyISAM 与 InnoDB 的区别

myisam  读取速度快  不支持事务

InnoDB  读取速度稍慢  支持事务   事务回滚

 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据表类型

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2024-04-02

sqlite数据类型与c#数据类型对应表

SQLite 数据类型C# 数据类型 BIGINTInt64 BIGUINTUInt64 BINARYBinary BITBoolean首选BLOBBinary首选BOOLBoolean BOOLEANBoolean CHARAnsiStringFixedLe
2022-04-11

【Python3】基本数据类型-列表(

例:name_list = ['alex', 'seven', 'eric']或name_list = list(['alex', 'seven', 'eric'])基本操作:索引切片追加删除长度切片循环包含详细介绍 如下 ~append
2023-01-31

Python基本数据类型__列表

6、列表[list]在Python中列表用[]来表示,中间的元素可以是任何类型,用逗号分隔。列表是可变类型。列表的常用操作:在列表中我觉得比较重要的就属增删改查了,还有一些类似于字符串的操作;、定义列表:qq = [1,2,3,4,'12'
2023-01-31

4.9Python数据类型(5)列表(新

前言列表是一种python类似数组的数据结构,操作灵活,可存储多种类型的数据。目录1.列表的基础知识2.列表的增删改查并操作3.列表的其他操作4.基本方法表(一)列表的基础知识1.说明:列表(list),可变序列,可以存储多种数据的集合,用
2023-01-30

mysql,数据类型与表操作

一、mysql基本认知创建用户create host aa identified with mysql_native_password by "";修改用户权限alter user root@"localhost" identfied  with mysql_
mysql,数据类型与表操作
2018-12-14

【MySQL】MySQL 数据类型,数值、日期和时间、字符串类型,创建数据表,删除数据表

作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
2023-08-16

navicat怎么看数据库表的数据类型

直接查看表结构:1. 打开 navicat 并连接到数据库,2. 在对象管理器中找到目标表,右键单击并选择“查看数据表”,3. 在“表结构”选项卡中查看“数据类型”列。使用 sql 查询:1. 打开 sql 编辑器,2. 运行查询“sele
navicat怎么看数据库表的数据类型
2024-04-24

Python数据类型详解(二)列表

一.基本数据类型整数:int字符串:str(注:t等于一个tab键)布尔值: bool列表:list (元素的集合)列表用[]元祖:tuple元祖用()字典:dict注:所有的数据类型都存在想对应的类列里 二.列表所有数据类型: 基本操作:
2022-06-04

MySQL:数据类型和表的约束

1. 数据类型 学习语言的时候首先就是学习数据类型,数据类型起着为变量合理分配空间的作用。数据库同样需要合理使用空间,其次还可以约束SQL语句的正确性,所以同样需要数据类型。 1.0. 数据类型分类 分类数据类型解释数值类型BIT (
2023-08-16

sqlserver怎么修改表数据类型

要修改表的数据类型,可以使用ALTER TABLE语句加上MODIFY COLUMN子句来实现。下面是一个示例:ALTER TABLE 表名MODIFY COLUMN 列名 新数据类型;例如,如果要将表中的某一列从INT类型修改为VAR
sqlserver怎么修改表数据类型
2024-03-14

MySQL 表示日期的数据类型

类型名称日期格式日期范围存储需求YEARYYYY1901 ~ 21551 个字节TIMEHH:MM:SS-838:59:59 ~ 838:59:593 个字节DATEYYYY-MM-DD1000-01-01 ~ 9999-12-33 个字节DATETIMEYY
MySQL 表示日期的数据类型
2019-09-27

MySQL数据类型 - JSON数据类型 (4)

JSON值的比较和排序JSON值可以使用=,=,,!=,和运算符进行比较。JSON值尚不支持以下比较运算符和函数:●BETWEEN●IN()●GREATEST()●LEAST()要想使用上面这些列出的比较运算符和函数,一个解决方法是将JSON值转换为原生MyS

	MySQL数据类型 - JSON数据类型 (4)
2016-08-23

MySQL数据类型 - JSON数据类型 (3)

最右边的数组元素。MySQL支持last关键字,作为数组中最后一个元素的索引的同义词。last - N 形式的表达式可用于相对寻址和范围定义,如下所示:如果不是针对数组计算路径,则求值结果与将该值包装在单个元素数组中的结果相同:可以使用带有JSON列标识符和J

	MySQL数据类型 - JSON数据类型 (3)
2021-03-13

MySQL数据类型 - JSON数据类型 (2)

JSON值的规范化、合并和自动包装当一个字符串被解析并发现是一个有效的JSON文档时,它也会被规范化。这意味着,具有与稍后在文档中找到的键(从左到右)重复的键的成员将被丢弃。JSON_OBJECT()调用生成的对象值只包含第二个key1元素,因为该键名在之前值

	MySQL数据类型 - JSON数据类型 (2)
2019-09-03

编程热搜

目录