上一篇
"小王刚接手公司报表系统,看着前辈留下的SQL脚本里满是@StartDate
、@DepartmentID
这种参数,而自己只想简单查个订单明细,别急,今天我们就从最基础的'裸奔版'SQL开始教起!"
就像点菜时直接说"要份宫保鸡丁"而不是"要份微辣、鸡肉200克、花生50克的菜",不带参数的SQL是直接写明具体条件的查询语句。
-- 带参数的写法(需要额外处理) SELECT * FROM Orders WHERE OrderDate = @DateParam -- 不带参数的直给版 SELECT * FROM Orders WHERE OrderDate = '2025-08-20'
-- 查全体员工信息(无任何过滤) SELECT * FROM Employees -- 查销售部员工(固定条件) SELECT EmployeeName, Phone FROM Employees WHERE Department = '销售部'
注意:实际工作中避免使用SELECT *
,这里仅为演示
-- 往产品表加一条新品 INSERT INTO Products(ProductID, ProductName, Price) VALUES ('P10086', '磁悬浮键盘', 899) -- 批量插入节假日数据 INSERT INTO Holidays(HolidayName, Date) VALUES ('元旦', '2026-01-01'), ('春节', '2026-01-28')
-- 把所有U盘涨价10% UPDATE Products SET Price = Price * 1.1 WHERE ProductName LIKE '%U盘%' -- 修改特定订单状态 UPDATE Orders SET Status = '已发货' WHERE OrderID = 'ORD202508001'
-- 删除测试部门的员工(慎用!) DELETE FROM Employees WHERE Department = '测试部' -- 更安全的做法:先查询再删除 -- SELECT * FROM Employees WHERE Department = '测试部' -- 确认结果后再执行DELETE
CREATE TABLE CustomerFeedback ( FeedbackID INT PRIMARY KEY, CustomerName VARCHAR(50) NOT NULL, Content TEXT, Rating INT CHECK (Rating BETWEEN 1 AND 5), SubmitTime DATETIME DEFAULT GETDATE() )
日期陷阱:不同数据库日期格式不同
'2025-08-20'
'20250820'
或'2025-08-20'
字符串引号:单引号是标准,双引号在某些数据库会报错
大小写敏感:
-- 可能报错(表名实际是Employees) SELECT * FROM employees
备份习惯:执行UPDATE/DELETE前先跑SELECT确认影响范围
虽然今天学的是"直给式"SQL,但遇到这些情况请改用参数:
"现在小王已经能熟练写出SELECT * FROM CoffeeMachine WHERE Status = '空闲'
这样的查询了,SQL就像做菜——先掌握基础的火候调味,再学复杂的技巧,下期我们将揭秘参数化查询的神秘面纱!"
(本文基于2025年8月主流数据库版本验证通过)
本文由 零芮波 于2025-08-04发表在【云服务器提供商】,文中图片由(零芮波)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/536459.html
发表评论