美文网首页
基础知识与常见数据类型

基础知识与常见数据类型

作者: 无力韬韬 | 来源:发表于2020-12-03 22:27 被阅读0次

    DDL:数据定义语言

    DCL:数据控制语言

    DML:数据操作语言
    表的创建修改删除。
    表的复制:

    create table qqq like jobs;//只复制表的结构
    create table qqq select * from jobs;//复制表的结构+数据。
    create table qqq select job_id,job_title,//复制表的部分数据
    create table qqq select job_id,job_title where 1=2;//复制表的部分结构
    

    DQL:数据查询语言

    MYSQL的主要字符集:
    utf8,utf8mb4.
    utf8单个字符最多三个字节。utf8mb4单个字符最多四个字节,支持emoji(一个emoji四个字节)。
    latin1,5.7版本的默认字符集。
    校对规则:影响排序(比如排序时大小写是否敏感)。

    数据类型


    数值类型
    tinyint  : -128~127
    int       :-2^31~2^31-1
    说明:手机号是无法存储到int的。一般是使用char类型来存储手机号
    
    字符类型

    char和varchar的区别

    例如char(10)和 varchar(10),括号里的数字代表字符长度而不是字节长度,char为固定长度,这就是这个字段的长度被固定为10,即使添加的数据长度<10,也会自动填充空格来使长度达到10,varchar则是可变长度,最长不能超过10,存入的数据长度<10,也会是数据本身的长度。
    varchar的效率没有char高,因为varchar还会同时存在一到两个字节用来记录数据的长度,所以varchar的实际长度应该等于数据的长度+1(这里的长度为字符长度),因此虽然varchar最大长度为65535,但其实他到不了这个长度。而且varchar的长度到达一定值时,会自动把类型转为text类型,因此在存储空间上,二者并没有什么区别。

    • 大于varchar(255)变为 tinytext
    • 大于varchar(500)变为 text
    • 大于varchar(20000)变为 mediumtext
      在性能上二者好像也没有太大差别。(//TODO)
      但是varchar有截断特性,即当字符长度超过括号里的值时,会自动进行截断,而text则不会,所以有可能会放入一串非常大的数据,因此还是推荐使用varchar。


      日期格式
    • DATETIME
      范围为从 1000-01-01 00:00:00.000000 至 9999-12-31 23:59:59.999999。占用8字节长度
    • TIMESTAMP
      1970-01-01 00:00:00.000000 至 2038-01-19 03:14:07.999999。占用4字节长度
      timestamp会受到时区的影响

    相关文章

      网友评论

          本文标题:基础知识与常见数据类型

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