SQL 简单增删改查语句
创建表 (Create Table)
CREATE TABLE Student
(
Id Int NOT NULL UNIQUE IdEntity(1000,1), --UNIQUE 唯一标识符约束 IdEntity 自增
[Name] NVARCHAR(20) NOT NULL ,
[SEX] CHAR(2)
CHECK(SEX IN ('男','女')),
PRIMARY KEY(Id)
)
新增数据 (INSERT INTO )
-- 不指定列名, 按顺序新增
INSERT INTO [dbo].[Student] VALUES ('铁甲','男')
INSERT INTO [dbo].[Student] VALUES ('小宝','女')
--指定列名
INSERT INTO [dbo].[Student](Name,SEX) VALUES ('蝎子莱莱','男')
INSERT INTO [dbo].[Student](Name,SEX) VALUES ('蟑螂恶霸','女')
--执行结果
Id Name SEX
1000 铁甲 男
1001 小宝 女
1002 蝎子莱莱 男
1003 蟑螂恶霸 女
删除数据 (DELETE)
DELETE [dbo].[Student] WHERE Id='1000' --根据Id删除
DELETE [dbo].[Student] WHERE SEX='男' --根据内容删除
DELETE [dbo].[Student] WHERE Name LIKE'%小%' --根据模糊内容删除
DELETE [dbo].[Student] WHERE LEN(Name)<=2 --根据内容长短
DELETE [dbo].[Student] --删除全部, 唯一标识 Id 不会初始化。
TRUNCATE TABLE [dbo].[Student] --删除全部, 唯一标识 Id 初始化
修改数据 (UPDATE)
若不是修改/删除全部数据,写完UPDATE/DELETE后立马接上WHERE, 忘记写WHERE 就凉凉了
UPDATE [dbo].[Student] SET Name='铁甲甲' WHERE Name='铁甲' --将‘铁甲’ 修改为 ‘铁甲甲’
UPDATE [dbo].[Student] SET Name='卡布达' WHERE SEX='男' --将‘男’ 修改为 ‘卡布达’
--和‘蟑螂恶霸’一样的性别的人 把他们的名字都改为 ‘卡布达’
UPDATE [dbo].[Student] SET Name='卡布达' WHERE SEX=(SELECT SEX FROM [dbo].[Student] WHERE Name='蟑螂恶霸' )
查询数据
SELECT [Id],[Name],[SEX] FROM [dbo].[Student] WHERE Id='1000' --查询Id
SELECT [Id],[Name],[SEX] FROM [dbo].[Student] WHERE Id IN('1000','1002') --查询多个
SELECT [Id],[Name],[SEX] FROM [dbo].[Student] WHERE Name='小宝' --查询Name
SELECT [Id],[Name],[SEX] FROM [dbo].[Student] WHERE Name LIKE'%宝%' --模糊查询Name中带有‘宝’
SELECT [Id],[Name],[SEX] FROM [dbo].[Student] WHERE Name LIKE'小%' --模糊查询Name中‘小’ 开头的
--子查询 查询和‘蟑螂恶霸’ 一样性别的人
SELECT [Id],[Name],[SEX] FROM [dbo].[Student] WHERE SEX=(SELECT SEX FROM [dbo].[Student] WHERE Name='蟑螂恶霸' )
-- 如果 性别为男 则将 ‘男神’给 [DESC] 这个字段,女同上,不男不女 赋值‘未知’
SELECT
[Id],
[Name],
[SEX],
[DESC] = CASE WHEN [SEX]='男' THEN '男神'
WHEN [SEX]='女' THEN '女神'
ELSE '未知'
END
FROM [dbo].[Student]