博客
关于我
普歌-史上最全的SQL增删改查通用语法语句
阅读量:344 次
发布时间:2019-03-04

本文共 1828 字,大约阅读时间需要 6 分钟。

史上最全的SQL增删改查通用语法语句


添加数据

INSERT语法

insert into 表名(列名1, 列名2,…列名n) values(值1, 值2,…值n);
  • 注意事项
  • 列名和值要一一对应。
  • 如果不定义列名,默认给所有列添加值。
  • 非数字类型字段需用引号包裹(单双引号均可)。

示例

-- 插入单行数据insert into 用户信息(用户名, 密码) values('admin', '123456');-- 插入多行数据insert into 用户信息(用户名, 密码) values('user1', 'userpass'), ('user2', 'userpass2');

删除数据

DELETE语法

delete from 表名 [where 条件];
  • 注意事项
  • 不加条件默认删除所有记录。
  • 不推荐使用 delete from 表名;,因为会执行多次删除操作。
  • 建议使用 TRUNCATE TABLE 表名;,效率更高。

示例

-- 删除所有记录delete from 用户信息;-- 删除符合条件的记录delete from 用户信息 where 用户名 = 'admin';

修改数据

UPDATE语法

update 表名 set 列名1 = 值1, 列名2 = 值2,… [where 条件];
  • 注意事项
    • 如果不加条件,所有记录都会被修改。

示例

-- 更新部分字段update 用户信息 set 用户名 = 'newUser', 密码 = 'newPass' where 用户名 = 'admin';

查询数据

SELECT语法

select 字段名1,字段名2… from 表名;
  • 注意事项
  • 使用 * 可以替代所有字段。
  • 使用 distinct 去除重复记录。
  • 支持四则运算和特殊函数:
    • ifnull 处理 null 值。
    • concat 合并字段内容。
  • 可以为字段起别名,使用 as

示例

-- 查询所有字段select * from 用户信息;-- 查询指定字段并去重select distinct 用户名 from 用户信息;-- 查询计算字段select ifnull(用户年龄, '未知') as 年龄 from 用户信息;

条件查询

WHERE子句

where 条件;
  • 常用条件
    • 不等于:!=, <>
    • 范围:between, in
    • 模糊查询:like
    • 占位符:_, %
    • 空值:is null
    • 逻辑运算:and, or, not

示例

-- 查询年龄大于30岁的用户where 用户年龄 > 30;-- 查询用户名中包含'admin'的用户where 用户名 like '%admin%';-- 查询用户ID在指定集合中的用户where 用户ID in (1, 2, 3);

查询扩展

排序查询

order by 排序字段1 ASC, 排序字段2 DESC;
  • 注意事项
    • 多个排序字段时,按字段顺序依次排序。

示例

-- 按多个字段排序order by 用户年龄 DESC, 用户名 ASC;-- 按年龄排序,默认升序order by 用户年龄;

聚合函数

count, max, min, sum, avg 等
  • 注意事项
    • 聚合函数默认忽略 null 值。
    • 使用 count(*) 时,包括 null

示例

-- 计算总记录数select count(*) from 用户信息;-- 找到最大用户名长度select max(长度(用户名)) from 用户信息;

分组查询

group by 分组字段;
  • 注意事项
    • where 子句用于限制分组前的数据,having用于分组后的数据过滤。
    • where 子句不允许使用聚合函数。

示例

-- 按用户名分组并计算总数group by 用户名 having count(用户ID) > 5;

分页查询

limit 开始索引, 每页记录数;
  • 注意事项
    • 开始索引 = (当前页码 - 1) × 每页记录数。

示例

-- 获取前10条记录limit 0, 10;-- 获取第5页的记录(每页10条)limit (5-1)*10, 10;

其他注意事项

  • 表命名和字段命名:使用易于理解的命名习惯,避免使用过于技术化的名称。
  • 数据库连接:确保连接状态正常,避免因连接丢失导致错误。
  • 事务处理:合理使用事务操作,确保数据一致性。

  • 感谢您的阅读!如有疑问或建议,欢迎随时反馈!

    转载地址:http://ubse.baihongyu.com/

    你可能感兴趣的文章
    ng 指令的自定义、使用
    查看>>
    nghttp3使用指南
    查看>>
    Nginx
    查看>>
    nginx + etcd 动态负载均衡实践(三)—— 基于nginx-upsync-module实现
    查看>>
    nginx + etcd 动态负载均衡实践(二)—— 组件安装
    查看>>
    nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
    查看>>
    Nginx + Spring Boot 实现负载均衡
    查看>>
    Nginx + uWSGI + Flask + Vhost
    查看>>
    Nginx - Header详解
    查看>>
    Nginx - 反向代理、负载均衡、动静分离、底层原理(案例实战分析)
    查看>>
    nginx 1.24.0 安装nginx最新稳定版
    查看>>
    nginx 301 永久重定向
    查看>>
    nginx css,js合并插件,淘宝nginx合并js,css插件
    查看>>
    Nginx gateway集群和动态网关
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx log文件写入失败?log文件权限设置问题
    查看>>
    Nginx Lua install
    查看>>
    nginx net::ERR_ABORTED 403 (Forbidden)
    查看>>
    Nginx SSL私有证书自签,且反代80端口
    查看>>
    Nginx upstream性能优化
    查看>>