




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、應用程序作用:響應操作并顯示結果、向數(shù)據(jù)庫請求數(shù)據(jù)要求:美觀、操作簡單方便數(shù)據(jù)庫作用:存儲數(shù)據(jù)、檢索數(shù)據(jù)、生成新的數(shù)據(jù)要求:統(tǒng)一、安全、性能等數(shù)據(jù)庫能夠做什么存儲大量數(shù)據(jù),方便檢索和訪問保持數(shù)據(jù)信息的一致、完整共享和安全通過組合分析,產生新的有用信息關系數(shù)據(jù)庫關系數(shù)據(jù)庫是建立在關系模型基礎上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。關系模型由關系數(shù)據(jù)結構、關系操作集合、關系完整性約束三部分組成。關系模型就是指二維表格模型,因而一個關系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系組成的一個數(shù)據(jù)組織。關系模塊中常用的操作包括: 數(shù)據(jù)查詢,選擇,投影,連接,并、交、差、除 數(shù)據(jù)操作,增加,
2、刪除,修改,更新。完整性約束包括: 實體完整性,參照完整性,用戶定義完整性。創(chuàng)建數(shù)據(jù)庫表通過SQL創(chuàng)建基本語法:create table table_name(column_name1 data_type,column_name2 data_type,)表命名規(guī)范:1.表名對大小寫不敏感,為多個單詞組合時每個單詞間用_分割。2.首字母必須是AZ之一,其余的字符可以是字母、_、#、$和等符號。實例:創(chuàng)建一個student表,包括學號(sno)、姓名(sname)、性別(sex)、出生年月(birthday)、系號(dno) use studycreate table student (sno i
3、nt ,sname varchar(50),sex tinyint,birthday datetime,dno int)表的刪除語法格式: drop table table_name注意:這里表的刪除不僅刪除表內存儲的數(shù)據(jù),而是整個表結構都被刪除了,即該表不存在了。 查看表中的數(shù)據(jù)use my_studygoselect * from student增加新列語法格式:alter table table_nameadd column_name data_type注意事項: 也可以對列設置非空約束和缺省值。 除非指定缺省值,否則DBMS為已有行上的新列設null值。 如果表中已有記錄,為添加的新列
4、指定了not null約束,則必須同時提供缺省值。 刪除列語法格式:alter table table_namedrop column column_name注意事項:1.一次可以刪除多個列,在列名后用逗號分隔。2.在SQL SERVER中,那些賦予默認值的列、或者作為主鍵的列或者在另外表中標識為外鍵的列不能被刪除,要刪除這些列必須刪除相應的約束,而具有非空約束的列可以被刪除。 修改列在不破壞數(shù)據(jù)的情況下,SQL允許修改表中某列的結構,常用的修改操作包括字符長度限制的修改和非空約束的限制和取消語法格式:(SQL)alter table table_namealter column column
5、_name data_type語法格式:(mySQL)ALTER TABLE student CHANGE haha haha CHAR(30)SQL Server不僅允許改變列的數(shù)據(jù)長度,還允許改變其數(shù)據(jù)類型。但是當列為以下情況時,則不能改變其數(shù)據(jù)類型。l 是TEXT、IMAGE 、NTEXT類型l 是索引的一部分l 是primary key或者 foreign key的一部分l 具有缺省值約束l 具有check約束l 具有unique約束SQL中的庫函數(shù)與mySQL不一樣使用系統(tǒng)存儲過程可以查看表的結構,語法如下:sp_help table_nameSQL Server 允許使用sp_re
6、name關鍵詞可以修改表的名字而不改變其他信息語法格式:sp_rename table_name, new_table_namesp_rename關鍵詞不僅可以對表進行重命名,還可以對表中的列進行重命名。 實例:將my_student表中的sname列該名為student_namesp_rename 'my_student.sname' ,student_name,column數(shù)據(jù)插入操作插入單行記錄基本語法:insert into table_namecolumn1,column2,values (value1,value2,.)注意: 1.values中值的個數(shù)與表中字段的
7、個數(shù)相同,且順序必須與各字段的順序相對應。 2.如果表名table_name后面沒有指定列,則認為是整行插入。3.插入的數(shù)據(jù)類型應與被插入字段的數(shù)據(jù)類型相同。4.數(shù)據(jù)的大小應在規(guī)定的范圍內。給部分列插入數(shù)據(jù)insert into student(sname,sex) values('smm',0)沒有插入值的列將被填入空值給所有列插入數(shù)據(jù)insert into student values('smm','2008-9-21',0)這時不需要一一指定所有的列插入多行記錄語法格式:insert into table_name(column1,colu
8、mn2,)select column1,column2,from table_name2where search_condition注意事項:1.table_name和table_name2不能為同一個表。2.insert into 語句中列的數(shù)目和類型必須等于從select語句返回列的數(shù)目和類型。 實例,將student表中所有女學生的記錄插入到一個新表female_student(sno,sname,birthday)中。create table female_student (sno int not null,sname varchar(50),birthday datetime)ins
9、ert into female_student select sno,sname,birthday from student where sex = 0使用selectinto語句通過selectinto語句,直接將表中的數(shù)據(jù)復制到新表且該新表不需要預先創(chuàng)建。語法格式:select column1,column2,into new_tablefrom table_namewhere search_condition實例,將student表中所有男學生的記錄插入到一個新表male_student(sno,sname,birthday)中。select sno,sname,birthday int
10、o male_student from student where sex = 1使用 UPDATE 更改數(shù)據(jù) 基本語法update table_name set column1=value1, column2=value2,.where search_condition刪除表中的數(shù)據(jù)基本語法delete from table_namewhere search_condition注釋: 1. - 單行注釋2. /*/ 塊注釋簡單的查詢一、查詢的基本結構二、列的查詢三、排序查詢結果四、使用where子句定義搜索條件查詢SELECT語句的結構語法格式:select distinct column_
11、listfrom table_namewhere search_conditiongroup by group_by_expressionhaving search_conditionorder by order_expression ASC|DESC(distinct:消除重復行)執(zhí)行步驟:1.執(zhí)行from子句,根據(jù)from子句中的一個或者多個表創(chuàng)建工作表。如果在from子句中有兩個或多個表,DBMS將對表進行交叉連接,作為工作表。 2.如果有where子句,DBMS將WHERE子句列出的搜索條件作用于步驟(1)生成的工作表。DBMS將保留那些滿足搜索條件的行,刪除那些不滿足搜索條件的行。
12、3.如果有group by子句,DBMS將步驟2生成的結果表中的行分成多個組,每個組所有行的group_by_expression字段具有相同的值,DBMS將每組減少到單行,而后將其添加到新的結果表中。 4.如果有having子句,DBMS將having子句列出的搜索條件作用于3生成的“組合”表中的每一行。DBMS將保留那些滿足條件的行,刪除那些不滿足搜索條件的行。 5.將select子句作用于結果表。刪除結果表中不包含在select_list中的列,如果select子句中包含distinct關鍵字,DBMS將從結果中刪除重復的行。 6.如果有order by子句,按照指定的排序規(guī)則對結果進行
13、排序。7.對于交互式select語句,在屏幕上顯示結果,對于嵌入式sql,使用游標將結果傳遞到宿主程序中。 列的查詢單列查詢select columnfrom table_name多列查詢select column1,column2,columnnfrom table_name排序查詢結果單列排序多列排序反向排序單列排序語法規(guī)則:select column1,column2,from table_nameorder by column N多列排序語法規(guī)則:select column1,column2,from table_name_nameorder by column1,column2,co
14、lumnm逆序語法規(guī)則:select column1,column2,from table_name_nameorder by column1 desc,column2僅返回查詢結果的指定行使用top n percent 僅返回n行1. select top 5 * from teacher order by sal desc2. select top 20 percent * from teacher order by sal desc修改結果中列的標題(別名)1. select name as '姓名' from student2. select name '姓名&
15、#39; from student3. select '姓名'=name from studentwhere子句定義搜索條件查詢1.where子句單條件查詢2.單值比較運算符3.between運算符范圍篩選4.null值的判斷Where子句單條件查詢語法規(guī)則select columnfrom table_namewhere column condition value單值比較運算符運算符含義=等于>大于<小于>=大于或等于<=小于或等于<>不等于!非Between運算符在where子句中,可以采用between運算符在兩個值之間進行比較篩選。
16、比如,選擇范圍在5-10之間的數(shù)字。 Null值的判斷select tname, sal,age,sex from teacher Where sal is not null組合查詢條件AND運算符OR運算符AND、OR運算符的組合使用AND、OR運算符語法如下select columnfrom table_namewhere condition1or condition2AND、OR運算符的組合使用select tname,dname,sal from teacher where (dname='計算機' or dname='生物') and sal >
17、 1000注意事項:和大多數(shù)語言一樣,AND的優(yōu)先級要高于ORIN運算符和NOT運算符利用“IN”運算符可以查詢屬性值屬于指定集合的記錄。利用“NOT IN”可以查詢屬性值在指定集合外的元組 語法格式:select column_listfrom table_namewhere column_expressionin (value1,valuen)not運算符不能單獨使用,常和其他運算符聯(lián)合使用如,not in、not betweenand、not null等select tname,dname,age,sexfrom teacher where dname (not) in ('計算
18、機' ,'生物','機械工程')使用like進行模糊查詢Like關鍵字是一個匹配運算符,它與字符串表達式相匹配,用于查詢與給定的某些串相匹配的數(shù)據(jù),通常稱模糊查詢。字符串表達式由字符串和通配符組成,sql中包含以下4個通配符:1. %百分號,匹配任何包含0個或多個字符的字符串2. _下劃線,匹配任何單個字符3. 排列通配符,匹配任何在范圍或集合之內的單個字符,例如,m-p匹配的是m、n、o、p單個字符4. 匹配任何不在范圍或集合之內的單個字符注意:1. 通配符和字符串必須括在單引號中2. 只有char、varchar和text類型的數(shù)據(jù)才能使用like運
19、算符和通配符。Statement 接口提供了三種執(zhí)行 SQL 語句的方法:executeQuery、executeUpdate 和 execute。使用哪一個方法由 SQL 語句所產生的內容決定。 方法executeQuery 用于產生單個結果集的語句,例如 SELECT 語句。 被使用最多的執(zhí)行 SQL 語句的方法是 executeQuery。這個方法被用來執(zhí)行 SELECT 語句,它幾乎是使用最多的 SQL 語句。
20、; 方法executeUpdate 用于執(zhí)行 INSERT、UPDATE 或 DELETE 語句以及 SQL DDL(數(shù)據(jù)定義語言)語句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 語句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一個整數(shù),指示受影響的行數(shù)(即更新計數(shù))。對于 CREATE TABLE 或 DROP TABLE 等不操作行的語句,executeUpdate 的返回值
21、總為零。 使用executeUpdate方法是因為在 createTableCoffees 中的 SQL 語句是 DDL (數(shù)據(jù)定義語言)語句。創(chuàng)建表,改變表,刪除表都是 DDL 語句的例子,要用 executeUpdate 方法來執(zhí)行。你也可以從它的名字里看出,方法 executeUpdate 也被用于執(zhí)行更新表 SQL 語句。實際上,相對于創(chuàng)建表來說,executeUpdate 用于更新表的時間更多,因為表只需要創(chuàng)建一次,但經常被更新。 方法exe
22、cute: 用于執(zhí)行返回多個結果集、多個更新計數(shù)或二者組合的語句。因為多數(shù)程序員不會需要該高級功能 execute方法應該僅在語句能返回多個ResultSet對象、多個更新計數(shù)或ResultSet對象與更新計數(shù)的組合時使用。當執(zhí)行某個已存儲過程或動態(tài)執(zhí)行未知 SQL 字符串(即應用程序程序員在編譯時未知)時,有可能出現(xiàn)多個結果的情況,盡管這種情況很少見。 因為方法 execute
23、處理非常規(guī)情況,所以獲取其結果需要一些特殊處理并不足為怪。例如,假定已知某個過程返回兩個結果集,則在使用方法 execute 執(zhí)行該過程后,必須調用方法 getResultSet 獲得第一個結果集,然后調用適當?shù)?getXXX 方法獲取其中的值。要獲得第二個結果集,需要先調用 getMoreResults 方法,然后再調用 getResultSet 方法。如果已知某個過程返回兩個更新計數(shù),則首先調用方法 getUpdateCount,然后調用 getMoreResults,并再次調用 getUpdateCount。 對于不
24、知道返回內容,則情況更為復雜。如果結果是 ResultSet 對象,則方法 execute 返回 true;如果結果是 Java int,則返回 false。如果返回 int,則意味著結果是更新計數(shù)或執(zhí)行的語句是 DDL 命令。在調用方法 execute 之后要做的第一件事情是調用 getResultSet 或 getUpdateCount。調用方法 getResultSet 可以獲得兩個或多個 ResultSet 對象中第一個對象;或調用方法 getUpdateCount 可以獲得兩個或多個更新計數(shù)中第一個更新計數(shù)的內容。 當
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合同法全文
- 2025關于員工的合同模板
- 2025綜合技術維護服務合同
- 2025年智能家居服務合同模板
- 2025船舶抵押借款合同范本
- 2025家居用品采購合同范本
- 2025企業(yè)解除勞動合同協(xié)議樣本
- 2025【合同范本】LED顯示屏安裝合同示例
- 2025西安房屋租賃合同范本模板
- 2025短期用工合同協(xié)議書杰出示例
- 2025年裝維智企工程師(三級)復習模擬100題及答案
- 國家管網(wǎng)集團西南管道昆明輸油氣分公司突發(fā)環(huán)境事件綜合應急預案
- 2024國家能源集團新疆哈密能源化工有限公司社會招聘110人筆試參考題庫附帶答案詳解
- 糖尿病飲食與護理
- 2025年天津市河東區(qū)中考一模歷史試題(原卷版+解析版)
- 停送電培訓課件
- 醫(yī)院培訓課件:《核心制度-護理值班和交接班制度》
- 中考數(shù)學函數(shù)一次函數(shù)復習課件
- 山東省濟南市2023-2024學年高二下學期7月期末考試 數(shù)學 含解析
- 美學《形象設計》課件
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
評論
0/150
提交評論