表的创建:

  创建表时,由表的设计者在规定,表字段的命名规范有两种,一种就是驼峰法(userName), 一种是下划线法 (user_name)

  快速入门案例:

create table staff(
id int not null default 1 comment "序列号",
name varchar(5) not null default '保密' comment '姓名',
sex enum('男','女','保密') not null default '保密' comment '性别',
birthday date comment '生日',
entry_date date comment '入职日期',
station varchar(20) not null default '保密' comment '职位',
salary decimal(10,2) unsigned not null default 0 comment '薪资',
resume text comment '文章'
)charset=utf8 engine=myisam;

整型:

  基本介绍: 用于保存整数的数据类型,常见有(tinyint , smallint , mediumint, int , bigint)

类型 字节 最小值 最大值
    (带符号的/无符号的) (带符号的/无符号的)
TINYINT 1 -128 127
    0 255
SMALLINT 2 -32768 32767
    0 65535
MEDIUMINT 3 -8388608 8388607
    0 16777215
INT 4 -2147483648 2147483647
    0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
    0 18446744073709551615

  说明:

    (1)   从表示的访问来看 tinyint < samllint < mediumint <  int  < bigint (多数情况下在项目中使用tinyint 和int) 

    (2)   数据类型占用的大小不一样 tinyint(1个字节) < samllint(2个字节) < mediumint (3个字节)<  int(4个字节)  < bigint(8个字节)

    (3)   整型分为两种,一种是有符号的额,一种是无符号的。字段名整型类型 unsigned   ===> 这个就是无符号  字段名 整型类型   ===> 这个就是有符号)

  zerofill:表示0填充

    (1)当int(4) zerofill 使用,如果添加的整数不够4位,则数值的左边使用0进行填充.

    (2)int(4) 不能理解成最大只能是4位的数,而应该理解成是0填充的宽度.

    (3)当一个字段被zerofill 修饰时,那么这个字段就自动成为unsigned

  bit : bit类型就是位类型.

    细节说明:

      (1)   bit 字段在显示时,按ascii码对应的字符显示

      (2)   查询的时候仍然可以用数值

      (3)   位类型。M指定位数,默认值1,范围1-64位(bit(1-64), 可以通过bit(M) M值来控制我们填充数据的大小.)

      (4)   bit 类型, 只能是unsigned .

浮点型:

  基本介绍:使用的最多的是float , decimal.

    float [ M , D ] [ unsigned ] ( M 指定显示长度,D指定小数位数)

      案例说明:float(4,2)表示的范围是 -99.99 ~ 99.99   float(4,2) unsigned 表示的范围是0~99.99

    decimal [ M , D ] [ unsigned ] ( M 指定显示长度,D指定小数位数)

      案例说明:decimal (4,2)表示的范围是 -99.99 ~ 99.99   decimal (4,2) unsigned 表示的范围是0~99.99

  说明:

    (1)   float 和 decimal 都可以定义成有符号的或者是无符号的.

    (2)   float(M,D) ,  decimal(M,D)  M: 表示显示最大长度(即可以显示多少个数, 包含小数位), D表示有几位小数

    (3)   float(4,2) 范围  -99.99-99.99

    (4)   float(4,2) unsigned 范围  0-99.99

    (5)   decimal(4,2) 范围 -99.99-99.99

    (6)   decimal(4,2) unsigned范围0-99.99

  这两个小数类型的比较说明

    (1)   默认值不一样.

    float(M,D)  如果MD被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。

    decimal(M,D) 如果D被省略, 默认是0。如果M被省略, 默认是10。相当于 decimal(10, 0)  范围是  -9999999999 -  9999999999

    (2)   如何选择 : 如果我们希望保存精度较高的值,我们应该选择 decimal .

字符串:

  基本介绍: mysql的字符串类型,用于存放字符串,最主要的有三种, 分别是 char, varchar, text

  字符串使用的注意事项:

    (1)char(n) 这里的 n 的范围是 1-255, 最大255.

    (2)varchar(n) 这里的 n的范围是和表的字符集有关系.

      如果表的字符集是 utf8 那么 n 最大是  (65535-3)/3 = 21844

      如果表的字符集是 gbk 那么 n 最大是  (65535-3)/2 = 32766

      如果表的字符集是 latin1 那么 n 最大是  (65535-3)/1 = 65532

    varchar最大是有65535个字节, 但是需要预留3个字节.[有2个字节用于记录varchar的数据大小,有1个字节标识是否允许为null]

    (3)char(n) 是定长, varchar(n) 是变长.(char(4)  =>  添加  'aa' => 实际暂用的空间,就是4个字符占用的空间.  varchar(4) => 添加 'aa' =>实际暂用的空间,就是2个字符占用的空间+1)

    当我们的某个字段的内容长度不确定,我们建议使用varchar. 

    (4) char(n) 会将存入的最后的空格自动删除,而 varchar(n) 会保留空格. 所以如果你真的有这样的需求,就是在字段内容的最后保存空格,则应该选用varchar

    (5)   text 数据类型可以视为varchar, 但是不用指定大小, 他可以存放varchar最大的范围.

    (6)   一个表的所有自定义的字段,他们定义长度加起来不能超过65535

    (7)   如果我们字段的长度要大于 65535 字节大小. 我们可以使用 text 来替代 varchar

日期和时间:

  基本介绍: 在mysql中,日期和时间类型主要有 (1. date, 2 datetime 3. timestamp)

  使用格式:date的格式( 2019-7-14 )  datetime的格式 ( 2019-7-14 00 : 00 : 00 ) timestamp的格式( 2019-7-14 00 : 00 : 00 ) {时间中不能带空格}

  说明:(1)   对于date 类型只是接受 日期 , datetime timestamp 有日期和时间,如果你没有给时间,那么默认是 00:00:00

     (2)   timestamp 在insert 和 update 时会自动的更新. 添加后 login_time 字段就会自动的更新.

枚举enum, 集合set:

  基本语法:如果对于多选我们可以使用 set 数据类型   如果对于单选我们可以使用 enum 数据类型

CREATE TABLE `votes`(
id tinyint unsigned not null default 1,
hobby set('苹果','香蕉','西瓜') not null default '苹果' comment '喜欢的食物',
sex enum('男','女','保密') not null default '保密' comment '性别'
)charset=utf8 engine=myisam;
insert into `votes` value(2,"苹果,香蕉,西瓜","保密");
insert into `votes` value(2,"苹果,香蕉","1");

  说明:

    (1)   在添加set 和 enum 字段时需要注意几个问题

    (2)   首先你添加的选项都是表中规定好的, 添加  set 字段时 '选项1,选项2,选项3',但是中间不能给空格.

  细节:

    (1)   在enum 选项中,选项可以用数字表示:如上面案例中插入的最后一条语句中的 “1” 表示的是“男“

    (2)   在set 选择中,也可以使用数字来表示选项(当我们给一个set 赋值时, 这个数就是一个组合的 ('苹果','西瓜','菠萝') 对应 1, 2, 4, 然后组合可以进行多项, 比如 7 = 1 + 2 + 4  ,  6 = 2 + 4 等等 。。。)案例演示:insert into `votes` value(2,"3","1")相当于insert into `votes` value(2,"苹果 , 香蕉","男");

转载于:https://www.cnblogs.com/rickyctbur/p/11183598.html

Mysq表的创建和l数据类型相关推荐

  1. T-SQL:表的创建和管理

    T-SQL:表的创建和管理 数据类型 整数类型 bit:可以取值为0.1或null.当作布尔类型来用,1为true. smallint -32,768到32,767 2字节 int:-20亿到20亿, ...

  2. 导学+初识MySQL+SQL语法规范+数据库相关操作+表相关操作+MySql存储引擎介绍+MySQL表的创建+测试数据类型

    一.导学 1.什么是SQL? 结构化查询语言,数据库管理系统通过SQL语言来管理数据库中的数据: 2.SQL语言组成部分 (1)DDL--数据定义语言,主要定义数据库.表.视图.索引和触发器等 (2) ...

  3. 表的创建和删除及数据类型

    目录 表的创建及数据类型 1.表的创建(建表) 建表的语法格式:(建表属于DDL语句,DDL包括:create drop alter) 创建一个学生表? 2.删除表 2.1 drop table t_ ...

  4. SQL基础学习总结:2(表的创建、删除、更新和名称修改)

    表的创建.删除.更新和名称修改 登录MySQL(mysql -u root -p语句) 步骤: 1.首先得先使用mysql -u root -p语句登录数据库: 2.在"Enter pass ...

  5. sql 拼接int类型的字段_SQL 基础教程—第一章:4. 表的创建

    第四节:表的创建 1.1 数据库的创建 创建表之前,需要先创建一个用来存储表的数据库,使用: create 比如我们要创建一个名称为 shop 的数据库,则 create database shop; ...

  6. asp创建mysql表_asp创建数据库表

    一起谈.NET技术,不附加数据库 ASP.NET调用.sql文件 笔者好久没有写随笔了,这次是遇到提出这样的问题"不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个 ...

  7. SQLServer数据表的创建

    文章目录 1 SQLServer数据表的创建 1.1 创建数据表的语法 1.2 标识列的特殊说明 1.3 建表举例 1 SQLServer数据表的创建 1.1 创建数据表的语法 create tabl ...

  8. 用dedecms自定义表单创建简易自助预约系统

    建站往往需要根据客户的需求来增加相应的功能,比如预约.平时用比较多的是织梦系统,那么如何用dedecms自定义表单创建简易自助预约系统呢? 进入dedecms后台,左侧菜单中依次点击"核心& ...

  9. MySQL表的创建、删除、修改、复制(精品 必看)

    目录 表的创建 表的修改 表的复制 表的删除 建议在看文章的时候跟着案例的思路一块走,效果事半功倍. 案例之间是有联系的. 表的创建 语法: create table 表名(列名 列的类型 [(长度) ...

最新文章

  1. java代码程序_Java程序代码
  2. 声明一个const数组
  3. 【论文阅读】A social recommender system using item asymmetric correlation
  4. Python入门100题 | 第071题
  5. python教程简易版_简洁的十分钟Python入门教程
  6. c# 按位与,按位或
  7. mybatis学习(51):扩展集
  8. Java写一个快速排序_快速排序java实现
  9. sshd被攻击的自动防御方法v2
  10. 【Flink】Flink Group by 操作 报错 Expression xxx is not being grouped
  11. 计算机区分活动窗口,计算机WINDWS操作题.doc
  12. Atitit uke各大事业部规划 约365个事业部
  13. axios http错误码处理
  14. WEB前端开发学习5大网站,你用过几个?
  15. MAX232(电平转换:RS232-TTL)
  16. 跳棋java_用java画跳棋棋盘
  17. Cobbler 批量安装操作系统 (基于Centos7.x )
  18. 2012年河北金融学院csdn招新动员大会
  19. Mac | 使用 Wineskin 在 Mac 上运行 exe 程序
  20. 若依框架图片上传、富文本框编辑器功能

热门文章

  1. react-native 使用 antd-mobile-rn UI进行开发app
  2. SQL Server 2008 R2 系统配置检查器的检查参数和妨碍性问题的解决办法
  3. 10.23cron10.24chkconfig工具10.25systemd管理服务10.26unit
  4. Sleep()和wait()方法的区别
  5. ] ssh登录慢的原因
  6. WCF完美搭建android平台服务之一
  7. c#接口和抽象类的区别
  8. FPA笔记六 计算EI/EO/EQ的功能点
  9. 数字化转型生态的三个层级(平台 场景 工具/技术)
  10. 卡罗林斯卡学院(Karolinska Institute)