sql了解1

简介: 本文介绍了SQL中主键自增的特性,删除记录后自增序号的处理方式,以及DML操作(插入、更新、删除)的基本语法和示例。同时区分了DML与DQL的不同用途,并通过代码示例展示了如何正确使用`SELECT`语句查询数据。

sql中主键自增,删除也会有记录(id=2删除了,在自增从3开始)

主键设置自增之后,默认从1开始,且设置失败也会自增(除非自定义比如定义下一行为11,而不是定义为null,使用自增)

dml:

插入
insert into 表名(参数)value(s)()

update 表名字 set 参数=’‘ where 条件

delete from 表名 where 条件

-- DML : 更新数据 - update
-- 1. 将 emp 表的ID为1员工 用户名更新为 'zhangsan', 姓名name字段更新为 '张三'
update employee set username = 'zhangsanX',name = '张三X' where id=1;
-- 2. 将 emp 表的所有员工的入职日期更新为 '2010-01-01'
update employee set entry_date='2010-01-01';
-- DML : 删除数据 - delete
-- 1. 删除 emp 表中 ID为1的员工
delete from employee where id = 1;
-- 如果对一个表进行不断测试数据,担心将这个表搞乱了,影响其他人使用,可以提前如下备份。
CREATE TABLE employee_bk_20250616 AS
SELECT * FROM employee;
-- 2. 删除 emp 表中的所有员工
delete from employee;

dml命令:

语法:

查询:select * from emp;

dml,dql

区分

DML:insert into/update/delete from  +表名

DQL:select 字段名 from 表名

分页展示 limit 起始值(从0开始),每页的数据数

SQL 要求SELECT子句中必须是具体的列名表达式通配符

det vs det.* 的区别

写法

含义

示例

det

表别名(不是列名,语法错误)

SELECT det FROM dept det

det.*

det

的所有列(展开为具体列名)

SELECT det.* FROM dept det

det.id

det

id

列(具体列名)

SELECT det.id FROM dept det


相关文章
|
3月前
|
SQL JavaScript Java
三层架构理解(实现前后端分离)
本文介绍了三层架构实现前后端分离的流程,从前端Vue发起请求,到后端Spring处理数据,最后返回结果并由前端渲染展示。同时详细解析了Bean重复问题的解决方案,包括使用@Service、@Primary、@Qualifier和@Resource注解进行依赖注入控制。此外还介绍了MyBatis中#{}与${}的区别及使用场景,以及三层架构中各组件的协作方式。
|
3月前
|
存储 监控 Oracle
MySQL事务
MySQL事务具有ACID特性,包括原子性、一致性、隔离性和持久性。其默认隔离级别为可重复读,通过MVCC和间隙锁解决幻读问题,确保事务间数据的一致性和并发性。
MySQL事务
|
3月前
|
Java
初识线程
在 Java 多线程编程中,线程对象名与线程名称是两个不同概念。对象名是代码中引用线程对象的变量名,如 `t1`,而线程名称是线程实例在 JVM 中的标识,可通过 `setName()` 或构造函数设置。若不显式设置,Java 会分配默认名称如 `Thread-0`。通过 `Thread.currentThread().getName()` 可获取当前执行线程的名称。
|
3月前
|
缓存 NoSQL 算法
redis杂项
Redis基于内存、IO多路复用,读写高效;虽主为单线程,但支持多线程读写及持久化。常用数据类型如string、hash、list、set、zset适用于多种场景。为提升性能,常搭配本地缓存(如Caffeine)形成二级缓存架构。为保证Redis与MySQL一致性,可采用加锁、MQ或延迟双删策略。Redis支持多种淘汰策略及持久化方式(RDB/AOF),兼顾性能与数据安全。
|
3月前
|
SQL NoSQL 关系型数据库
了解关系型数据库
关系型数据库基于表结构,支持SQL查询,适合复杂关系和事务处理,如Oracle、MySQL;而非关系型数据库如Redis、MongoDB采用灵活模型,适用于高并发、大数据场景。关系型数据库维护成本低但扩展性差,非关系型数据库读写快、成本低但不支持事务。索引可提升查询速度,但占用空间影响更新效率。数据库索引多采用B+树,因其更适合范围查询、磁盘读写效率高且查询性能稳定。
|
3月前
|
存储 关系型数据库 MySQL
杂项9
行锁在数据库中用于并发控制,当更新操作能通过索引精确定位到具体行时生效,如 MySQL InnoDB。若未使用索引,可能升级为表锁,影响并发性能。更新操作优先使用行锁以保证数据一致性和高效并发。
|
3月前
|
存储 SQL 关系型数据库
mysql理解
本文介绍了MySQL查询语句的书写顺序与执行顺序的区别,多表查询的实现方式,包括内连接、外连接的使用与差异,以及CHAR与VARCHAR字段类型的异同点,帮助开发者更好地理解和优化SQL查询。
|
3月前
|
存储 安全 测试技术
Python面试题精选及解析
本文详解Python面试中的六大道经典问题,涵盖列表与元组区别、深浅拷贝、`__new__`与`__init__`、GIL影响、协程原理及可变与不可变类型,助你提升逻辑思维与问题解决能力,全面备战Python技术面试。
111 0
|
3月前
|
传感器 机器人 物联网
【免费开源】基于STM32的蓝牙小车/智能小车项目详解(附源码)
通过本项目,你可以系统掌握STM32外设控制、蓝牙通信、电机驱动和传感器数据处理技术,实现一辆可远程控制并具备避障功能的智能小车。该项目具有高度可扩展性,后续可增加循迹、自动寻路、摄像头等高级功能。
502 42
【免费开源】基于STM32的蓝牙小车/智能小车项目详解(附源码)
|
3月前
|
Java Nacos Sentinel
了解微服务
本文对比了微服务与单体架构的优缺点,指出单体架构适合小规模系统,开发部署简单,而微服务适合复杂系统,具备良好的扩展性和灵活性。同时介绍了Spring Cloud相关组件如Nacos、OpenFeign、Sentinel的原理与应用,以及微服务中的熔断、降级、限流机制和AT模式的工作原理。