博客
关于我
普歌-史上最全的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/

    你可能感兴趣的文章
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    Nginx反向代理与正向代理配置
    查看>>
    Nginx反向代理是什么意思?如何配置Nginx反向代理?
    查看>>
    nginx反向代理解决跨域问题,使本地调试更方便
    查看>>
    nginx启动脚本
    查看>>
    Nginx在Windows下载安装启动与配置前后端请求代理
    查看>>
    Nginx多域名,多证书,多服务配置,实用版
    查看>>
    nginx开机启动脚本
    查看>>
    nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
    查看>>
    nginx总结及使用Docker创建nginx教程
    查看>>
    nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
    查看>>
    nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
    查看>>
    nginx日志分割并定期删除
    查看>>
    Nginx日志分析系统---ElasticStack(ELK)工作笔记001
    查看>>
    Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
    查看>>
    nginx最最最详细教程来了
    查看>>
    Nginx服务器---正向代理
    查看>>
    Nginx服务器上安装SSL证书
    查看>>
    Nginx服务器的安装
    查看>>
    Nginx模块 ngx_http_limit_conn_module 限制连接数
    查看>>