当前位置: 首页 > news >正文

SQL - 数据操作语句

SQL - 数据操作语句

文章目录

  • SQL - 数据操作语句
    • 数据操作语言-DML
      • 1 新增
      • 2 修改
      • 3 删除
      • 4 清空
    • 数据类型
      • 1 数值类型
      • 2 字符串类型
      • 3 日期时间类型

数据操作语言-DML

概念:

  • DML(Data Manipulation Language), 数据操作语言。
  • 对数据表数据的增、删、改操作。

1 新增

**语法: **INSERT INTO 表名(列1, 列2, 列3…) VALUES(值1, 值2, 值3…);

代码演示:

新增一条数据:

# 新增一条数据
insert into student
(stu_id,stu_name,stu_age,stu_gender,stu_address,stu_born)
values(101,'张三',20,'男','北京昌平','2000-1-1');

新增多条数据:

# 新增多条数据
insert into student
values(102,'李四',21,'男','北京海淀','2000-1-1'),(103,'张说',20,'男','北京朝阳','2000-1-1'),(104,'张玖',20,'男','北京通州','2000-1-1'),(105,'赵六',20,'男','北京大兴','2000-1-1'),(106,'王五',20,'男','北京怀柔','2000-1-1'),(107,'张利',20,'男','北京昌平','2000-1-1');

部分列添加数据:

# 部分列添加数据
insert into student(stu_id,stu_name,stu_address)
values(108,'刘备','四川'),(109,'曹操','河南'),(110,'孙权','哈尔滨');

注意:表名后的列名和VALUES里的值要一一对应(个数、顺序、类型)

2 修改

语法: UPDATE 表名 SET 列1=新值1 ,列2 = 新值2,… WHERE 条件;

代码演示:

# 2 修改
# 需求: 修改学号为101的 年龄加5 地址改为'北京昌平沙河'
update student set stu_age = stu_age+5, stu_address = '北京昌平沙河' where stu_id = 101;

注意:

  • SET 后多个列名=值。
  • 绝大多数情况下都要加WHERE条件,指定修改,否则为整表更新。

3 删除

**语法: **DELETE FROM 表名 WHERE 条件;

代码演示:

delete:

# 3 删除
# 需求: 删除学号为102的学生信息
delete from student where stu_id=102;

注意: 删除时,如若不加WHERE条件,删除的是整张表的数据。

4 清空

语法: TRUNCATE TABLE 表名;

代码演示:

truncate table:

# 使用 truncate table 表名 清空数据, 先删除表, 再新建表, 只能整表删除..
truncate table student;

注意: delete 和 truncate 的区别

DELETE是清空整张表的数据,不释放空间;TRUNCATE是把表销毁,再按照原表的结构创建一张新表,释放空间。
TRUNCATE速度比DELETE快。
DELETE属于DML语句,可以回滚,TRUNCATE属于DDL语句,不可以回滚。

数据类型

MySQL支持多种类型,大致可以分为三类:

  • 数值类型
  • 日期时间类型
  • 字符串类型

数据类型可以用来约束数据的类型。

1 数值类型

类型大小范围(有符号)范围(无符号)
INT4字节(-2147483648,2147483647)(0,4294967295)
DOUBLE8字节(-1.797E+308,-2.22E-308)(0,2.22E-308,1.797E+308)
DOUBLE(M,D)8字节DOUBLE(5,2) ,-999.99-999.99M表示位数最大值65,D表示小数位数
DECIMAL(M,D)8字节DECIMAL(5,2) ,-999.99-999.99同上

2 字符串类型

类型大小用途
CHAR0-255字符定长字符串 char(10)10个字符。优点:查询速度快;缺点:浪费空间
VARCHAR0-65535字符变长字符串 varchar(10)10个字符 优点:节省空间;缺点:查询速度慢
BLOB0-65535字节存储二进制形式的文件数据
TEXT0-65535字节存储长文本文件数据

注: MySQL中每条记录最大长度64k。

3 日期时间类型

类型大小范围格式用途
DATE3字节1000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3字节-838:59:59’/'838:59:59HH:MM:SS时间值或持续时间
YEAR1字节1901/2155YYYY年份值
DATETIME8字节1000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4字节1970-01-01 00:00:00/2038 结束时间是北京时间 2038-1-19 11:14:07格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

相关文章:

  • 【Docker】Docker学习⑧ - Docker仓库之分布式Harbor
  • C语言常见面试题:什么是枚举,枚举的作用是什么?
  • [NISACTF 2022]sign-ezc++
  • 解析dapp:铸造虚拟钱包新概念
  • SpringBoot自定义全局异常处理器
  • 基础算法--搜索与图论(2)
  • 盘古信息IMS OS 数垒制造操作系统+ 产品及生态部正式营运
  • 黑马程序员-瑞吉外卖-day5
  • SpringBoot中从HikariCP迁移到Oracle UCP指南
  • STM32 PWM驱动设计
  • OJ_阶乘的和
  • 【重点问题】攻击面发现及管理
  • SpringBoot 整合RabbitMQ 之延迟队列实验
  • Jenkins上跑自动化项目,case出现错误时,导致项目运行时间过长,该如何处理?
  • diffusion 和 gan 的优缺点对比
  • SegmentFault for Android 3.0 发布
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【面试系列】之二:关于js原型
  • ➹使用webpack配置多页面应用(MPA)
  • Apache的80端口被占用以及访问时报错403
  • express如何解决request entity too large问题
  • Git 使用集
  • HTTP中的ETag在移动客户端的应用
  • KMP算法及优化
  • MySQL-事务管理(基础)
  • node和express搭建代理服务器(源码)
  • Protobuf3语言指南
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python学习笔记 字符串拼接
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Terraform入门 - 3. 变更基础设施
  • Vue UI框架库开发介绍
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 闭包--闭包之tab栏切换(四)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 飞驰在Mesos的涡轮引擎上
  • 前端路由实现-history
  • 使用权重正则化较少模型过拟合
  • 微服务核心架构梳理
  • 温故知新之javascript面向对象
  • 学习ES6 变量的解构赋值
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 昨天1024程序员节,我故意写了个死循环~
  • ​比特币大跌的 2 个原因
  • ​一些不规范的GTID使用场景
  • # Apache SeaTunnel 究竟是什么?
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #WEB前端(HTML属性)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级