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

首頁 > 開發(fā) > 綜合 > 正文

SQL語言筆記

2024-07-21 02:46:39
字體:
供稿:網(wǎng)友
SQL語言筆記

字符串用單引號',判斷用單等號=,兩個單引號''轉(zhuǎn)義為一個單引號'

不等號是<>不區(qū)分大小寫[]括起來的要不是關(guān)鍵字,要不是非法變量,比如空格隔起來的變量創(chuàng)建與刪除數(shù)據(jù)庫
  1.  1 --創(chuàng)建數(shù)據(jù)庫  2 create database School; 3 --刪除數(shù)據(jù)庫 4 drop database School; 5 --創(chuàng)建數(shù)據(jù)庫的時候指定一些選項 6 create database School; 7 on PRimary--配置主數(shù)據(jù)文件 8 ( 9   name='School',--邏輯名稱,數(shù)據(jù)庫內(nèi)部用的名字10   filename='',--保存路徑11   size=5MB,--設(shè)置初始化大小12   filegrowth=10MB或10%,--設(shè)置增長速度13   maxsize=100MB--設(shè)置最大大小14 )15 log on--配置主日志文件16 (17   name='',--設(shè)置邏輯名稱18   filename='',--設(shè)置路徑19   size=3MB,20   filegrowth=3%,21   maxsize=20MB22 )

創(chuàng)建表
  1.  1 --每個項設(shè)置后面都加逗號 最后一項不加 2 --切換數(shù)據(jù)庫 3 use School; 4 --在School數(shù)據(jù)庫中創(chuàng)建一個學(xué)生表 5 create table TblStudent 6 ( 7  --表中的定義在這對的小括號中 8  --開始創(chuàng)建列 9  --列名 數(shù)據(jù)類型 自動編號(從幾開始,增長步長) 是否為空(不寫默認(rèn)允許,或者寫null 不允許空寫 not null)10  --tsid int identity(1,1) not null11    --設(shè)置名為tsid 類型為int 從1開始增長,每次增長1的主鍵列12  tsid int identity(1,1) primary key,13 )

插入數(shù)據(jù)
  1.  1 --查詢表 2 select * from TblClass 3 --insert向表插入數(shù)據(jù)(一次只能插一條) 4 insert into TblClass(tclassName,tclassDesc) values('tclassName的值','tclassDesc的值') 5 --TblClass后面的括號設(shè)置在哪些列插入數(shù)據(jù),value后面的括號要與前面的一一對應(yīng).如果要給除自動編號的所有列插入數(shù)據(jù),TblClass后面的括號可省 6   --插入同時返回指定列的數(shù)據(jù):在value前加上output inserted.列名 7  8  9 --向自動編號列插入數(shù)據(jù)10   --先把一個選項打開 倒數(shù)第二個是列名11   set IDENTITY_INSERT tblclass on12   insert........13 --最后記得把選項關(guān)掉14 --聽過一條語句插入多條數(shù)據(jù)15 insert into TblClass(tclassName,tclassDesc)16 select '...','...' union17 select '...','...' union18 select '...','...' union19 select '...','...' --最后一項不用union20 --把一個表的書數(shù)據(jù)插入另一個表21 insert into 被插表(列名,列名)22 select 列名,列名 from 數(shù)據(jù)來源表23 --插入漢字記得在字符串前加入N

更新數(shù)據(jù)
  1. 1 update 表名 set 列名=值,列名2=值2 where  條件 and..or...2 --如果沒有條件,所有數(shù)據(jù)都會更新

刪除數(shù)據(jù)
  1.  1 --刪除 2 delete from 表名 where 條件 3 --刪除整表數(shù)!據(jù)!與drop不同,兩種 4  --1,delete from 表名 5   --速度慢 6   --自動編號依然保留當(dāng)前已經(jīng)增長的位置 7   delete from 表名 8  --2,truncate table 表名 9   --速度快10   --自動編號重置11   truncate table 表名

修改表設(shè)置
  1.  1  --修該列 2 --刪除指定列 3 alter table 表名 drop column 列名 4 --增加指定列 5 alter table 表名 add 列名(這里跟創(chuàng)建表一樣) 6   7 --修改指定列 8 alter table 表名 alter column 列名 9   --增加約束10 --給指定列添加主鍵約束11 alter table 表名 add constraint 約束名 primary key(列名)12 --給指定列添加非空約束13 alter table 表名 alter column 列名 數(shù)據(jù)類型 not null14 --給指定列添加唯一約束15 alter table 表名 add constrainy UQ開頭的約束名 unique(列名)16 --給指定列添加默認(rèn)約束17 alter table 表名 add constraint 約束名 default(值) for 列名18 --給指定列添加檢查約束19 alter table 表名 add constraint 約束名 check(表達(dá)式) 20 --增加外鍵約束21 alter table 表名 add constraint FK_約束名 foreign key(外鍵列名)references 主鍵表名(列名)22  23 --刪除多個約束24  alter table 表名 drop constraint 約束名,...,...25  26 --創(chuàng)建多個約束27 alter table 表名 add28 constraint 約束名 unique(列名),29 constraint 約束名 check(表達(dá)式),30 constraint 約束名 foreign key(要引用列)31 references 被引用表(列) 32 on delete cascade on update cascade --設(shè)置級聯(lián)刪除和更新

查詢數(shù)據(jù)(select,top,distinct)
  1. 1 --數(shù)據(jù)檢索,查詢指定列的數(shù)據(jù),不加where返回所有2 select 列名,列名,... from 表名 where 條件3 --用select顯示東西,列名可省略,列名可以不''起來,除非名字有特殊符號4 select 值 (空格或者as) 列名5 --top獲得前幾條數(shù)據(jù),選到的都是向上取整6 select top (數(shù)字或數(shù)字 percent) * from 表名 order by 列名 (asc//升序,默認(rèn)值 desc//降序)7 --Distinct去除查詢出的重復(fù)數(shù)據(jù),只要有一點不同(顯示出來的列的內(nèi)容不同)不算重復(fù),比如自動增長的那列8 select distinct 要顯示的列 from 表名 ...

聯(lián)合查詢(union,union all)
  1. 合并行叫做"聯(lián)合"
  2. 聯(lián)合必須保證每行的數(shù)據(jù)數(shù)目與第一行一致,數(shù)據(jù)類型兼容
  3. 列名為第一行的列名
  4. union all 在聯(lián)合時不會去除重復(fù)數(shù)據(jù),也不自動排序
  5. 不能分別排序
  6. 常用:底部總和
  7. 例:
  8. select
  9. 商品名稱,
  10. 銷售總價格=(sum(銷售數(shù)量*銷售價格))
  11. fromMyOrders
  12. groupby商品名稱
  13. union all
  14. select'銷售總價:',sum(銷售數(shù)量*銷售價格)fromMyOrders
連接查詢(join....on...)A表 join B表 on 兩表關(guān)系 例:
  1. 1 select*from TblClass2     jion tblstudent on TblClass.tClassId=TblStudent.tSClassId3   --查詢出兩個表符合TblClass.tClassId=TblStudent.tSClassId的數(shù)據(jù)行,并顯示其所有數(shù)據(jù)

連接分為內(nèi)連接和外連接 內(nèi)連接: 1,普通內(nèi)連接 inner join.. on.. 僅篩選兩個表都有匹配的數(shù)據(jù),例如:
  1. 1  select*from TblClass2     jion tblstudent on TblClass.tClassId=TblStudent.tSClassId

//這里先把兩個表的數(shù)據(jù)拿出,把TblClass.tClassId,與TblStudent.tSClassId相同的那 行構(gòu)成新的行, //進(jìn)一步構(gòu)成新的表,如果TblClass.tClassId有個值為3,而TblStudent.tSClassId沒有,那么新的表不會有這行數(shù)據(jù),另外這個表是臨時存在于內(nèi)存
  1. 1 select * from TestJoin1Emp emp inner join TestJoin2Dept dept on emp.EmpDeptid=dept.DeptId2 --兩者等效3 select * from TestJoin1Emp emp , TestJoin2Dept dept 4 --假設(shè)emp與dept,行數(shù)分別是3,5.select * from 這兩個表,實際會形成3*5=15行的臨時表5 --再在這個表中篩選,而這個表叫做笛卡爾表6 where7 emp.EmpDeptid=dept.DeptId

自連接 特點:關(guān)系列的值引用的本表中主鍵列信息 例子:
  1.  1 create table groups 2 ( 3     gid int identity(1,1) primary key not null, 4     gname nvarchar(10), 5     gparent int 6 ) 7 select * from groups 8 insert into groups values('總部',0) 9 insert into groups values('北京分公司',1)10 insert into groups values('上海分公司',1)11 insert into groups values('.net部門',2)12 insert into groups values('.net部門',3)13 --查詢部門對應(yīng)的上級部門14 use Temp15 select deparment.gname as '部門名稱',comp
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西平县| 宝坻区| 昆山市| 平安县| 华安县| 红原县| 阜新| 新邵县| 八宿县| 北流市| 开鲁县| 临沭县| 汉源县| 南陵县| 焦作市| 黔西| 临泽县| 观塘区| 商洛市| 车致| 平定县| 唐海县| 马关县| 兴宁市| 南和县| 深圳市| 南澳县| 太白县| 慈溪市| 台前县| 德庆县| 理塘县| 临安市| 佳木斯市| 新源县| 孟连| 同德县| 股票| 新竹市| 屏南县| 咸阳市|