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

    你可能感兴趣的文章
    php实现多个一维数组对应合并成二维数组
    查看>>
    php实现多关键字查找方法
    查看>>
    PHP实现微信公众号H5支付
    查看>>
    PHP实现微信公众号网页授权
    查看>>
    PHP实现微信小程序推送消息至公众号
    查看>>
    php实现根据身份证获取年龄
    查看>>
    PHP实现的MongoDB数据增删改查
    查看>>
    php实现短信验证功能
    查看>>
    RabbitMQ连接报错(1)—— None of the specified endpoints were reachable
    查看>>
    php实现逆转数组
    查看>>
    PHP实现通过geoip获取IP地理信息
    查看>>
    PHP实现页面静态化、纯静态化及伪静态化
    查看>>
    php容许ajax跨域,PHP设置允许ajax跨域请求的两种常见方法
    查看>>
    RabbitMQ进程结构分析与性能调优
    查看>>
    PHP对接百度地图
    查看>>
    PHP对表单提交特殊字符的过滤和处理
    查看>>
    php对象引用和析构函数的关系
    查看>>
    RabbitMQ HTTP 认证后端项目常见问题解决方案
    查看>>
    PHP将图片转换成base64格式(优缺点)
    查看>>
    php将多个值的数组去除重复元素
    查看>>