数据类型

  • 整型 默认有符号

    无符号(unsigned) 和有符号 用 0 填充 zerofill

  • 约束的作用: 保证数据的完整性 和一致性

  • tinyint[ -128 , 127 ] 小整数 无符号(0,255)

  • int 整数

  • bigint 极大整数

  • 浮点型

    float 单精度

    double 双精度

    decimal 小数 精准的小数

  • 日期类型

    year 年份 date 年月日 time 时分秒 datetime 年月日时分秒

    now() 获取当前的事件( 根据数据类型 )

  • 枚举 和 集合

    enum('male 男', 'female 女', 'other') default 'male';

    enum("vip1","vip2","vip3","vip4") 指定范围内多选一

    set('play', 'music', 'read', 'study') 在指定范围内多选多

  • bool 类型

    使用 tingint(1) 来表示 boolean 类型

完整性约束

  • not null 如果单独设置 不能插入空值
  • default 默认如果设置了 not null 又设置了 default 插入空则走 default

unique key 唯一

  • 单列唯一

    unque (name)

  • 多列唯一

    unque (id), unque (name) 只要有一列相同 就不能插入

  • 联合唯一

    unque (id, name) 多列相同不能插入

primary key 主键

  • 单列主键

    id int primary key

  • 联合主键

    primary key(id, name)

  • 自增 auto_increment

    id int primary key auto_increment 设置主键自增

foreign key 外键

  • constraint 约束

    KEY `fk_course_teacher` (`teacher_id`),   -- 指定外键的key
    CONSTRAINT `fk_course_teacher` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`tid`)
    -- 指定外键关联 REFERENCES(参考) teacher 表中的 tid 字段

创建表

-- ----------------------------
DROP TABLE IF EXISTS `city`; -- 如果数据库中 有 city 表就先 删除 再 创建
CREATE TABLE `city` (
`city_id` smallint(5) unsigned NOT NULL auto_increment,
`city` varchar(50) NOT NULL,
`country_id` smallint(5) unsigned NOT NULL,
-- 时间 在创建新记录和修改现有记录的时候都对这个数据列刷新
`last_update` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`city_id`), -- 指定主键
KEY `idx_fk_country_id` (`country_id`), -- 指定外键
CONSTRAINT `fk_city_country` FOREIGN KEY (`country_id`) REFERENCES `country` (`country_id`) on delete restrict ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 指定引擎 默认字符集
  • 查看表
  • desc 表名;

清空表

  • 如果有自增 新增的数据 以之前的值开始

    delete from 表名;

  • 删除快 从零开始

    truncate table 表名;

Mysql 数据类型 以及约束的更多相关文章

  1. Mysql 数据类型、约束类型

    mysql数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型.   数值类型 MySQL支持所有标准 ...

  2. 关系型数据库MySql 数据类型与约束

    MySql数据库 :数据类型与约束 注意 :  在创建数据表的时候,需要对数据表中的字段设置 数据类型和约束, 便于检测用户输入的数据是否正确有效. 1 数据类型 数据类型的选用原则 : 够用就行,尽 ...

  3. Mysql数据类型、约束、存储引擎

    一.数据类型 整数类型 默认有符号的 设置为无符号 1.create table t2(age tinyint unsigned); 2.建表后用alter修改 tinyint[(m)] [unsig ...

  4. MySQL 数据类型和约束(外键是重点🙄)

    数据类型 1. 数字(默认都是由符号,宽度表示的是显示宽度,与存储无关).tinyint 括号里指定宽度 七位2进制数最大数就是2**7 -1=127 最小是-128 验证: create tabel ...

  5. MySql数据库数据类型及约束介绍

    1,MySql中数据类型介绍 整型及浮点型 数据类型 存储范围 字节 TINYINT 有符号值:-2^到2^7-1 无符号值:0到2^8-1 2 SMALLINT 有符号值:-2^15到2^15-1 ...

  6. MySql基本数据类型及约束

    1. 常用的数据类型(data_type) 字符串类型 CHAR(n) : 固定长度 VARCHAR(n) : 可变长度 NCHAR(n) : 使用utf8存储,固定长度 NVARCHAR(n) : ...

  7. Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束

    Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束 一丶MySQL的存储引擎 什么是存储引擎:    MySQL中的数据用各种不同的技术存储在文件( ...

  8. Mysql 常见数据类型及约束

    Mysql 常见数据类型及约束 最近在跟几个不太懂技术的同事(哈哈, 其实我也不懂), 要整一个数据库项目, 然后前端, 后端, 都没有像样的, 数据输出还不是由我们控制.... 这可难受了, 然后总 ...

  9. MySQL 数据类型简介 创建数据表及其字段约束

    数据类型介绍 MySQL 数据类型分类 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 具体数据类型见这篇博客 MySQL表操作中的约束 primary key 主键约束 非 ...

随机推荐

  1. Java8 方法引用

    概述 方法引用是用来直接访问类或实例阴茎存在的方法或者构造方法.它需要由兼容的函数式接口(lambda表达式中用到的接口)构成的目标类型上下文. 有时候, 当我们想要实现一个函数式接口的方法, 但是已 ...

  2. 【Web前端】用CSS3实现弹幕

    初版 用css3来实现弹幕确实比较简单,只需要设置动画让弹幕从屏幕右侧移动到屏幕左侧即可,一开始是这样实现的 .danmu { position: fixed; left: %; animation: ...

  3. Promise是Monad吗?

    译者按: 近年来,函数式语言的特性都被其它语言学过去了. 原文: Functional Computational Thinking — What is a monad? 译者: Fundebug 为 ...

  4. HDU3038(KB5-D加权并查集)

    How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  5. 事件处理程序 (DOM0级)

    DOM0事件处理程序 每个元素都有自己的事件处理程序属性,那么直接获取对象,然后在对象上设置事件处理程序属性. 1:获取节点对象引用 2:在事件成员上设置处理函数,这时函数内部this指向节点对象. ...

  6. vue-基于elementui换肤

    思路: 生成不同的css颜色文件,每个文件内部命名前加上.custom-颜色值做命名空间. 然后app.vue里引入全部的颜色文件. 用户点击某颜色,就在body加上class:custom-00a5 ...

  7. webpack安装

    npm install -g webpack webpack-dev-server

  8. 转载------35岁开始转变的观念(干了这碗鸡汤再写代码保证没有bug)

    作为一个标准的IT男,从一开始的一线开发,做到管理层,又因为喜爱开发,跳槽继续专注coding,一干就是10多年.有时候就想,这样一直学习,coding,如果能干到老也挺不错的! 不过生活的压力是不会 ...

  9. C# 利用SharpPcap实现网络包捕获嗅探

    本文是利用SharpPcap实现网络包的捕获的小例子,实现了端口监控,数据包捕获等功能,主要用于学习分享. 什么是SharpPcap? SharpPcap 是一个.NET 环境下的网络包捕获框架,基于 ...

  10. Android为TV端助力 转载:内存泄露与内存溢出的区别

    内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory:比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出. ...