第一篇:SQL基礎數據庫語法
一、表空間操作
1.創建表空間
Create tablespace xxx(表名)Datafile ’x:xxxxxx.dbf(文件地址)’ Size 10m(文件大小)autoexdend on;2.刪除表空間
Droptablespacexxx(表空間名); 刪除表空間及文件
Drop tablespace xxx including contents and datafiles;
二、用戶操作
1.創建用戶
Create user xxx(用戶名)identified by xxx(密碼)Default tablespace xxx(表名);2.刪除用戶
Drop user xxx(用戶名)cascade;3.授予權限
Grantconnect,resource(權限)to xxx(用戶名);Grant dba(最高權限)to xxx(用戶名);Grant select on scott.emp to xxx(用戶名);Grant update on scott.emp to xxx(用戶名);撤銷權限
Revoke connect,resource(權限)fromxxx(用戶名);4.用戶登錄
Connxxx(用戶名)/xxx(密碼)@xxx(表空間名);
三、表數據操作
1.創建表結構語法
1)創建表結構
CREATE TABLE student(stu_no CHAR(4)PRIMARY KEY NOT NULL,--學號,主鍵,非空
stu_name VARCHAR2(30)NOT NULL,--姓名,非空
stu_id VARCHAR2(18),--身份證號,代表18位整數
stu_gid Number(10),--年級
stu_age NUMBER(3,0)--年齡);2)復制表結構
利用現有表創建新表,select 后邊有多少字段,新表將有多少個字段,主鍵不會被創建
CREATE TABLE stu_info AS SELECT stu_no,stu_age FROM student;3)修改表結構
修改student表,添加stu_seat(座號)和stu_Address(住址)兩個列
ALTER TABLE student ADD(stu_seat NUMERIC(2,0),stu_address VARCHAR2(20));修改student表的列的定義 ALTER TABLE student modify(stu_name VARCHAR2(50), stu_address VARCHAR2(100));刪除student表中stu_ address和stu_seat列 ALTER TABLE student drop(stu_address, stu_seat);修改student表列名
Alter table student rename column stu_no TO rempno;
4)刪除表結構
刪除student表結構及數據 這種刪除的情況,可以恢復; Drop table student;只刪除表數據,每條刪除的記錄不寫日志,省資源,效律比delete高
但是,絕對情況下都不使用truncate刪除表,因為不可以恢復。Truncate table student;5)添加注釋
Comment on table student is '學生表';Comment on column student.name is '名稱';2.插入表數據
往student表插入數據 Insert into
student(stu_no,stu_name,stu_id,stu_gid,stu_age)values('a001','張大','44***92111',10,19);insert into student(stu_no,stu_name,stu_id,stu_gid,stu_age)values('a002','張二','44***92112',10,20);insert into
student(stu_no,stu_name,stu_id,stu_gid,stu_age)values('a003','張三','44***92113',10,20);commit;最后的commit提交數據到數據庫,否則只是在緩存插入了表數據。
3.刪除表數據
根據條件刪除表數據
Delete from student where stu_no='a004';請空表,不寫日志,省資源,效律高,屬于數據定義語言 Truncate table student;4.修改表數據
修改學號為‘a002’學員的名字為‘李二’
Update student set(列)stu_name='李二' where stu_no='a002';所有學員的年齡都加1 Update student set(列)stu_age=stu_age+1;5.查詢表數據
order bygroup bywherehavinglikein 等子查詢方法 1)distinct去重復查詢
查詢(結果)無重復數據行,distinct關鍵字使用:
查詢結果包括學員名字和年齡,如果存在學員名字和年齡都一樣的多條記錄將只返回一條
-->Select distinctstu_name,stu_age from student;2)Order by結果排序
Order by 語法默認是升序,加desc語法表示降序。E:工的姓名按首字母排序,并寫出姓名的長度(length)。select last_name,length(last_name)from employees order by last_name;降序:
Select last_name,length(last_name)from employees order by last_name desc;
第二篇:SQL數據庫心得
黃淮學院 2015---2016學年第 一 學期 《C#數據庫應用程序開發技術與案例教程》課程
題目:
學習報告
院
系:數學科學系 專
業:數學與應用數學 年
級:1301B 姓
名:曹占營 學
號:1331110101 任課教師:楊鋒英
2015年 12 月 30日
C#數據庫學習報告
在日常生活中,我們和朋友、親戚聯系,會廣泛用到通訊錄,因此這門課程以通訊錄開發為案例,教我們學習軟件開發。
軟件開發是一項非常注重實踐工作,不可能只憑看書、看視頻就學會軟件開發,必須扎扎實實、一行一行的編寫代碼,不斷積累項目經驗,才能真正掌握編程技術,所以我們要親自上級編寫程序,才能真正掌握軟件開發技術。
本書分為基礎篇、進階篇、高級篇,由淺入深地介紹了基于C#的數據庫編程技術,所用的開發工具為Visual Studio 2008、SQL Server 2005以及Access 2007。
學習數據庫的內容是從數據庫、數據表的創建和修改開始的,表是建立關系數據庫的基本結構,用來存儲數據具有已定義的屬性,在表的操作過程中,有查看表信息、查看表屬性、修改表中的數據、刪除表中的數據及修改表和刪除表的操作。從課程中讓我更明白一些知識,查詢可以通過SQL語言進行完成,這樣加深了查詢語句的基本結構,讓我們能更好的掌握其中語句,方便于我們后面的學習和應用。表是數據最重要的一個數據對象,表的創建好壞直接關系到數數據庫的成敗,表的內容是越具體越好,但是也不能太繁瑣,以后在實際應用中多使用表,對表的規劃和理解就會越深刻。在編程方面是需要我們對于編程有邏輯思維能力及一定的編程技巧。在數據庫中插入表、表中的信息等都需要注意,不然很容易出錯。
在基礎篇中,詳細講解了通訊錄系統的設計、開發和安裝部署這樣一個完整過程,對各個任務進行詳細講解。基礎篇學習分為9個任務,分別為系統分析與設計、用戶登錄、主窗體設計、聯系人分組管理、聯系人管理、用戶密碼修改、數據庫備份與恢復、設計“關于”窗體、系統安裝與部署。學完基礎篇,即可開發出一個功能較為完備的通訊錄系統。在聯系人管理任務學習中,由于在Contact表中保存的是分組編號,而窗體上要顯示的是分組名稱,所以在查詢語句中需要級聯查詢,即SQL語句為”select Contact.Id, Name, Phone, Email, QQ, GroupName from Contact, ContactGroup where Contact.GroupId = ContactGroup.Id”。為了實現代碼復用,可以提供查詢功能,根據用戶選擇的擦尋天劍,拼接產生SQL語句。同時為了支持模糊查詢,還在SQL語句中用了like語句。通過SqlDataAdapter的Fill方法填充數據集,獲取數據。數據集中有了數據以后,我們只需設置DataGridView控件的DataSource屬性,就可以顯示數據了。
在進階篇中,介紹了企業項目開發中廣發用到的參數化SQL語句、存儲過程使用及定義數據庫操作類,分為3個任務學習,分別為使用參數化SQL語句、使用存儲過程、使用自定義數據庫操作類,進一步提高我們的數據庫編程能力。在使用存儲過程任務學習中,了解到存儲過程是在大型數據庫系統中,一組為了完成特定功能的SQL語句集,經編譯后存儲在數據庫中,用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。在性能方面,存儲過程有如下的優點。(1)與編譯,存儲過程預先編譯好放在數據庫內,減少編譯語句所花的時間。(2)緩存,編譯好的存儲過程會進入緩存,所以對于經常執行的存儲過程,除了第一次執行外,其他次執行的書都會有明顯提高。(3)減少網絡傳輸,特別對于處理一些數據的存儲過程,不必像直接用SQL語句實現那樣多次傳送數據到客戶端。通過前面的學習,細細體會對數據庫的操作,可以發現,這么多操作其實可以分為4種。(1)對數據庫進行非連接式查詢操作,返回多條記錄。這種操作可以通過SqlDataAdapter對象的Fill方法來完成,即把查詢得到的結果填充到DataTable(或DataSet)對象中。(2)對數據庫進行連接式查詢操作,返回多條查詢記錄。這種操作可以通過SqlCommand對象的ExecuteReader方法來完成,返回SqlDataReader對象。(3)從數據庫中檢索單值。這種操作可以通過SqlCommand對象的ExecuteNonQuery方法來完成。ExecuteScalar方法返回的是Object類型,需要根據實際情況進行類型轉換。(4)對數據庫執行增、刪、改操作。這種操作可以通過SqlCommand對象的ExecuteNonQuery方法來完成,返回增、刪、改操作后數據庫中受影響的行數。
在高級篇中,分為4個任務學習,分別為開發基于三層構架的通訊錄程序、開發基于Access的通訊錄程序、實現基于抽象工廠模式的三層架構、使用MD5加密用戶密碼。首先詳細講解了基于三層構架的通訊錄程序開發過程以及如何開發一個基于Access的通訊錄系統。最后,介紹了如何采用MD5加密技術對用戶密碼加密。MD5加密技術也是實際項目開發中廣泛用到的,通過MD5加密用戶密碼,可以提高程序的安全性。“三層架構”一詞中的“三層”是指:“表示層”、“業務邏輯層”、“數據訪問層”。表示層:位于最外層,離用戶最近。用于顯示和接收用戶輸入的數據,為用戶提供一種交互式操作界面。表示層的常見形式為WinFrom和WebForm。業務邏輯層:負責處理用戶輸入的信息,或者是將這些信息發送給數據訪問層進行保存,或者是調用數據訪問層中的函數再次讀出這些數據。業務邏輯層也可以包括一些對“商業邏輯”描述代碼在里面。數據訪問層:僅實現對數據的保存和讀取操作。可以訪問數據庫系統、二進制文件、文本文檔或是XML文檔。
在這一學期有限的幾次實驗課后,我雖然沒有學會很多,但也學會了一些簡單的操作,我學會了一些簡單的數據運算,會建立一些簡單的表。有時候在做實驗時,對于實驗中的一些東西我不怎么了解,但我還會去做,因為我想只有多練習才能熟練,也才能理解掌握知識。我不知道這一門課對其他同學來說怎么樣,但對我來說卻有些難,但我會努力。因為我認為它對我以后考計算機二級有很大的幫助。
很快這一學期馬上就要結束了,數據庫這一門課也很快就要結束了,但這一學期的學習讓我知道了很多,也告訴了我在以后的人生中如何去做事,如何去做人。尤其是老師的耐心,老師的敬業精神感動了我,再做任何事時都應該認真負責,任何一個人都應該被尊重。
第三篇:SQL數據庫選擇題及答案
1、在數據庫技術中,獨立于計算機系統的模型是_C__。A、面向對象的模型B、關系模型C、E-R模型D、層次模型
2、數據庫系統的控制中樞是__B_。A、數據庫、b、數據庫管理系統C、數據庫管理員D、數據庫應用系統
3、使用SQL命令將學生表STUDENT中的學生年齡AGE字段的值增加1歲,應該使用的命令是__C_。
A、UPDATE SET AGE WITH AGE+1
B、REPLACE AGE WITH AGE+1
C、UPDATE STUDENT SET AGE=AGE+1
D、UPDATE STUDENT AGE WITH AGE+1
4、在關系數據庫中,建立數據庫表時,將年齡字段值限制在12~40歲之間的這種約束屬于__B__。
A、視圖完整性約束B、域完整性約束C、參照完整性約束D、實體完整性約束
5、在 SQL 語句中,與 X BETWEEN 20 AND 30 等價的表達式是__D_。A、X>=20 AND X<30
B、X>20 AND X<30
C、X>20 AND X<=30
D、X>=20 AND X<=30
6、在數據庫中,概念模型是_D__。A、用于現實的建模,與具體的DBMS有關B、用于信息世界的建模,與具體的DBMS有關
C、用于現實的建模,與具體的DBMS無關D、用于信息世界的建模,與具體的DBMS無關
7、數據庫的并發操作可能帶來的問題包括__B_。A非法用戶的使用B丟失更新C數據獨立性會提高D增加數據冗余度
8、在關系數據庫中,模式對應的是__A___。A、視圖和所有基本表
B、視圖和部分基本表
C、基本表
D、索引
9、能實現絕對的與平臺無關性的Web數據庫訪問技術是_D_。A、ADO
B、ActiveX
C、WebbaseAPI
D、JDBC
10、在下列描述中,正確的描述是__B___。
A、SQL 是一種過程化語言B、SQL 采用集合操作方式
C、SQL 不能嵌入到高級語言程序中
D、SQL 是一種 DBMS
11、數據庫系統是由__A__組成的。A、數據庫、數據庫管理系統和用戶
B、數據文件、命令文件和報表
C、數據庫文件結構和數據
D、常量、變量和函數
12、在SQL查詢時,使用WHERE子句指出的是__B__。A、查詢目標B、查詢條件C、查詢視圖D、查詢結果
13、在下列 RDMBS 產品中,屬于小型數據庫系統的是_A_。A、Access B、Oracle C、Sybase D、Informix
14、數據庫類型是按照_A_來劃分的。
A、數據模型B、記錄形式C、數據存取方法D、文件形式
15、作為Microsoft Office家族成員之一的_A_數據庫,能夠與其他Office組件進行數據交換共享數據資源,易于生成集文字處理、圖表生成和數據管理于一體的辦公自動化系統。A、Access
B、Oracle
C、Sybase
D、Informix
16、數據庫管理系統更適合于_D_方面的應用。A、CAD
B、過程控制C、科學計算D、數據處理
17、下列四組SQL命令,全部屬于數據定義語句的命令是_C__。A、CREATE,DROP,ALTER
B、CREATE,DROP,UPDATE
C、CREATE,DROP,GRANT
D、CREATE,DROP,SELECT
18、通過Internet及瀏覽器處理的數據庫,應該是_C__處理。A、集中式
B、分布式
C、主從結構式D、以上3種模式
19、數據的邏輯獨立性是指__D_。A、數據與存儲結構的邏輯獨立性 B、數據元素之間的邏輯獨立性
C、存儲結構與物理結構的邏輯獨立性
D、數據與程序的邏輯獨立性
20、在數據庫技術中,獨立于計算機系統的模型是_C__。A面向對象的模型
B關系模型
C、E-R模型
D、層次模型
21、關系代數的3個基本運算是–D--、投影、連接。A、關系與B、蘊含C、關系或D、選擇
22、下面命題不正確的是:A、若冗余數據可以控制,則數據更新的一致性得以保證
B、數據庫減少了不必要的數據冗余C、數據庫的數據可以共享D、數據庫中不存在數據冗余
23、在基本SQL中不可以實現: A、定義視圖B、并發控制C、定義基表D、查詢視圖和基表
24、用二維表來表示實體及實體之間聯系的數據模型稱為_C___。
A、實體-聯系模型B、層次模型C、關系模型D、網狀模型
25、查找工資在600元以上并且職稱為工程師的紀錄,邏輯表達式為_D___。
A、“工資”>600.OR.職稱=“工程師”
B、工資>600.AND.職稱=工程師
C、“工資”>600.AND.“職稱”=“工程師”
D、工資>600.AND.職稱=“工程師”
26、數據庫鏡像可以用于__C_。(1分)
A、實現數據庫的安全性
B、實現數據共享C、進行數據庫恢復或并發操作D、保證數據庫的完整性
27、在下列類型的數據庫系統中,應用最廣泛的是__C___。(1分)
A、分布型數據庫系統B、邏輯型數據庫系統C、關系型數據庫系統D、層次型數據庫系統
28、在下列描述中,正確的描述是__B__。(1分)A、SQL 是一種過程化語言B、SQL 采用集合操作方式
C、SQL 不能嵌入到高級語言程序中
D、SQL 是一種 DBMS
第四篇:數據庫sql語言總結
插入句型:
insertinto<表名> [各屬性名]values(<常量1>,<常量2>……)
刪除元組或者二維表:
delete from<表名>[ where <條件> ]
刪除屬性:
altertable<表名>dropcolumn<列名>
增加某表的屬性:
altertable<表名>add<列名> 類型
修改句型:
update<表名>set<列名> =<表達式>[where<條件>]
修改某表當中的屬性類型:
altertable<表名>altercolumn<列名><轉換的類型>;
顯示表的一些基本情況
EXEC sp_help'<表名>'
更改當前數據庫中用戶創建對象(如表、列或用戶定義數據類型)的名稱 sp_rename ‘<舊的表名>’, ‘<新的表名>’
修改表的列名 sp_rename'<表名>.
小注:上面的語句最后不需要加分號
判斷表中是否存在某列的語句
if exists(select * from syscolumns where id = object_id('stu')and name='Sno')
print 'stu exists'
else print 'stu not exists'
將表中的某列設置為主碼:
alter table stu addSno char primary key;
判斷表是否存在if exists(select count(*)from sysobjects where type='U' and name='stu')
查詢某個表中字段的列名和數據類型
select column_name,data_type from information_schema.columns where table_name = '表名';
第五篇:SQL數據庫學習心得
SQL數據庫學習心得
一 數據庫課程總結
(一)數據庫概述數據
(1)數據庫中存儲的基本對象,是描述事物的符號記錄(如存儲某一個人
(2)數據的種類包括文字、圖形、圖象、聲音
(3)數據的特點是數據與其語義是不可分的。數據庫
(1)(database,簡稱DB)是指長期存儲在電腦內有組織的、可共享的數據集合;
(2)數據庫管理系統(DatabaseManagement System,簡稱DBMS),是位于用戶與操作系統之間的一層數據管理軟件。關系數據庫基礎
(1)元組(Tuple)表中的一行即為一個元組。
(2)屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性
名。
(3)主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。
(4)域(Domain)屬性的取值范圍。
(5)分量元組中的一個屬性值。
(二)SQL Server概述SQL Server的版本
(1)企業版,作為生產使用
(2)個人版,供移動用戶使用
(3)標準版,作為小工作組或部門使用
(4)開發板,供程序員開發測試使用SQL數據庫的創建
(1)創建數據庫的過程就是確定數據庫名稱、大小、存放位置等信息。
(2)數據庫文件包括主數據庫文件(.mdf)、次數據文件(.ndf)、事務日志文件(.ldf)
(3)3種方式創建數據庫:使用數據庫創建向導、使用企業管理器、使用SQL語句在查
詢分析器中創建。
(三)數據庫中的表創建表兩種方式:使用企業管理器、使用SQL語句
2修改表,修改操作包括:增加字段、刪除字段、修改字段(名稱、修改其已有的屬性)兩種方式,使用企業管理器、使用SQL語句
(四)數據查詢
1基本的SELECT語句,例查詢Readers表中所有記錄的信息SELECT*FROM Readers 2查詢語句的統計功能
3數據的連接
外連接的結果集中,不僅包括滿足連接條件記錄,還包括不滿足連接條件的記錄。連接方式分為:左外連接、右外連接、全外連接。
(五)數據完整性
1定義:數據完整性是指存儲在數據庫中的數據的一致性和準確性。
2實體完整性
又稱行完整性,要求表中不能存在完全相同的記錄,而且每條記錄都要具有一個非空且不重復的主鍵值。
3使用約束:約束是保證數據完整性的有效方法,(1)PRIMARY KEY(主鍵約束)特點:每個表只能定義一個主鍵、主鍵值不可為空、主鍵值不可重復。
(2)UNIQUE(唯一約束)確保表中的某非主鍵列不輸入重復值,PRIMARY KEY 與 UNIQUE的區別、約束數量、是否允許NULL值
(3)CHECK(檢查約束),用于限制輸入到列中的值的范圍
(六)數據庫的安全
1對于SQL Server來說,提供身份驗證和權限驗證兩種保護方式。
(1)身份驗證模式: Windows驗證模式,只限于本機使用; 混合驗證模式,本機或遠程均可訪問角色管理是一種權限管理的方法,角色中的每一用戶都擁有此角色中的所有權限。3數據庫角色提供了在數據庫級別上的管理權限組。
(七)備份與恢復
1備份數據庫,使用SQL語句備份
步驟:(1)創建備份設備
(2)備份數據庫(完全數據庫備份、差異備份、日志備份、文件與文件組備份)2恢復數據庫(使用企業管理器恢復、使用SQL語句恢復)
二 數據庫課程心得
在學習數據庫和數據表創建和修改時,了解到表是建立關系數據庫的基本結構,用來存儲數據具有已定義的屬性,在表的操作過程中,有查看表信息、查看表屬性、修改表中的數據、刪除表中的數據及修改表和刪除表的操作。從課程中中讓我更明白一些知識,表是數據最重要的一個數據對象,表的創建好壞直接關系到數數據庫的成敗,表的內容是越具體越好,但是也不能太繁瑣,以后在實際應用中多使用表,對表的規劃和理解就會越深刻。我們上機的另一個內容是數據庫的約束、視圖、查詢。從中我們了解到查詢語句的基本結構,和簡單SELECT語句的使用,多表連接查詢。而在視圖的操作中,也了解到了視圖是常見的數據庫對象,是提供查看和存取數據的另一種途徑,對查詢執行的大部分操作,使用視圖一樣可以完成。使用視圖不僅可以簡化數據操作,還可以提高數據庫的安全性,不僅可以檢索數據,也可以通過視圖向基表中添加、修改和刪除數據。存儲過程、觸發器也是我們學習的內容之一,在操作中有建立存儲過程,執行存儲過程,及查看和修改存儲過程,這些都是非常基礎的東西,但對用戶卻是非常重要的呢,只有熟悉了T_SQL語言,才能更好的掌握更多的東西。我們還學習了,SQL管理、數據的導入、導出、備份和還原。有SQL Server 安全訪問控制;登錄賬戶的管理;數據庫角色的管理;用戶權限管理。維護數據庫的安全是確保數據庫正常運行的重要工作。數據的備份是對SQL Server數據事務日志進行拷貝,數據庫備份記錄了在進行備份操作的數據庫中所有數據的狀態。而數據的備份還分為數據庫完整備份、差異備份、事務日志備份、文件及文件組備份。做數據備份就是為了以后的數據庫恢復用。我們還做了倉庫管理數據庫,其中的要求包含了許多數據庫的對象,綜合了我們所學的許多知識,讓我們更努力的把所學到的東西運用上去。