博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MS SQL Server 增删改查
阅读量:5129 次
发布时间:2019-06-13

本文共 2462 字,大约阅读时间需要 8 分钟。

数据插入

语法: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

 

转载于:https://www.cnblogs.com/zhaochengshen/p/5612289.html

你可能感兴趣的文章
sql语句判断两个时间段是否有交集
查看>>
秒杀、抢购解决方案
查看>>
利用Mrjob实现Weighted Slope One算法
查看>>
jmeter旅程第二站:jmeter登录接口测试
查看>>
.Net Core 商城微服务项目系列(六):搭建自己的Nuget包服务器
查看>>
HTML
查看>>
java 多线程
查看>>
细说mysql索引
查看>>
WINCE6.0+IMX515通过cfimager.exe烧录镜像文件
查看>>
centos7下部署Django(nginx+uwsgi+python3+django)
查看>>
集算器协助java处理结构化文本之对齐连接
查看>>
django环境部署-nginx环境
查看>>
android 網易云閱讀 書架的實現
查看>>
PHP Markdown 解析器Parsedown
查看>>
webpack升级4记录
查看>>
【计算机视觉】图像处理与计算机视觉基础,经典以及最近发展
查看>>
【QT开发】QT在windows下的exe应用程序如何在别人的电脑上直接运行
查看>>
加快sqlite的读写
查看>>
listen的参数backlog的意义
查看>>
xcode6 下 ios simulator 有 Home 键么?
查看>>