zoukankan      html  css  js  c++  java
  • mysql(二)

    数据类型

    1、数值类型

    tinyint、smallint、mediumint、int或integer、bigint分别对应1、2、3、4、8个字节的存储空间,以上均为有符号补码表示的整数。

    float和double分别为4个字节和8个字节的大小的浮点数

    如果在相应类型后面加关键字unsigned,则变为无符号数。

    decimal:M>=D,M表示有效数的精度,范围1-65;D表示小数点后的位数 

    •  整数的位数必须小于等于m-d,不然报错。小数的位数可以大于d位。多出d位时会做四舍五入,截取到d位。
    • 以上均不包括小数点、符号的位数。数字的总长度是m位,保存后的小数位最多是d位。如果保存后是整数,小数位不会补0。

    参考1 参考2

    2、时间日期类型

    date、time、year、datetime分别对应年月日,时分秒,年,年月日时分秒

    timestamp:参考

    3、字符类型

    (1)char和varchar

    • 两者都需要指定n值,最大存储字符数不能超过n
    • char是定长,无论存储多少内容,都会占据n;varchar是变长,按内容的实际长度占据空间。
    • char的最大n值为255,varchar的最大为65535

    (2)其它

    tinytext、text、mediumtext和longtext用于存储文本数据,分别的最大容量为1、2、4、8个字节表示的整数。

    tinyblob、blob、mediumblob和longblob用于存储二进制数据,分别的最大容量为1、2、4、8个字节表示的整数。

    是否允许为空

    默认的,字段允许为null。如果不允许,则需要特别声明

    not null

    默认值

    用关键字default声明,其后为默认值内容

    age int unsinged default 10,
    name varchar(10) default 'zzzz'

    默认值是当插入记录时,只插入部分字段的情况下,未插入字段的值会以默认值填充

    自动增长

    (1)自动增长的字段必须是整数类型

    (2)自动增长的字段不要求一定是无符号数

    (3)自动增长字段默认从1开始

    (4)在新增记录时,要么插入全部字段,将自动增长字段的值设为null,要么插入部分字段

    (5)可以在创建表时声明自动增长的初始值

    (6)delete语句并不能清除自动增长记录

    (7)自动增长字段在一张表中只能存在一个,且必须声明为主键

    主键和外键

    参考

    (1)只有InnoDB表才支持主键和外键

    (2)主键可以为多个列

    (3)外键列必须建立索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引

    (4)外键关系的两个表的列必须是数据类型相似,也就是可以互相转换类型的列,比如int和tinyin可以,而int和char不行

    数据库引擎

    innodb:支持事务和主外键

    myisam

    create table table_name()engine=innodb;

    默认编码

    (1)在创建数据库时指定

    create database database_name charset utf8;

    (2)在创建数据表时指定

    create table table_name()default charset=utf8;
  • 相关阅读:
    leetcode简单刷题
    pycharm常用快捷键
    pycharm之black配置for python file(代码格式化工具)
    appium
    scheduleAtFixedRate 和 timer 执行对比
    Java 线程池创建的四种方式
    java 数据库连接池和普通连接 对比
    java 线程池 实现
    java 定时任务 Timer 范例
    java加载properties配置文件的几种方法
  • 原文地址:https://www.cnblogs.com/heibaimao123/p/13789828.html
Copyright © 2011-2022 走看看