DML&&数据库的数据类型

DML

用于改变数据表中的数据的操作语言。

包括INSERT(将数据插入到数据表中),UPDATE(更新表中已经存在的数据),DELETE(删除表中已经存在的数据)

INSERT

用法

bash 复制代码
INSERT INTO 表名(字段1,字段2)values(值1,值2)
INSERT INTO 表名 values(全字段)

INSERT后面指定的字段名可以与表结构不一致,但是要求VALUES子句中指定的值得个数、顺序、类型必须与指定的字段一致。

INSERT语句可以忽略某些字段,此时被忽略的字段会插入默认值。

INSERT语句可以显示的插入默认值,此时VALUES子句中对应字段的值使用关键字DEFAULT

INSERT语句可以显示的插入NULL值,此时VALUES子句中对应的字段的值使用关键字NULL

INSERT语句可以不指定任何字段,此时为全列插入,要求VALUES子句中指定的值得顺序,个数,类型必须与表结构完全一致(不推荐,可读性差)。

UPDATE

bash 复制代码
UPDATE 表名 set 字段1=值1,字段2=值2 [where过滤条件]

再不制定where的情况下会修改所有记录,这种情况一般不常见。

DELETE

bash 复制代码
delete from 表名 [where过滤条件]

不写where的情况下会删除所有的数据。

数据类型

数据库的字段需要制定数据类型,数据类型大致分为数值类型,字符类型,日期类型,布尔类型,二进制类型。

数值类型

整数类型

整数类型主要分为

微小整型:TINYINT 1个字节

小整型: SMALLINT 2个字节

中整型:MEDIUMINT 3个字节

大整型:INT 4个字节

极大整型:BIGINT 8个字节

浮点类型

m表示总位数,n代表小数位位数,如float(5,2)表示总共有5位,其中小数部分两位

单精度浮点型 float(m,n):4个字节,最多存储7个有效位

双精度浮点型double(m,n):8个字节,最多存储15个有效位

高精度浮点型decimal(m,n)M+2个字节

超过范围会报错,在精度超过范围(即小数部分超过范围时)会四舍五入。但是如果精度在四舍五入之后超过范围也会报错。

字符类型

定长字符串char

char类型是一种固定长度的字符串类型

存储从0到255个字符(默认为1个字符)

如果存储的字符串长度小于指定长度,会自动在末尾填充空格字符。

如果字符串长度大于指定长度,会进行截断处理。

优点:在磁盘上开辟的空间是确定的,固定长度带来了更好的检索性能

缺点:浪费磁盘空间。

char(m)

m表示字符长度

定长字符串text

text无须指定长度,最高可保存64kb的字符数据。

MEDIUMTEXT最高可以达到16MB

LONGTEXT可以达到4GB

变长字符串varchar

varchar是变长字符串,实际占有磁盘空间大小由数据觉得

varchar(m):m是一个数字,表示字符长度,最大值为65535

实际占用的磁盘空间由数据决定

优点:磁盘空间没有浪费

缺点:每条记录该字段长度不一致,会导致查询性能差一些

char时刻字符数据长度相对固定的场景比如保存性别,char查询快但是占用磁盘空间由浪费

,carchar查询慢,但是不浪费磁盘空间。

日期类型

DATE:保存年月日

TIME:保存时分秒

DATETIME:保存年月日时分秒

TIMESTAMP:时间戳,保存utc时间,可以精确到毫秒

以字符串格式插入

如'YYYY-MM-DD HH:MM:SS'

相关推荐
李小白6617 分钟前
Redis常见指令
数据库·redis·缓存
雨奔1 小时前
Flask 学习路线图
数据库·学习·flask
TDengine (老段)1 小时前
从“事后抢险”到“事前防控”:江西水投用 TDengine 时序数据库重塑防汛模式
大数据·数据库·物联网·时序数据库·tdengine·涛思数据·1024程序员节
友友马2 小时前
『 QT 』QT控件属性全解析 (二)
开发语言·数据库·qt
像风一样!7 小时前
MySQL Galera Cluster部署如何实现负载均衡和高可用
数据库·mysql
last_zhiyin8 小时前
Oracle sql tuning guide 翻译 Part 6-4 --- Hint使用准则和Hint使用报告
数据库·sql·oracle·sql tunning
chenchihwen8 小时前
AI代码开发宝库系列:FAISS向量数据库
数据库·人工智能·python·faiss·1024程序员节
小光学长9 小时前
基于Vue的课程达成度分析系统t84pzgwk(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
摇滚侠9 小时前
全面掌握PostgreSQL关系型数据库,备份和恢复,笔记46和笔记47
java·数据库·笔记·postgresql·1024程序员节
周杰伦fans10 小时前
Navicat - 连接 mysql 、 sqlserver 数据库 步骤与问题解决
数据库·mysql·sqlserver