深圳做网站de公司免费网站模版
web/
2025/9/27 18:13:01/
文章来源:
深圳做网站de公司,免费网站模版,电脑培训班一般需要多少钱,芗城网站建设工作经常使用的SQL整理#xff0c;实战篇#xff08;一#xff09; 原文:工作经常使用的SQL整理#xff0c;实战篇#xff08;一#xff09;工作经常使用的SQL整理#xff0c;实战篇#xff0c;地址一览#xff1a; 工作经常使用的SQL整理#xff0c;实战篇#xff… 工作经常使用的SQL整理实战篇一 原文:工作经常使用的SQL整理实战篇一工作经常使用的SQL整理实战篇地址一览 工作经常使用的SQL整理实战篇一 工作经常使用的SQL整理实战篇二 工作经常使用的SQL整理实战篇三 目录概览 1.数据库 2.表 3.临时表 4.索引和约束 5.范式 6.增删改查 7.连接 8.分组和排序 9.通配符 10.视图 11.存储过程和事务 12.游标 13.触发器 14.作业 自己亲手编写的一些常用的SQL希望对大家有用喔废话不多说了直接入正题~ 1.数据库 创建数据库 use masterif exists(select * from sysdatabases where name OrderDB)drop database OrderDBcreate database OrderDBon(nameOrderDB_data,filename D:\DB\OrderDB_data.mdf,size10,filegrowth15%)log on(nameOrderDB_log,filenameD:\DB\OrderDB_log.ldf,size3,filegrowth10%) 删除数据库 drop database OrderDB 2.表 创建表 --用户表 if exists (select * from sysobjects where name Tse_User)drop table Tse_UserCreate table Tse_User(ID int identity(1,1),UserID int not null,UserName varchar(64) not null,RealName varchar(64) null,PRIMARY KEY (UserID)) --产品表if exists (select * from sysobjects where name Tse_Product)drop table Tse_ProductCreate table Tse_Product(ID INT IDENTITY(1,1),ProductID varchar(64) not null,ProductName varchar(256) not null,Price float not null,Storage int not null, --库存PRIMARY KEY(ProductID)) --订单表if exists (select * from sysobjects where name Tse_Order)drop table Tse_OrderCreate table Tse_Order(ID int identity(1,1),OrderID varchar(64) not null,UserID int not null,ProductID varchar(64) not null,Number int not null, --购买数量PostTime datetime not null,PRIMARY KEY(OrderID),FOREIGN KEY (UserID) REFERENCES Tse_User(UserID),FOREIGN KEY (ProductID) REFERENCES Tse_Product(ProductID)) 删除表 drop table Tse_User 清空表 truncate table Tse_User 清除表中所有数据下次插入编号从1开始 delete from Tse_User 清除表中所有数据但下次插入编号从原有编号1开始 3.临时表 生成临时表插入数据将员工姓名全部打印出来 use mastergocreate table #Employee(ID int identity(1,1),Name varchar(64) not null,primary key (ID))insert into #Employee(Name) values(zhangsan)insert into #Employee(Name) values(lisi)insert into #Employee(Name) values(wangwu)insert into #Employee(Name) values(tony)insert into #Employee(Name) values(mike)declare i int declare Name varchar(64)declare Count intdeclare Str nvarchar(4000)set i 0select Count COUNT(0) from #Employeewhile(i Count)beginset Str select top 1 Name Name from #Employee where id not in (select top STR(i) id from #Employee)exec sp_executesql Str ,NName varchar(64) output, Name outputselect Name, iset i i 1End 查看表结构及表附加属性 SP_HELP Tse_User 4.索引和约束 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序因此一个表只能包含一个聚集索引。但该索引可以包含多个列组合索引就像电话簿按姓氏和名字进行组织一样。 非聚集索引该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。一个表可以创建多个非聚集索引。 创建聚集索引 CREATE UNIQUE CLUSTERED INDEX [PK_Tse_ID] ON [dbo].[Tse_User] ( --唯一聚集索引 [ID] ASC )WITH (PAD_INDEX OFF, STATISTICS_NORECOMPUTE OFF, SORT_IN_TEMPDB OFF, IGNORE_DUP_KEY OFF, DROP_EXISTING OFF, ONLINE OFF,ALLOW_ROW_LOCKS ON, ALLOW_PAGE_LOCKS ON) ON [PRIMARY] GO 创建非聚集索引 CREATE UNIQUE NONCLUSTERED INDEX [IX_Tse_UserID] ON [dbo].[Tse_User] ( --唯一非聚集索引 [UserID] ASC )WITH (PAD_INDEX OFF, STATISTICS_NORECOMPUTE OFF, SORT_IN_TEMPDB OFF, IGNORE_DUP_KEY OFF, DROP_EXISTING OFF, ONLINE OFF, ALLOW_ROW_LOCKS ON, ALLOW_PAGE_LOCKS ON) ON [PRIMARY] GO 约束 alter table Tse_User add constraint CS_UserName check (len(Username) 3), constraint CS_Email check (charindex(, Email) 0) 5.范式 第一范式1NF 第一范式需满足两个条件 1每个数据行必须包含具有原子性即不可再分的值 2每个数据行必须包含一个独一无二的值即主键。 举例假如客户表中存在地址列如果经常需要按城市归类那么应该地址列拆分为省份城市县街道地址等列。 第二范式2NF 第二范式需要确保数据库表中的每一列都和主键相关而不能只与主键的某一部分相关主要针对联合主键而言。也就是说在一个数据库表中一个表中只能保存一种 数据不可以把多种数据保存在同一张数据库表中。 举例比如常用的选课表中以学号和课程号为联合主键不能将课程名学分等课程相关信息写入选课表因为他们只与主键的一部分课程号相关。 第三范式3NF 第三范式需要确保数据表中的每一列数据都和主键直接相关而不能间接相关。 举例订单表中以订单号为主键用户真实姓名和邮箱等信息与用户有关与订单没有直接关系因此用户真实姓名和邮箱等不能放到订单表中。 由于时间关系余下的几个问题在下一篇中讨论谢谢关注~下一篇地址为工作经常使用的SQL整理实战篇二 如果您有什么问题欢迎在下面评论我们一起讨论谢谢~ 如果您觉得还不错不妨点下右下方的推荐有您的鼓励我会继续努力的~ posted on 2014-03-08 14:41 NET未来之路 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lonelyxmas/p/3587892.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82901.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!