Ⅰ 誰學過(自 學 網)的sql 可以把視頻和教學文件給我嗎,謝謝
等我編寫好了sql教程,我就發你一套
Ⅱ sql server2014已經裝好了,要怎麼開始操作小白求教。
1、安裝好一般需要啟動服務
2、然後找到 sql server 2014 manament studio 登錄
3、一般選擇windowNT登錄,這是安裝時默認的安裝方式
4 、登錄就就可以操作資料庫了
Ⅲ 簡單明了,大學生都應該知道的SQL
SQL(結構化查詢語言)是用於訪問和操作資料庫中的數據的標准資料庫編程語言。
SQL是關系資料庫系統的標准語言。所有關系資料庫管理系統(RDMS),如MySQL、MS Access、Oracle、Sybase、Informix、Postgres和SQL Server都使用SQL作為它們的標准資料庫語言。
為了處理資料庫和資料庫相關的編程,程序員需要有一些介質,或者可以說介面來詳細說明一組命令或代碼來處理資料庫或訪問資料庫的數據。在本章中,將簡要介紹在學習SQL的過程中您將學習的術語。
SQL為結構化查詢語言提供了獨特的學習和資料庫處理技術,並將幫助您更好地控制SQL查詢並有效處理這些代碼。由於SQL幫助您包括資料庫創建,資料庫或表刪除,獲取行數據和修改這些數據等,並行SQL使得事情自動和平滑,最終用戶可以輕松訪問和處理該應用程序的數據。
雖然 SQL 是一門 ANSI(American National Standards Institute 美國國家標准化組織)標準的計算機語言,但是仍然存在著多種不同版本的 SQL 語言。
然而,為了與 ANSI 標准相兼容,它們必須以相似的方式共同地來支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
要創建一個顯示資料庫中數據的網站,您需要:
RDBMS 指關系型資料庫管理系統,全稱 Relational Database Management System。
RDBMS 是 SQL 的基礎,同樣也是所有現代資料庫系統的基礎,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
RDBMS 中的數據存儲在被稱為表的資料庫對象中。
表是相關的數據項的集合,它由列和行組成。
代碼示例:
每個表都被分解成稱為欄位的更小的實體。Customers表中的欄位由CustomerID,CustomerName,ContactName,Address,City,PostalCode和Country組成。欄位是表中的一列,用於維護表中每條記錄的特定信息。
記錄(也稱為行)是表中存在的每個單獨條目。例如,在上面的Customers表中有91條記錄。記錄是表中的橫向實體。
列是表中的垂直實體,其包含與表中的特定欄位相關聯的所有信息。
當您對任何RDBMS執行SQL命令時,系統將確定執行請求的最佳方式,並由SQL引擎確定如何解釋該任務。
在此過程中包含了各種組件。
典型的查詢引擎處理所有非SQL查詢,但SQL查詢引擎不會處理邏輯文件。
與關系資料庫交互的標准SQL命令是創建、選擇、插入、更新、刪除和刪除,簡單分為以下幾組:
數據定義語言用於改變資料庫結構,包括創建、更改和刪除資料庫對象。用於操縱表結構的數據定義語言命令有:
數據操縱語言用於檢索、插入和修改數據,數據操縱語言是最常見的SQL命令。
數據操縱語言命令包括:
數據控制語言為用戶提供許可權控制命令。
用於許可權控制的命令有:
使用SQL格式化工具可以比較直觀地看到您想要的操作
Ⅳ SQL語句能用在ACCESS上嗎
Access+SQL語句
在Access資料庫中建表
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:zjw","","");
String tablename = "xl_"+jgname;
String sql_create = "CREATE TABLE " +tablename+" (id VARCHAR(20) PRIMARY KEY, 開關 VARCHAR(20),正母閘刀 VARCHAR(20),副母閘刀 VARCHAR(20), 線路閘刀 VARCHAR(20),開關母線側地刀 VARCHAR(20),開關線路側地刀 VARCHAR(20),線路側地刀 VARCHAR(20),母差投退 VARCHAR(20),母差復歸 VARCHAR(20) )";
String sql_insert_1 = " INSERT INTO " +tablename+" values ('1','開關','正母閘刀','副母閘刀','線路閘刀','開關母線側地刀','開關線路側地刀','線路側地刀','母差投退','母差復歸')";
String sql_insert_2 = " INSERT INTO " +tablename+" values ('2','0','0','0','0','0','0','0','0','0')";
String sql_insert_3 = " INSERT INTO " +tablename+" values ('3',?, ? ,? , ? ,? ,? ,?,?,?)";
String sql_insert_4= " INSERT INTO " +tablename+" values ('4','162','104','212','156','255','212','104','525','65')";
String sql_insert_5 = " INSERT INTO " +tablename+" values ('5','137','220','220','83','220','132','82','533','264')";
PreparedStatement create_pstmt=con.prepareStatement(sql_create);
create_pstmt.executeUpdate();
create_pstmt.close();
在Access資料庫中重命名表
來源:中國大學生網 時間:2005-10-16 18:53:18 責任編輯:雨 【字體:大 小】
下面代碼是用Adox重命名Access表名的示例代碼:
Dim Conn,ConnStr,oCat,oTbl
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")
Set oCat=Server.CreateObject("ADOX.Catalog")
oCat.ActiveConnection = ConnStr
Set oTbl = Server.CreateObject("ADOX.Table")
Set oTbl = oCat.Tables("OldTable") '要重命名的表名:OldTable
oTbl.Name = "NewTable" '新表名
Set oCat = Nothing
Set oTbl = Nothing
Sql server 中可以用Sql語句直接重命名表,
下面是Sql Server 和 Access 操作資料庫結構的常用Sql,希望對你有所幫助。
內容由海娃整理,不正確與不完整之處還請提出,謝謝。
新建表:
create table [表名]
(
[自動編號欄位] int IDENTITY (1,1) PRIMARY KEY ,
[欄位1] nVarChar(50) default '默認值' null ,
[欄位2] ntext null ,
[欄位3] datetime,
[欄位4] money null ,
[欄位5] int default 0,
[欄位6] Decimal (12,4) default 0,
[欄位7] image null ,
)
刪除表:
Drop table [表名]
插入數據:
INSERT INTO [表名] (欄位1,欄位2) VALUES (100,'51WINDOWS.NET')
刪除數據:
DELETE FROM [表名] WHERE [欄位名]>100
更新數據:
UPDATE [表名] SET [欄位1] = 200,[欄位2] = '51WINDOWS.NET' WHERE [欄位三] = 'HAIWA'
新增欄位:
ALTER TABLE [表名] ADD [欄位名] NVARCHAR (50) NULL
刪除欄位:
ALTER TABLE [表名] DROP COLUMN [欄位名]
修改欄位:
ALTER TABLE [表名] ALTER COLUMN [欄位名] NVARCHAR (50) NULL
重命名表:(Access 重命名表,請參考文章:在Access資料庫中重命名表)
sp_rename '表名', '新表名', 'OBJECT'
新建約束:
ALTER TABLE [表名] ADD CONSTRAINT 約束名 CHECK ([約束欄位] <= '2000-1-1')
刪除約束:
ALTER TABLE [表名] DROP CONSTRAINT 約束名
新建默認值
ALTER TABLE [表名] ADD CONSTRAINT 默認值名 DEFAULT '51WINDOWS.NET' FOR [欄位名]
刪除默認值
ALTER TABLE [表名] DROP CONSTRAINT 默認值名
刪除Sql Server 中的日誌,減小資料庫文件大小
mp transaction 資料庫名 with no_log
backup log 資料庫名 with no_log
dbcc shrinkdatabase(資料庫名)
exec sp_dboption '資料庫名', 'autoshrink', 'true'
下面是2種語言的區別!
SQL和ACCESS基本都相同,可以直接導入導出,如果是程序訪問的話,sql語句有些不同,需要改動一下。
1、對於日期欄位
access表示為:#1981-28-12#
SQLSERVER2000表示為:'1981-02-12'
2、SQL語句區別
select、update 在對單表操作時都差不多,但多表操作時update語句的區別ACCESS與SQLSERVER中的Update語句對比:
SQLSERVER中更新多表的Update語句:Update Tab1 SET a.Name = b.Name FROM Tab1 a,Tab2 b Where a.ID = b.ID;
同樣功能的SQL語句在ACCESS中應該是:Update Tab1 a,Tab2 b SET a.Name = b.Name Where a.ID = b.ID;
即ACCESS中的Update語句沒有FROM子句,所有引用的表都列在Update關鍵字後。更新單表時都為:Update table1 set ab='ss',cd=111 where ....
3、delete語句
access中刪除時用:delete * from table1 where a>2 即只要把select 語句里的select 換成delete就可以了。
sqlserve 中則為:delete from table1 where a>2 即沒有*號
4、as 後面的計算欄位區別
access中可以這樣:select a,sum(num) as s_num,s_num*num as all_s_num 即可以把AS後的欄位當作一個資料庫欄位參與計算。
sqlserver 中則為:select a,sum(num) as s_num,sum(num)*num as all_s_num 即不可以把AS後的欄位當作一個資料庫欄位參與計算。
5、[.]與[!]的區別
access中多表聯合查詢時:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中間的AS可以不要。
sqlserve 中則:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中間的AS可以不要。
6、聯合查詢時
access中多表聯合查詢:'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b
sqlserve 中則'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b
即要加一個虛的表tmptable,表名任意。
7、access升級到sqlserver時
可以用sqlserver的數據導入工具導入數據,但要做必要的處理。
access中的自動編號,不會自動轉換SQL中的自動編號,只能轉換為int型,要把它手工改成標識欄位,種子為1,把所有導入被sqlserver轉化成的以n開頭的欄位類型的n去掉,如nvarchar->varchar。把需要有秒類型的日期欄位改成datatime類型(SQL會把所有的日期開轉化成smalldatetime型)
8、true與1=1
access用where true表示條件為真。
sqlserver用where 1=1表示條件為真。
9、判斷欄位值為空的區別
普通空:Access和sql server一樣 where code is null 或 where code is nol null
條件空:Access:if([num] is null,0,[num]) 或 if([num] is null,[num1],[num])
SQLServer: isnull([num],0) 或 isnull([num],[num1])
10、SQL語句取子串的區別
access:MID(欄位,n1,[n2]),LEFT(欄位,n),RIGHT(欄位,n)
如:select left(cs1,4)+'-'+cs2 as cs3
SQLServer:SUBSTRING(e-xpression, start, length)
如:select substring(cs1, 1, 2) + substring(cs1, 4, 2) + '-' + cs2 as cs3
11、布爾類型的區別
access:用「是/否」表示
SQLServer:用「bit」表示
Ⅳ 請用SQL命令創建上面的三張表. 並完成下面的操作
Create table T_course (
Course_id nvarchar(10),
Speciality_id nvarchar(10),
Course_Name nvarchar(20),
Mark int
)
Create table T_speciality(
Speciality_id nvarchar(10),
Speciality_Name nvarchar(20)
)
Create table T_enroll(
Id nvarchar(10),
Speciality_id nvarchar(10),
Name nvarchar(20)
)
(1) insert into T_course values ('004','001','關系資料庫',3)
(2) select Course_Name from T_course a
join T_speciality b
on a.Speciality_id =b.Speciality_id
where b.Speciality_Name='軟體技術'
(3) select Name from T_enroll c
join T_speciality b
on c.Speciality_id =b.Speciality_id
where b.Speciality_Name='軟體技術'
(4) select Name from T_enroll c
join T_course a
on a.Speciality_id =c.Speciality_id
where a.Course_Name='關系資料庫'
Ⅵ 有推薦的SQL進階書籍或者網站嗎(sql資料庫入門書籍推薦)
前段時間開始自學資料庫,學了一段時間下來,看了好幾本書了,品味一下,有幾本感覺對剛接觸資料庫(甚至是資料庫高手)的兄弟們來說是相當不虛粗錯的所以向大家推薦一下:
一:《資料庫設計與開發》
英文名:databasedesignanddevelopment---avisualapproach
清華大學出版社
一本很實用的書籍,圖文並茂,講解生動,讓你在不知不覺中已經對資料庫的設計產生了興趣,看完本書後,也許你會感嘆,原來資料庫設計還是挺簡單的哦
二:《SQLServer資料庫設計與系統開發教程》
清華大學出版社唐紅亮主編
這本書雖說沒什麼牛逼的頭銜,但是絕對是一本不錯的教材,全書用兩個實際的項目來詮釋SQL的各個知識點,語言通俗,但基本知識點都講得很清楚。作者娓差賀鎮娓道來,一點點的將知識深入進去。很不錯的一種寫法,強烈推薦你看這本書
三:《SQL語言與資料庫操作技術大全》
電子工業出版社馬軍李玉林等編著
這本書我建議大家做SQL語言的字典用,比如要查詢、更改、刪除數據了,卻突然忘了某個子句(如Having子句)的具體用法,這裡面會很准確的告訴你。當然,對於專門學習SQL語言的來說,我覺得這本書也是相當不錯的選擇
四:《SQLServer2005資料庫管理入門經典》
清華大學出版社DanWoodChrisLeiterPaulTurley著馬振晗等譯
對MSSQLServer2005裡面的各種工具、組件的功能做了介紹,本書主要適合管理人員看
說明:雖然我也是一名資料庫新手,但我拍大希望能通過這樣一種方式來幫州我能幫助的人,讓他們在學習的初期就不走彎路,給他們一點實實在在的建議。以後我發現的好書我還會持續的發上來,供大家參考。