SQL 實戰教程(八)

http://www.studyofnet.com/news/247.htmlhtml

1.修改字段爲自增sql

alter table [dbo].[Logs] drop column IDide

 alter table [dbo].[Logs] add Id int identity(1,1)函數

2.添加默認字段post

alter table EA ADD EAInvoiceType int NOT NULL Default 1url

alter table EA ADD TaxMoney float NOT NULL Default 0excel

 ALTER TABLE [dbo].[ProductCategorys]  ADD IsEnable  int default 0htm

通用式: alter table [表名] add [字段名] 字段屬性 default 缺省值 default 是可選參數 增長字段: alter table [表名] add 字段名 smallint default 0 增長數字字段,整型,缺省值爲0 alter table [表名] add 字段名 int default 0 增長數字字段,長整型,缺省值爲0 alter table [表名] add 字段名 single default 0 增長數字字段,單精度型,缺省值爲0 alter table [表名] add 字段名 double default 0 增長數字字段,雙精度型,缺省值爲0 alter table [表名] add 字段名 Tinyint default 0 增長數字字段,字節型,缺省值爲0blog

alter table [表名] add 字段名 text [null] 增長備註型字段,[null]可選參數 alter table [表名] add 字段名 memo [null] 增長備註型字段,[null]可選參數字符串

alter table [表名] add 字段名 varchar(N) [null] 增長變長文本型字段 大小 爲N(1~255) alter table [表名] add 字段名 char [null] 增長定長文本型字段 大小固定爲255

alter table [表名] add 字段名 Datetime default 函數 增長日期型字段,其中 函數 能夠是 now(),date()等,表示缺省值 (上面都是最經常使用的,還有其餘的屬性,能夠參考下面的數據類型描述)

刪除字段: alter table [表名] drop 字段名

修改變長文本型字段的大小:alter table [表名] alter 字段名 varchar(N)

刪除表: drop table [表名]

建立表: sql="CREATE TABLE [表名] ([字段1,並設置爲主鍵] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&_ "[字段2] varchar(50),"&_ "[字段3] single default 0,"&_ "[字段4] varchar(100) null,"&_ "[字段5] smallint default 0,"&_ "[字段6] int default 0,"&_ "[字段7] date default date(),"&_ "[字段8] int default 1)" conn.execute sql

有null 的表示字段容許零長

4.去重

select da.OpenId,cf.Code,da.orgNo,da.OrgName,da.ReallyName,da.telephone,da.Email,da.Province,da.City,da.CreateTime from (
select cu.Id,cr.OpenId,cu.orgNo,cu.OrgName,cu.ReallyName,cu.telephone,cu.Email,cu.Province,cu.City,cu.CreateTime from (
select DISTINCT(cp.OpenId),max(cp.CreateTime) as CTime from [dbo].[CouponCodeInfoes] co  left join [dbo].[CouponUsers] cp on co.[CouponUserId]=cp.Id
where cp.CreateTime>'2016-09-30'  group by cp.OpenId ) cr left join [dbo].[CouponUsers] cu on cr.CTime=cu.CreateTime and cr.OpenId=cu.OpenId
) da left join [dbo].[CouponCodeInfoes]  cf on da.Id=cf.[CouponUserId]

去重2

select  wx.OpenId, wx.[PrizeType],wx.Note,wx.payStatus,tr.orgNo,tr.OrgName,tr.ReallyName,tr.telephone,tr.Email,tr.Province,tr.City,wx.CreateTime from  [dbo].[WxUserPrizes] wx left  join
(
select cr.OpenId,cr.CuTime,cu.orgNo,cu.OrgName,cu.ReallyName,cu.telephone,cu.Email,cu.Province,cu.City,cu.CreateTime from (
select OpenId,max(Createtime) as CuTime from [dbo].[CouponUsers] group by OpenId
) cr left join [dbo].[CouponUsers] cu on cr.OpenId=cu.OpenId and cr.CuTime=cu.CreateTime
)  tr  on wx.OpenId=tr.OpenId where wx.[PrizeType]=2 order by wx.CreateTime

一對多,左查詢

 select Project.ProjectID,max(Invoice.CreateTime) as  InvoiceTime from Project ,Invoice
 where Project.ProjectID=Invoice.ProjectID group by Project.ProjectID

5.Incorrect syntax near the keyword 'user'.

SQL 查詢特殊字字符串:

UPDATE   [dbo].[APIKeys]  SET  [Key]='AC20C39A-7AEB-4354-A7A9-15D102043855' 

6.GDI+中發生通常性錯誤的解決辦法

1. 相應的賬戶沒有寫權限。
解決方法:賦予 NETWORK SERVICE 賬戶以寫權限。
2. 指定的物理路徑不存在。
解決方法:
在調用 Save 方法以前,先判斷目錄是否存在,若不存在,則建立。
if (!Directory.Exists(dirpath))
Directory.CreateDirectory(dirpath);
3. 保存的文件已存在並因某種緣由被鎖定

刪除指定列:

 alter table [dbo].[RequestUsers] drop column AgreeContent

添加列


alter table [dbo].[CreditDetails] add CreditTypeID  uniqueidentifier default '4F5E5643-4649-4D25-8B6A-F644A76B4291' not null

4.分組處理


select  JudgeUserId,sum(Distinct(StepGroupNum)) as count from [dbo].[RaceStepJudges] group by  JudgeUserId,StepGroupNum

select JudgeUserId,count(JudgeUserId) as ct from (
select  JudgeUserId,StepGroupNum as GPCount from [dbo].[RaceStepJudges]  where RaceStepConfigId='3AFF201F-A07A-4E83-BD21-408DC7FF9687' group by  JudgeUserId,StepGroupNum
) stInfo  group by  JudgeUserId

5.select  導出字段分割

select substring(id,1,3) +','+substring(id,4,3) as id from test

SELECT Address, PARSENAME(REPLACE([Address],'-','.'),4) as 小區名,
--若是字段的內容是 4單元-12幢-203 那麼此時小區名字段的信息就是NULL
PARSENAME(REPLACE([Address],'-','.'),3) as 單元號,
PARSENAME(REPLACE([Address],'-','.'),2) as 樓房號,
PARSENAME(REPLACE([Address],'-','.'),1) as 房間號
FROM Person

利用excel 間隔符號導出數據源

相關文章
相關標籤/搜索