数据类型:

1.整型--默认情况下都是带有符号的, id int(8)…… 如果数字没有超过9位,默认用0填充,如果数字超出8位,有几位存几位

总结:针对整型字段,括号内无需指定宽度,因为它默认的宽度已足够存储

2.浮点型--FLOAT、DOUBLE、DECIMAL,精确度不同  float< double < decimal

3.字符型--

char 定长 char(4):  超过4个字符报错,不够四个字符空格补全

varchar 变长 varchar(4):超过4个字符报错,不够有几个存几个

注:显示的时候MySQL会自动将多余的空格剔除,若不剔除,需以下操作

char:

缺点:浪费空间

优点:存取都很简单,之间按照固定的字符取数据即可

varchar

优点:节省空间

缺点:存取较为麻烦,  解决方案:存数据时增加1bytes的报头说明数据大小

以前基本使用char类型,现在使用varchar

4.时间类型--

分类:  date:年月日 、datetime:年月日时分秒、time:时分秒、year

5.枚举、集合类型

6.约束条件--

1)default 默认值

2)unique 唯一:单列唯一+结合唯一

3)主键:primary key,

a.从约束效果来看,primary key等价于 not null+unique 即非空+唯一

b.除了有约束效果外,还是Innodb 存储引擎组织数据的依据,Innodb存储引擎在创建表时必须要有primary key

因为类似于书的目录,便于提升查询效率,并且是建表的依据

拓展: auto_increment自增(当编号特别多的时候,人为去维护太麻烦

补充:delete  from删掉数据后自增信息不会清空

      truncate t1 删除数据并充值数据

day49-数据类型、约束条件的更多相关文章

  1. python开发mysql:mysql数据类型&约束条件

    一 整形 只有Int类型跟存储没有关系,显示的是宽度,其他类型都是限制 整形类型:[(m)][unsigned][zerofill] 作用:存储年龄,等级,id,各种号码 m,代表显示宽度 默认11 ...

  2. oracle常用数据类型&约束条件(及案例)

    一.数据类型 数据类型 说明 数字 number [小数,整数] number(5,3)表示总共5个数字,小数点后3个,最大值99.999 number(5) 表示整数  最大值99999    字符 ...

  3. MySQL基本数据类型与约束条件

    昨日内容回顾 数据存储的演变 # 方向: 朝着更加统一和方便管理 数据库的发展史 # 由本地保存逐步演变为线上保存 数据库的本质 # 本质上就是一款CS架构的软件 """ ...

  4. MYSQL数据类型 表基本操作 表记录增删改 单表查询

    一.数据类型 常用的数据类型如下: 整数:int,bit 小数:decimal 字符串:varchar,char 日期时间: date, time, datetime 枚举类型(enum) 特别说明的 ...

  5. (五)mysql表操作和约束条件

    (1)表基本操作 1)创建表 create table 表名(字段 数据类型 约束条件) mysql> create table student1(id int,name varchar(50) ...

  6. 一篇文章让Oracle程序猿学会MySql【未完待续】

    一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...

  7. MySQL(一) 数据表数据库的基本操作

    序言 这类文章,记录我看<MySQL5.6从零开始学>这本书的过程,将自己觉得重要的东西记录一下,并有可能帮助到你们,在写的博文前几篇度会非常基础,只要动手敲,跟着我写的例子全部实现一遍, ...

  8. mysql学习笔记(一)

    my建表操作 创建表 create Table <表名> ( 字段名1,数据类型 [列级约束] [默认值], 字段名2,数据类型 [列级约束] [默认值], ... [表级约束], [co ...

  9. mysql命令整理0919 不定期更新中

    1)新建数据库 create database +database_name:         查询数据库  show databases;       切换数据库   use database_na ...

  10. 数据库(MySQL)表基本操作

                                    数据库表基本操作 思前想后,最终还是把博客的名字改成了数据库表基本操作,以前叫SQL语句大全,感觉用"大全"这个名词 ...

随机推荐

  1. 渲染杂谈:early-z、z-culling、hi-z、z-perpass到底是什么?

    之前一直被这几个和深度缓存(z-buffer)相关的概念搞得神魂颠倒.今天在翻阅<Real-Time Rendering>时碰巧碰巧看到了这部分的讲解.硬着头皮看了看,姑且算是讲几个概念分 ...

  2. 更改svn地址

    svn修改了服务器地址之后,本地要更新一下地址: 1. 在svn目录上右键,选TortoiseSVN->Relocate 2. 在To URL中填写新的地址,点击OK

  3. as8051入门

    汇编例子 MAIN: MOV R0, #16 MOV R1, #16 LOOP: MOV A, R1 MOV @R0,A MOV A,0x0 MOV A, @R0 MOV SBUF, A INC R0 ...

  4. 2022.11.15 NOIP2022 模拟赛十

    炸弹威力 Source:洛谷 P6036. 记 \(f_{i,0/1}\) 表示第 \(i\) 个位置为 \(0/1\) 的答案个数,有 DP 转移: \[\begin{aligned} (1-p_i ...

  5. 简单的js hook

    // ==UserScript== // @name ethereum request // @namespace http://tampermonkey.net/ // @version 0.1 / ...

  6. crontab执行不生效

    背景:不知道什么原因脚本手动执行:正常:crontab执行不生效: 1.将命令所属路径加入到 /etc/crontab中, 2.在shell脚本中加入 source /etc/profile

  7. Java流程控制之break、continue、goto

    break.continue break在任何循环语句的主体部分,均可用break控制循环的流程.break用于强行退出循环,不执行循环中剩余的语句.(break语句也在switch语句中使用) co ...

  8. Jupyter + Miniconda + VsCode 学习利器

    Jupyter + Miniconda + VsCode 学习利器 Jupyter Notebook 是基于网页的用于交互计算的应用程序. Miniconda 是一款小巧的python环境管理工具 提 ...

  9. 关于npm和yarn的坑

    遇到下载出错的情况,这两个两个双管齐下

  10. CSOL大灾变移植记录

    在2019年,我玩u3d把玩了一段时间,并制作了一些Demo,其中包括FPSDemo,RPG动作游戏Demo,一些截图如下: 时间到了2020年5月底,我开始玩之前大学研究过的jMonkeyEngin ...