




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、演示對表中的數(shù)據(jù)進(jìn)行讀寫管理的語法案例;1)插入:insert into 人員表(工號,姓名,性別) values ('gh007','周伯通','男')2)修改:update 人員表 set 姓名= '歐陽鋒' where 工號= 'gh001'3)刪除:delete from 人員表 where 工號= 'gh007'4)查詢:select * from 人員表 where 工號= 'gh001'6.sql向表中增加一個“列”的語法;【語法】alter table table-n
2、ame add column col type 【舉例】alter table 人員表 add 年齡 nvarchar(10) null【說明】增加的字段必須指定數(shù)據(jù)類型,如果是字符型的,必須指定長度。附:刪除列的語法:alter table 人員表 drop column 性別附:修改某列的數(shù)據(jù)類型的語法:alter table 工資表 alter column 工號 varchar(100)1.sql創(chuàng)建數(shù)據(jù)庫的語法;【語法】create database database-name【舉例】create database my_rsgl (創(chuàng)建:人事管理庫)【說明】本代碼用于創(chuàng)建數(shù)據(jù)庫,可
3、在“企業(yè)管理器”中執(zhí)行,也可以在“查詢分析器”中執(zhí)行,也可以在delphi等開發(fā)工具中執(zhí)行。以下將要講到的語法都有多種執(zhí)行方式,下文不再復(fù)述。2.sql刪除數(shù)據(jù)庫的語法;【語法】drop database database-name【舉例】drop database my_rsgl (刪除:人事管理庫)【說明】刪除數(shù)據(jù)庫之前,必須確認(rèn)數(shù)據(jù)庫是否真的要刪除,如果數(shù)據(jù)庫中還包含著重要的數(shù)據(jù),刪除之后就后悔莫及,所以不要隨意操作這個命令。3.sql備份、恢復(fù)數(shù)據(jù)庫的語法;a、怎樣備份?【語法】backup database database-name to disk=路徑【舉例】backup dat
4、abase my_rsgl to disk= 'f:back1.bak '【說明】備份數(shù)據(jù)庫時,除指定有效的硬盤路徑以外,注意還要取一個文件名。B、怎樣恢復(fù)?【語法】use master restore database database-name from disk=路徑 with replace【舉例】use master restore database my_rsgl from disk='f:back1.bak ' with replace【說明】恢復(fù)數(shù)據(jù)庫時,在后面加上:with replace,是表示按“完全恢復(fù)”的方式進(jìn)行恢復(fù)。4.sql創(chuàng)建表的
5、語法;【語法】create table tabname(col1 type1 not null primary key,col2 type2 not null,.)【舉例】create table 人員表 (工號 nvarchar (50) collate chinese_prc_ci_as null,姓名 nvarchar (50) collate chinese_prc_ci_as null,性別 nvarchar (2) collate chinese_prc_ci_as null) on primary【說明】代碼中,表名、字段名和數(shù)據(jù)類型都要寫在“”里面,如果字段的類型是字符型,都必
6、須在“()”里面指定長度。5.sql刪除表的語法;【語法】drop table table-name【舉例】drop table 人員表 (刪除:人員表)【說明】刪除表以及表中的全部數(shù)據(jù),注意在sql server里面,刪除表是真正的刪除,不是偽刪除。6.sql向表中增加一個“列”的語法;【語法】alter table table-name add column col type 【舉例】alter table 人員表 add 年齡 nvarchar(10) null【說明】增加的字段必須指定數(shù)據(jù)類型,如果是字符型的,必須指定長度。附:刪除列的語法:alter table 人員表 drop c
7、olumn 性別附:修改某列的數(shù)據(jù)類型的語法:alter table 工資表 alter column 工號 varchar(100)7.sql給表中的字段增加“主鍵”的語法;a、怎樣增加主鍵?【語法】alter table-name add primary key (col) 【舉例】alter table 人員表 add primary key (工號)【說明】不能在可以為“空”的字段上增加主鍵,否則會報錯。B、怎樣刪除主鍵?【語法】alter table-name drop 主鍵約束 【舉例】alter table 人員表 drop pk_人員表8.sql給表中的字段創(chuàng)建“索引”的語法;
8、【語法】create unique index idxname on tabname(col.) 【舉例】create unique index index_gh on 人員表(工號)【說明】跟字段創(chuàng)建索引后,可用于查詢語句中,提高檢索速度。9.sql刪除表中某個“索引”的語法;【語法】drop index idxname 【舉例】drop index 人員表.index_gh【說明】注意索引一旦建立后,不能修改,只能先刪除了重新建立。10.sql創(chuàng)建視圖的語法;【語法】create view viewname as select statement 【舉例】create view v_ryb
9、 as select * from 人員表【說明】不引用變量的查詢語句,都可以用代碼創(chuàng)建視圖。11.sql刪除視圖的語法;【語法】drop view viewname 【舉例】drop view v_ryb12.sql向表中插入數(shù)據(jù)的語法;【語法】insert into table1(field1,field2) values(value1,value2) 【舉例】insert into 人員表(工號,姓名,性別) values ('gh006','黃剛','男')【說明】只有給選定字段插入數(shù)據(jù)時,才需要在表名的后面用“()”來排列字段名。13.
10、sql修改表中某條數(shù)據(jù)的語法;【語法】update 表名 set field1=value1 where 范圍 【舉例】update 人員表 set 姓名= '洪七公' where 工號= 'gh001' 【說明】寫修改語句時,注意一般要指定where條件語句,否則就是對整個表的所有記錄作修改,可能產(chǎn)生預(yù)期之外的嚴(yán)重后果。14.sql刪除表中某條數(shù)據(jù)的語法;【語法】delete from 表名 where 范圍 【舉例】delete from 人員表 where 工號= 'gh002' 【說明】如果沒寫where條件語句,那么刪除的就是整個表的全
11、部記錄。15.sql查詢表中數(shù)據(jù)的語法;【語法】select * from 表名 where 范圍【舉例】查出全部字段:select * from 人員表 where 工號= 'gh001' 只查出指定字段:select 工號,姓名 from 人員表 where 工號= 'gh001'【說明】“*”是通配符,表示查出全部字段。16.sql排序、求總、求和、求平均、取最大、取最小的語法;a、排序【語法】select * from 表名 order by field1,field2 desc 【舉例】select * from 人員表 order by gh,xm
12、desc (降序)select * from 人員表 order by gh,xm asc (升序)b、求總【語法】select count as totalcount from 表名 【舉例】select count(*) as 記錄數(shù) from 人員表 c、求和【語法】select sum(字段) as sumvalue from 表名 【舉例】select sum(工資) as 工資合計 from 人員表d、求平均【語法】select avg(字段) as avgvalue from 表名【舉例】select avg(工資) as 平均工資 from 人員表e、取最大【語法】select
13、 max(字段) as maxvalue from 表名【舉例】select max(工資) as 最大工資 from 人員表f、取最小【語法】select min(字段) as minvalue from 表名【舉例】select min(工資) as 最小工資 from 人員表17.sql union運算符的用法;【作用】union 運算符通過組合其他兩個結(jié)果表(例如 table1 和 table2)并消去表中任何重復(fù)行而組合生出一個結(jié)果表。當(dāng) all 隨 union 一起使用時(即 union all),不消除重復(fù)行。兩種情況下,組合表的每一行不是來自 table1 就是來自 table
14、2。 【舉例】不消除重復(fù)行的寫法:select gh,xm,xb from 人員表1 union all select gh,xm,xb from 人員表2 消除重復(fù)行的寫法:select gh,xm,xb from 人員表1 union select gh,xm,xb from 人員表2【說明】用來組合的所有表的字段必須一致、或參與組合的表的字段必須一致。18.sql except運算符的用法;【作用】except 運算符通過包括所有在 table1 中但不在 table2 中的行、并消除所有重復(fù)行而派生出一個結(jié)果表。當(dāng) all 隨 except 一起使用時 (except all),不消除
15、重復(fù)行。 【舉例】select gh,xm,xb from 人員表1 except all select gh,xm,xb from 人員表2 【說明】本運算符在sql server 2000中不支持,sql server 2005版本及后續(xù)版中支持。19.sql intersect運算符的用法;【作用】intersect 運算符通過只包括 table1 和 table2 中都有的行、并消除所有重復(fù)行而派生出一個結(jié)果表。當(dāng) all 隨 intersect 一起使用時 (intersect all),不消除重復(fù)行。 【舉例】select gh,xm,xb from 人員表1 intersect
16、all select gh,xm,xb from 人員表2 【說明】本運算符在sql server 2000中不支持,sql server 2005版本及后續(xù)版中支持。20.sql left (outer) join 語法;【作用】左外連接(左連接):結(jié)果集既包括連接表的匹配行,也包括左連接表的所有行。 【舉例】假設(shè)有這樣兩個表:表一:-姓名 備注Aa 1111111Bb 2222222Cc 3333333表二:-姓名 年齡 性別Aa 22 男Tt 33 女Cc 44 男Gg 55 女對于左外連接:Select a.*,b.* From 表一 as a left join 表二 as bOn
17、a.姓名=b.姓名則查詢的結(jié)果為:-姓名 備注 年齡 性別Aa 1111111 22 男Bb 2222222 null null Cc 333333 44 男21.sql right(outer) join語法;【作用】右外連接(右連接):結(jié)果集既包括連接表的匹配連接行,也包括右連接表的所有行。 【舉例】假設(shè)有這樣兩個表:表一:-姓名 備注Aa 1111111Bb 2222222Cc 3333333表二:-姓名 年齡 性別Aa 22 男Tt 33 女Cc 44 男Gg 55 女對于右外連接:Select a.*,b.* From 表一 as a right join 表二 as bOn a.姓
18、名=b.姓名則查詢的結(jié)果為:-姓名 備注 年齡 性別Aa 1111111 22 男Tt null 33 女Cc 333333 44 男Gg null 55 女22.sql full/cross (outer) join語法;【作用】全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。 【舉例】select a.*,b.* From 表一 as a full outer join 表二 as bOn a.姓名=b.姓名23.sql group by分組的語法;【語法】select 字段,sum(字段) as 字段名 from 表名 group by 字段【舉例】select 月份
19、,sum(工資) as 月工資合計 from 人員表 group by 月份【說明】分組字段不能是:text,ntext,image類型的字段。24.sql分離數(shù)據(jù)庫的語法;【語法】exec sp_detach_db '數(shù)據(jù)庫名', 'true'【舉例】exec sp_detach_db '人事管理庫', 'true'25.sql附加數(shù)據(jù)庫的語法;【語法】exec sp_attach_db dbname='數(shù)據(jù)庫名',filename1=n'c:program filessql server路徑名+.mdf
20、',filename2=n'.填寫路徑.+.ldf'【舉例】例1:exec sp_attach_db dbname=n'人事管理庫'filename1=n'c:人事管理庫.mdf',filename2=n'c:人事管理庫.ldf'例2:exec sp_attach_db dbname=n'my_rsgl',filename1=n'c:program filesmicrosoft sql servermssqldatamy_rsgl.mdf',filename2=n'c:program
21、 filesmicrosoft sql servermssqldatamy_rsgl_log.ldf'26.sql修改數(shù)據(jù)庫名稱的語法;【語法】exec sp_renamedb 'old_name', 'new_name'【舉例】exec sp_renamedb '人事管理庫', '人員管理庫'【說明】注意此修改只是改變了數(shù)據(jù)庫的名稱,而不是它在硬盤上的文件名。27.sql between的用法;【作用】between限制查詢數(shù)據(jù)范圍時包括了邊界值,not between不包括【語法】select * from table
22、1 where time between time1 and time2select a,b,c from table1 where a not between 數(shù)值1 and 數(shù)值2【舉例】select * from 人員表where (日期 between '1997-12-01' and '2012-06-01')select * from 人員表where (年齡 not between 30 and 40)【說明】用來比較的字段要求是數(shù)值類型的字段或日期型字段。28.sql in的用法;【作用】查找“在”或“不在”指定范圍的數(shù)據(jù)。【語法】select
23、* from table1 where a not in ('值1','值2','值4','值6')【舉例】select * from 人員表 where (年齡 not in ('20', '30', '50', '60')select * from 人員表 where (年齡 in ('20', '30', '50', '60')【延伸】select * from 人員表 where 工號 in (s
24、elect 工號 from 工資表)select * from 人員表 where 工號 not in (select 工號 from 工資表)【說明】in語句的作用很大,但是用于比較的數(shù)據(jù)越多,得出結(jié)果的速度就越慢。29.sql top的用法;【作用】查找指定范圍的數(shù)據(jù)的前幾條,默認(rèn)從首條開始返回?!菊Z法】select top n * from table1 (n 表示條數(shù),用整數(shù))【舉例】select top 3 * from 人員表【延伸】select top 2 * from 人員表 where (性別 = '女')【說明】top語句適合用在提取少量數(shù)據(jù)用于顯示、或需要
25、提取指定條數(shù)的記錄。30.sql exists的用法;【作用】查找當(dāng)前表在別的表中“存在”或“不存在”的記錄?!菊Z法】select * from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )【舉例】select * from 人員表 where not exists ( select * from 工資表 where 人員表.工號=工資表.工號 )31.sql truncate table的用法;【作用】刪除表中的全部數(shù)據(jù),而且不寫日志。【語法】truncate table
26、table1 【舉例】truncate table 工資表【說明】這個命令與delete的作用相同,但delete要寫日志,而且delete 語句后面可以使用where條件語句。32.sql 收縮數(shù)據(jù)庫的語法;【語法】dbcc shrinkdatabase (database_name, target_percent) 【舉例】Dbcc shrinkdatabase (userdb, 10)go【說明】上面的代碼是將 userdb 用戶數(shù)據(jù)庫中的文件減小,以使 userdb 中的文件有 10% 的可用空間。33.sql檢查備份集的語法;【語法】restore verifyonly from d
27、isk=路徑 【舉例】restore verifyonly from disk='f:back1.bak'【說明】驗證備份但不還原備份。檢查備份集是否完整以及所有卷是否都可讀。但是,restore verifyonly 不嘗試驗證備份卷中的數(shù)據(jù)結(jié)構(gòu)。如果備份有效,則 microsoft sql server 2000 返回此消息:"備份集有效"。34.sql修復(fù)數(shù)據(jù)庫的語法;【語法】alter database database-name set single_usergodbcc checkdb(database-name,repair_allow_dat
28、a_loss) with tablockgoalter database database-name set multi_usergo【舉例】alter database 人事管理庫 set single_usergodbcc checkdb('人事管理庫',repair_allow_data_loss) with tablockgoalter database人事管理庫 set multi_usergo【說明】檢查指定數(shù)據(jù)庫中的所有對象的分配和結(jié)構(gòu)完整性、并修復(fù)錯誤,alter database 提供了更改數(shù)據(jù)庫名稱、文件組名稱以及數(shù)據(jù)文件和日志文件的邏輯名稱的能力。35.s
29、ql清除日志的寫法;【舉例】if exists (select * from sysobjects where id = object_id(n'dbo.truncate_log_file') and objectproperty(id, n'isprocedure') = 1)drop procedure dbo.truncate_log_filegoset quoted_identifier off set ansi_nulls on gocreate procedure truncate_log_file
30、asset nocount on declare logicalfilename sysname, maxminutes int, newsize int select logicalfilename = 'xxxx_log', - 這里的xxxx_log替換成泥自己數(shù)據(jù)庫的log名
31、; maxminutes = 10, newsize = 10 declare originalsize int select originalsize = size from sysfiles where name = logicalfilename declare counter int,
32、 starttime datetime, trunclog varchar(255)while originalsize*8/1024>newsizebegin create table dummytrans (dummycolumn char (8000) not null) select starttime = getdate(),
33、 trunclog = 'backup log '+ db_name() + ' with truncate_only' dbcc shrinkfile (logicalfilename, newsize) exec (trunclog) while maxminutes > datediff (mi, starttime, getdate()
34、60; and originalsize = (select size from sysfiles where name = logicalfilename) and (originalsize * 8 /1024) > newsize begin select counter = 0 while (counter < originalsize / 16
35、) and (counter < 5000) begin insert dummytrans values ('fill log') delete dummytrans select counter = counter + 1
36、160; end exec (trunclog) end select originalsize=size from sysfiles where name = logicalfilename drop table dummytransendset nocount offgoset quoted_identifier off
37、60;set ansi_nulls on go【說明】這段代碼包含著多種語法,在使用的時候把數(shù)據(jù)庫換成你要清除日志的數(shù)據(jù)庫,也就是說,這段代碼是通用的。36.sql循環(huán)語句的寫法;【舉例】declare i intset i=1while i<30begin insert into test (userid) values(i) set i=i+1end【說明】while 就是循環(huán)指令,sql的循環(huán)語句一般寫在存儲過程當(dāng)中;也可以在查詢分析器中直接執(zhí)行。37.sql比較a表和b表是否相等的寫法;【舉例】if (select checksum_agg(binary_checks
38、um(*) from a表) = (select checksum_agg(binary_checksum(*) from b表)print '相等'elseprint '不相等'【說明】兩個表的“記錄數(shù)”和“內(nèi)容”完全一致,才相等,內(nèi)容有不同則不相等。38.sql將本地表數(shù)據(jù)導(dǎo)入到遠(yuǎn)程表的寫法;【語法】insert opendatasource('sqloledb','data source=遠(yuǎn)程ip;user id=sa;password=密碼').庫名.dbo.表名 (列名1,列名2) select 列名1,列名2 from
39、 本地表名【舉例】insert opendatasource('sqloledb','Data source=;user id=sa;password=888').my_rsgl.dbo.人員表 (工號,姓名) select 工號,姓名 from 人員表39.sql將遠(yuǎn)程表數(shù)據(jù)導(dǎo)入到本地表的寫法;【舉例】exec sp_addlinkedserver server = ''exec sp_addlinkedsrvlogin rmtsrvname = '',usese
40、lf = false ,locallogin = 'sa',rmtuser = 'sa' ,rmtpassword ='sql'select * into xxx01 from .人事管理庫.dbo.人員表【說明】前面創(chuàng)建的鏈接服務(wù)器,如果不需要了,刪除的語法是:exec sp_dropserver '', 'droplogins'1.演示用代碼建立數(shù)據(jù)庫、表和字段的過程;【代碼】1)建數(shù)據(jù)庫:create database my_gzgl2)建數(shù)據(jù)表:create ta
41、ble 人員表 (工號 nvarchar (50) collate chinese_prc_ci_as null,姓名 nvarchar (50) collate chinese_prc_ci_as null,性別 nvarchar (2) collate chinese_prc_ci_as null) on primary2.演示用代碼建立視圖的過程;【代碼】create view v_ryb as select 工號,姓名 from 人員表3.演示用代碼建立存儲過程、觸發(fā)器的過程;【代碼】1)建存儲過程:create procedure myccgcgh nvarchar (100)as select * from 人員表 where 工號=gh2)建觸發(fā)器:create trigger write
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運動服裝生產(chǎn)中的快速響應(yīng)生產(chǎn)模式考核試卷
- 草原割草與草地碳氮平衡考核試卷
- 紙品加工技術(shù)考核試卷
- 實踐中遇到的嵌入式問題試題及答案
- 碳酸飲料配方設(shè)計考核試卷
- 數(shù)據(jù)庫性能監(jiān)控的關(guān)鍵指標(biāo)試題及答案
- 公路工程資本運作試題及答案
- 納米技術(shù)在印刷包裝中的應(yīng)用考核試卷
- 行政組織理論的統(tǒng)計分析方法及2025年試題及答案
- 嵌入式技術(shù)的改進(jìn)與趨勢試題及答案
- 眼球的結(jié)構(gòu)與功能
- 《社會主義制度在中國的確立》示范課教學(xué)設(shè)計【高中思想政治人教版必修1中國特色社會主義】
- 立方米臥式濃硫酸儲罐設(shè)計
- 三乙胺安全標(biāo)簽
- GB/T 4490-2021織物芯輸送帶寬度和長度
- GB/T 28650-2012公路防撞桶
- GB/T 17793-1999一般用途的加工銅及銅合金板帶材外形尺寸及允許偏差
- ICU常見檢查項目及課件
- 土地荒漠化的防治(公開課)課件
- MSA量測系統(tǒng)分析RMSA量測系統(tǒng)分析課件
- 中考備考應(yīng)對中考?xì)v史學(xué)科的復(fù)習(xí)策略和解題技巧課件
評論
0/150
提交評論