MS SQL Server 增删改查
Posted Wǒ々啊申々
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS SQL Server 增删改查相关的知识,希望对你有一定的参考价值。
数据插入
语法:INSERT INTO Table_name(field1,field2……fieldN) values(value1,vlaue2,…valueN)
单行插入用户类型
INSERT INTO userType(TypeName,TypeDescription) VALUES(\'管理员\',\'管理员\')
多行插入用户类型
INSERT INTO UserType(TYpeName,TypeDescription) VALUES(\'录入员\',\'数据录入员\'),(\'查询员\',\'只能做数据查询操作\')
插入用户信息
INSERT INTO UserInfo(userName,userLogin,USERPassword,UserEmail,UserType) VALUES
(\'张三\',\'zhangsan\',\'zhangsan\',\'zhangsan@qq.com\',1),
(\'李四\',\'lisi\',\'lisi\',\'lisi@qq.com\',2),
(\'王五\',\'wangwu\',\'wangwu\',\'wangwu@qq.com\',1),
(\'赵六\',\'zhaoliu\',\'zhaoliu\',\'zhaoliu@qq.com\',3),
(\'赵六\',\'zhaoliu\',\'zhaoliu\',\'zhaoliu@qq.com\',3)
数据删除
Drop Table table_name
Delete from Table_name [where 条件表达式]
Truncate Table table_name
删除张三用户信息
DELETE FROM UserInfo WHERE UserName=\'张三\'
删除用户全部数据
DELETE FROM UserInfo
清空用户数据表
truncate table userinfo
删除用户表
Drop Table UserInfo
Delete 和Truncate 的区别
Truncate 不能带有where 条件语句;
Truncate删除的数据不可以恢复;比delete速度快。
Delete删除的数据可以恢复;语句每次删除一行,并在事务日志中为所删除的每行记录。
Truncate Table:删除内容、释放空间但是不删除定义。
Delete Table:删除内容不删除定义,不释放空间。
Drop Table:删除内容和定义,释放空间。
特定条件的信息不需要了使用delete;如果表格所有数据都不需要了,使用Truncate;如果表本身也不需要了,直接使用Drop
修改
Update table_name set field1=new-value1,field2=new-value2 …[where 条件表达式]
修改语句可以同时更新一个或者多个字段。
使用where限定条件,大部分时间是需要限定的。
修改第二个名字叫赵六的用户信息
UPDATE userinfo SET UserLogin=\'zhaoliu1\',userPassWord=\'zhaoliu1\',userEmail=\'zhaoliu1@qq.com\' WHERE id=5
数据查询
语法:
Select column_name1,column_name2... from table_name [where 条件][group by 属性名 [having 条件表达式]] [order by 属性[ asc | desc ]] [limit<offset, row count>]
Sql查询语句中可以使用一个或者多个表进行查询,并且使用where语句设定查询条件,查询的结果为一个集合。
使用星号(*)可以代替其他所有字段。
Group by 语句:按照【属性名】指定的字段进行分组
Having :有group by 才能使用having 分组后的二次计算。
Order by:按照【属性名】对指定的字段进行排序”asc”升序 “desc” 降序;默认为asc
使用Limit属性来设置返回记录的条数,下标从0开始,类似于SQL Server 中的top。
查询示例:
-- 查询所有用户类型
SELECT * FROM userType
-- 查询所有用户信息
SELECT * FROM userInfo
-- 查询前两个用户信息
SELECT top 2 * FROM userInfo
-- 根据用户编号降序查询用户信息
SELECT * FROM userInfo ORDER BY ID DESC
-- 根据用户编号升序查询用户信息
SELECT * FROM userInfo ORDER BY ID
-- 查询姓【王】的用户信息
SELECT * FROM userInfo WHERE userName LIKE \'王%\'
-- 查询登录名中包含【a】的用户信息
SELECT * FROM UserInfo WHERE UserLogin LIKE \'%a%\'
-- 查询用户类型为管理员的用户信息
SELECT * FROM userInfo WHERE usertype IN(SELECT ID FROM UserType WHERE typename=\'管理员\' )
-- 查询每个用户类型的用户数量
SELECT (SELECT TypeName FROM UserType WHERE UserType.ID= UserInfo.UserType),COUNT(*) AS TypeNum FROM userInfo GROUP BY UserType
-- 查询用户信息中重名的名字
SELECT UserName FROM userInfo GROUP BY UserName HAVING COUNT(*) > 1
以上是关于MS SQL Server 增删改查的主要内容,如果未能解决你的问题,请参考以下文章