国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

sqlServer 基礎知識

2024-07-21 02:50:56
字體:
來源:轉載
供稿:網友
sqlServer 基礎知識

sqlServer 基礎知識

大綱

創建數據庫 1

創建表 2

備份表 3

刪除表 4

修改表 5

查詢出重復的數據 6

增刪改查 7

添加約束 8

分頁存儲過程 9

排序 10

類型轉換 11

表連接 12

事務 13

獲取數據庫信息 14

sql函數 15

  1 use Books  2 --------------------------------------------------------------------------------------------------------------------創建數據庫 1  3 create database BookShop  4 on  5 (  6 name='BookShop.mdf',  7 filename='E:/Data/BookShop.mdf',  8 size=10mb,  9 maxsize=1024MB, 10 filegrowth =10% 11 ) 12 log on 13 ( 14 name='BookShop_log.ldf', 15 filename='E:/Data/BookShop_log.ldf' 16 ) 17 use bookshop 18 go 19 ------------------------------------------------------------------------------------------------------------------------創建表 2 20 ----------一一個主鍵 21 create table Users  22 ( 23 Id int identity(1,1) PRimary key(Id), 24 UName nvarchar(50) not null, 25 UPwd varchar(50) not null, 26 UDelFlag int not null, 27  28 ) 29 go 30  31 --------------組合主鍵 32 create table Users1  33 ( 34 UName nvarchar(50) not null, 35 UName1 nvarchar(50) not null, 36 primary key(UName,UName1), 37 UPwd varchar(50) not null, 38 UDelFlag int not null, 39  40 ) 41 go 42 ------------------------------------------------------------------------------------------------------------------------備份表 3 43 --------新表不存在,在復制的時候,自動創建新表 44 select * into newStudent from student; 45 --------新表存在,在復制之前,表必須建好 46 insert into newStudent select * from student; 47 --------復制表結構 48 select top 0,* into newstudnet  form student; --效率比下面效率高,優先使用 49 select * into newstudnet  form student where 1<>1;-效率低 50 ------------------------------------------------------------------------------------------------------------------------刪除表 4 51  52 --刪除表中的所有數據,表還在,主鍵自增不變 53 delete from Users; 54 --刪除表,表不存在 55 drop table Users; 56 --刪除表中所有數據,主鍵自增重置默認值,不觸發delete觸發器,速度快 57 truncate table Users; 58 ------------------------------------------------------------------------------------------------------------------------修改表 5 59 -------------------------手動(增刪)一列,及修改數據類型  60 --增加一列 61 alter table Users add  URegistTime datetime; 62 --刪除一列 63 alter table Users drop column URegistTme; 64 --修改某列的數據類型 65 alter table Users alter column URegistTime datetime; 66  67 --------------------------------------------------------------------------------------------------------------查詢出重復的數據 6 68 select Name from Users group by Name having count(Name) > 1; 69 --------------------------------------------刪除重復數據,保留一條,某個字段數據重復 70 --刪除主鍵小的,保留大的 71 delete from Grade  72 where grade in 73 (select Grade, from Grade group by Grade having count(*)>1) and id 74 not in (select min(Id) from Grade group by Grade having count(Grade)>1) 75 --備份表的方式,刪除重復數據,保留重復數據的一條,這是指的記錄重復,而不是僅僅某個字段重復 76 select distinct * into Users1 from Users 77 drop table Users 78 ----------------------------------------------------------------------------------------------------------------------增刪改查 7 79 --插入 80 insert into Users( UName, UPwd,UDelFlag) values( '李四','lisi',0) 81 ----------一次插入多條數據 82 insert into Score( Name, Score) 83 select '6',110 union all 84 select '7',120 Union all 85 select'8',130 Union all 86 select '9',140Union all  87 select '10',150 88 --刪除 89 delete from  Users where Id=2 90 --修改 91 update Users set UName='張三' where Id=1 92 -----------------------------------------------------------查詢 93 select * from users--簡單查詢 94 ----------------------------------------縱表轉橫表查詢 95 select Name 96 ,sum(case Course when '語文' then Score else 0 end) as 語文 97 ,sum(case Course when '數學' then Score else 0 end) as 數學 98 ,sum(case Course when '英語' then Score else 0 end) as 英語  99 from Test group by Name100 101 ----------------------------------------橫表轉縱表查詢102 select Name as 姓名,'語文' as 科目,Chineses as 分數 from Test1 union all103 select Name as 姓名,'數學' as 科目,Math as 分數 from Test1 union all 104 select Name as 姓名,'英語' as 科目,English as 分數 from Test1105 go106 ---------------------分頁查詢107 select top 2 * from Users  where Id not in (select top (2 * 3) Id from Users order by Id) order by Id 108 109 go110 111 ---------------------------------子查詢112 113 --獨立子查詢,切記:子查詢的結果只能是一個值114 --一個表115 select * from Score where Name=(select Name from Score where Score=80 )116 select * from Score where Name in(select Name from Score where Score=80 )117 select * from Score where Name not in(select Name from Score where Score=80 )118 --兩個表119 select * from Score where Name in (select Name from Grade where name='2' or Name='3')120 select * from Score where Name not in (select Name from Grade where name='2' or Name='3')121 --相關子查詢122 select * from Score as s   where  exists(select Name from Grade as g where s.Name=g.Name and  g.Name='2')123 select * from Score as s   where not  exists(select Name from Grade as g where s.Name=g.Name and  g.Name='2')124 125 --------------------帶條件查詢126 --between and   已優化,效率高,優先使用; id>2 and id<4127 select * from UserInfo where Id between 2 and 4128 --in ;id=1 or id=2 or id=3129 select * from UserInfo where Id in(1,2,3)130 --------------------模糊查詢(主要針對字符串操作)131 --通配符:_    、   %   、  []   、  ^132 --like  , not like133 --只能匹配一個任意字符134 select * from UserInfo where UName like '張_王';135 --匹配單個字符王字的,只有一個字符136 select * from UserInfo where UName like '王';137 --匹配后面以王字結尾的138 select * from UserInfo where UName like '%王';139 --匹配前面以王字開頭的140 select * from UserInfo where UName like '王%';141 --匹配包含王字的142 select * from UserInfo where UName like '%王%';143 --只能匹配一個字符 ,必須是:a-z,0-9144 select * from UserInfo where UName like '[王]';145 --不像146 select * from UserInfo where UName like  '[^張]';147 148 149 ----------------------------------------------------------------------------------------------------------------------添加約束 8150 151 --主鍵約束(一個主鍵)152 alter table Users add  constraint PK_Users primary key(Id);153 154 --主鍵約束(組合主鍵)155 alter table Users add  constraint PK_Users primary key(UName,UName1);156 157 --外鍵約束158 alter table Users add  constraint FK_Users foreign key(UsersInfoId) references UsersInfo(UsersInfoId);159 --非空約束160 alter table Users  alter column UPwd varchar(50) not null ;161 --唯一約束162 alter table Users add  constraint UQ_Users unique(UName);163 --默認約束164  alter table Users add  constraint DK_Users default(getdate()) for UTime;--時間默認值165  alter table Users add  constraint DK_Users default(0) for age;--年齡默認值166 167 ------------------------------------------------------------------------------------------------------------------分頁存儲過程 9168  create procedure usp_GetPage169 --當前頁碼170 @pageIndex int,171 --每頁條數172 @pageSize int,173 --總頁碼數174 @pageCount int output175 as176 begin177 set @pageCount=(ceiling((select count(*) from Users)*1.0/@pageSize));178 select * from179 (select ROW_NUMBER() over(order by Id asc) as num,* from Users)as u180 where u.num181 between182 @pageSize*(@pageIndex-1)+1183 and184 @pageSize*@pageIndex185 end186 declare @count int 187 exec usp_GetPage 11,10,@count output188 189 -------------------------------------------------------------------------------------------------------------------------排序 10190 --order by 子句位于SELECT語句的末尾,帶where的放在where的后面,默認是asc排序,  191 --可以根據多個列排序,前提是,第一個列都一樣時,則會以第二個列排序192 select * from UserInfo  order by Age desc193 --帶where194 select * from UserInfo where age<20  order by Age desc195 --沒有出現在GROUP BY子句中的列是不能放到SELECT語句后的列名列表中的 (聚合函數中除外)196 select UName from UserInfo group by UName197 --having 相當于where 對分組后,但賽選的列必須是分組的列,才能進行賽選,必須放在 group by  后面198 select UName from UserInfo group by UName having UName='張三'199 200 ---------------------------------------------------------------------------------------------------------------------類型轉換 11201 --cast 類型轉換202 select cast('張三' as varchar);203 --轉換成int,然后可以進行運算204 select cast(
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤山市| 河间市| 和顺县| 临桂县| 化州市| 沂南县| 交口县| 宜阳县| 盘山县| 孟津县| 淳安县| 康乐县| 阜城县| 安岳县| 巨鹿县| 张北县| 革吉县| 福贡县| 开化县| 古蔺县| 亳州市| 江山市| 义马市| 井研县| 开江县| 南岸区| 榆树市| 瓦房店市| 十堰市| 涟水县| 浮山县| 玉门市| 平凉市| 科尔| 六盘水市| 太仆寺旗| 湖南省| 镶黄旗| 陵水| 泰安市| 苍南县|