DML 数据操作语言

DML 数据操作语言

三个语句:

     INSERT 语句:功能,将数据插入到表中,结果,表中数据量增加了,以行为单位,行数增加了
            实际功能中: 注册,加入购物车,下订单,上车扫码...
            
     UPDATE 语句:更新修改数据: 功能,将表中数据进行修改,结果,数据量不变,但是内容发生了变化
            实际功能中:修改密码
            
     DELETE 语句:删除数据语句: 功能,将表中不要的数据删除,结果,数据量变少了,以行为单位
            实际功能:清空购物车
            
---------------------- 数据类型:每个列下面的数据是什么样子,都是有类型限制的

常见的数据类型:字符串、日期类型、数值类型

CHAR(n) 字符类型,固定长度的字符类型,列存储的字符串的长度是固定的,如果长度不够,
        会自动在后面补足空格,最多存放 255 个字符,优势:存储效率高
        
 例如: CHAR(10)  -- 表示固定存储10个字符长度的字符串
 
        abcde  -- > 存储数据 abcde补足5个空格

VARCHAR(n) 字符类型,可变长度的字符类型,最多可以存放 65535 个字符,优势:节省空间

例如: VARCHAR(10) -- 最多可以存放10个字符长度的字符串

      abcde -- 》abcde
      abcdefg -- > abcdefg      
        
实际中:有一些固定长度的信息存储,建议使用 CHAR 类型,效率高,例如:身份证号,手机号,性别
        那些不固定长度的信息存储,建议使用 VARCHAR 类型: 地址,姓名,签名,留言等等
        
CHAR 类型的字符在检索的的时候要比 VARCHAR 快很多。

------------------------------------------------------------------
日期类型:

    DATE:日期 '2022-03-25'
    TIME :时间 '10:00:00'
    DATETIME : 日期时间 '2022-03-25 10:00:00'

时间函数: NOW()  -- 获取现在的时间
           SYSDATE() -- 取系统当前的时间
           
区别: NOW() 在执行的时候获取的是执行开始时取的时间, SYSDATE()在函数执行的时候获取的动态时间值

SELECT NOW(),SYSDATE() FROM DUAL;  -- 执行过快,看不出区别,让语句执行若干秒,延迟取时间  sleep(n);

SELECT NOW(),SLEEP(3),NOW() FROM DUAL;

  SELECT SYSDATE(),SLEEP(3),SYSDATE() FROM DUAL;
 
----------------------------------------------------
数值类型:整型和小数

整型: INT() : 指定的是显示宽度,不是表示存储的大小,默认就是 10

小数:浮点型  FLOAT/DOUBLE  (单精度/双精度,精确的程度不一样)

例如:

CREATE  TABLE t112(
   id1 INT(5),
   id2 FLOAT(5,3));
   
SELECT * FROM t112;

INSERT INTO t112 VALUES(32524354.5678,234);  -- bug列的精度不够,存储的是99.999,自认为范围内最大的

-- FLOAT(5,3)# 单精度浮点型,总位数 5位,小数位3位,整数位 5-3 =2 位
          
INSERT INTO t112 VALUES(3252435445645.5678,23.45675785); -- bug 列的精度不够,int 类型超出精度范围,需要修改代码

INSERT INTO t112 VALUES(3252,23.45644);

INSERT INTO t112 VALUES(3252,3.4234345644);

INSERT INTO t112 VALUES(325245454,3);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值