MySQL零基础入门教程-7 表的创建、mysql中的数据类型、插入\修改\删除数据、插入日期、删除表,基础+实战

15 阅读5分钟

教程来源:B站视频BV1Vy4y1z7EX

001-数据库概述_哔哩哔哩_bilibili

我听课收集整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享

本文内容为完整笔记的第七篇

7、表的创建P67-78

  • 7、表的创建(建表)

    • 7.1、建表的语法格式:(建表属于DDL语句,DDL包括:create drop alter)

      • 两种写法

​编辑

      • 表名:建议以t或者tbl_开始,可读性强。见名知意。
      • 字段名:见名知意。
      • 表名和字段名都属于标识符。
    • 7.2、关于mysql中的数据类型?

      • 很多数据类型,我们只需要掌握一些常见的数据类型即可。

      • varchar (最长255)

        • 可变长度的字符串
        • 比较智能,节省空间。
        • 会根据实际的数据长度动态分配空间。
        • 优点:节省空间
        • 缺点:需要动态分配空间,速度慢.
      • char (最长255)

        • 定长字符串
        • 不管实际的数据长度是多少。
        • 分配固定长度的空间去存储数据。
        • 使用不恰当的时候,可能会导致空间的浪费。
        • 优点:不需要动态分配空间,速度快。缺点:使用不当可能会导致空间的浪费。
      • varchar和char我们应该怎么选择?

        • 性别字段你选什么?因为性别是固定长度的字符串,所以选择char。
        • 姓名字段你选什么?每一个人的名字长度不同,所以选择varchar。
      • int (最长11) 数字中的整数型.

      • bigin数字中的长整型。等同于java中的long.

      • float单精度浮点型数据

      • double双精度浮点型数据

      • date短日期类型

      • datetime长日期类型

        • 在mysql当中怎么计算两个日期的"年差",差了多少年?
        • TimeStampDiff(间隔类型,前一个日期,后一个日期)

​编辑

        • 例子:timestampdiff(YEAR, hiredate, now())
      • clob字符大对象

        • 最多可以存储4G的字符串。
        • 比如:存储一篇文章,存储一个说明。
        • 超过255个字符的都要采用CLOB字符大对象来存储。
        • Character Large OBject:CLOB
      • blob二进制大对象

        • Binary Large OBject
        • 专门用来存储图片、声音、视频等流媒体数据。
        • 往BLOB类型的字段上插入数据的时候,例如插入一个图片、视频等,你需要使用1o流才行。
      • 例子:t-movie电影表(专门存储电影信息的)

​编辑

    • 7.3、创建一个学生表?

      • 学号、姓名、年龄、性别、邮箱地址

​编辑

      • 删除表:

​编辑

    • 7.4、插入数据insert(DML)

      • 语法格式:

​编辑

      • 注意:字段名和值要一一对应。什么是一一对应?

        • 数量要对应。数据类型要对应.
      • 插入记录,字段顺序可以乱,但是数据一定要一一对应

​编辑

      • 注意:insert语句但凡是执行成功了,那么必然会多一条记录。没有给其它字段指定值的话,默认值是NULL.
      • 在建表时设定默认值

​编辑

      • insert语句中的"字段名"可以省略吗?可以

​编辑

    • 7.5、insert插入日期(data、data_format)

      • 数字格式化:format(数字,'格式')

​编辑

      • str_to_date:将字符串varchar类型转换成date类型

        • 语法格式

​编辑

        • str_to_date函数可以把字符串varchar转换成日期date类型数据,通常使用在插入insert方面,因为插入的时候需要一个日期类型的数据,需要通过该函数将字符串转换成date。

insert into_t_user ( id,name,birth )  values(1, 'zhangsan', str_to_date('01-10-1990','8d-8m-8Y'));

      • date_format:将date类型转换成具有一定格式的varchar字符串类型.
      • 好消息?如果你提供的日期字符串是这个格式,str_to_date函数就不需要了!!!

​编辑

      • 查询的时候可以以某个特定的日期格式展示吗?(date_format

        • date _format这个函数可以将日期类型转换成特定格式的字符串。

​编辑

        • date_format函数怎么用?8

          • date _format(日期类型数据,'日期格式')

​编辑

          • 这个函数通常使用在查询日期方面。设置展示的日期格式。
          • 使用默认的日期格式化

​编辑

    • 7.6、date和datetime两个类型的区别?

      • date是短日期:只包括年月日信息。
      • datetime是长日期:包括年月日时分秒信息
      • mysql短日期默认格式:%Y-%m-%d
      • mysql长日期默认格式:%Y-%m-%d     %h:%i:%s
      • 建表

​编辑

      • 插入datatime数据mysql> insert into t_user(id,name,birth,create_time) values(1,'zhangsan','1990-10-01,2020-03-18 15:49:50);

​编辑

      • 在mysql当中怎么获取系统当前时间

        • now()函数,并且获取的时间带有:时分秒信息!!!!是datetime类型的。

​编辑

    • 7.7、修改update(DML)

      • 语法格式:
      • update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3...where 条件;

​编辑

    • 7.8、删除数据delete(DML)

      • 语法格式?

        • delete  from 表名 where 条件;
        • 注意:没有条件,整张表的数据会全部删除!

​编辑