MYSQL之建表和字段属性

作者: PM回忆录 | 来源:发表于2019-11-16 17:23 被阅读0次

    下面是一个建表的语句:

    CREATE TABLE IF NOT EXISTS 表名(

    字段名1 INT UNSIGNED AUTO_INCREMENT,

    字段名2 VARCHAR(100) NOT NULL,

    字段3 DATE,

    PRIMARY KEY ( `字段名` )

    )ENGINE=InnoDB DEFAULT CHARSET=utf8;

    下面就以上述语句来探索建表SQL:

    1.无符号整型自增

    INT UNSIGNED AUTO_INCREMENT中,INT指的是整数类型,自增,无符号(无正负)

    在插入数据时,该数据的值只能设为比现有的值大,等于或小于时会报错;或者直接置为null,那么数据库会自动识别此数的值为当前最大值自增;INT模块为10个字节,也就是80位。

    2.字符串类型

    字段名2 VARCHAR(100) NOT NULL,varchar(100)指的是100个字节的字符串。在设置值时,如果大于100字节就会报错。并且这个值不能为空,为空也会报错。

    3.日期类型

    字段3 DATE,其中date类型是日期,在插入值时,可以用函数代替比如now(),或者转换格式的日期类型的数据。还有一种类型为datetime,可以用来存储时间,并且可以直接存储时间格式的字符串,也可以使用函数存储。

    4.主键

    PRIMARY KEY ( `字段名` ),可设置某字段为主键,主键代表此数据表的唯一值。

    5.存储引擎和数据集

    ENGINE=InnoDB DEFAULT CHARSET=utf8,

    ENGINE是设置存储引擎,nnoDB 是 MySQL 上第一个提供外键约束的数据存储引擎,除了提供事务处理外,InnoDB

    还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。InnoDB

    的设计目标是处理大容量数据时最大化性能,它的 CPU 利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。

    CHARSET=utf8是设置字符集,UTF8是中文字符集,如果你想在数据库中存储中文,那么建立数据表的时间设置此字符集,那么之后此表中的字段默认就是此种字符集,可存储中文。否则,存储中文时会无法识别而报错。

    欢迎访问个人网站:pmhuiyilu.com

    相关文章

      网友评论

        本文标题:MYSQL之建表和字段属性

        本文链接:https://www.haomeiwen.com/subject/vjgyictx.html