sqlserver
A. mssql和sqlserver是什麼關系
mssql是sqlserver 的簡稱。這個是微軟的重型資料庫。
你是不是想問mysql哦、這個是輕量級資料庫,瑞典的AB公司開發2008年被SUN公司收購。
而2009 年SUN又被甲骨文(Oracle)收購。Oracle是屬於重型資料庫。
大型資料庫的好處是:存儲量大且查詢速度快。輕量級的好處是方便占資源小,可以節省網站成本,一般企業宣傳網站這類需要動態頁面但是數據量小的就可以使用輕量級資料庫。
B. mysql和sqlserver的關系
二者都是關系型資料庫管理系統
一般說sqlserver,指的是ms sql server,是微軟的,只能用於微軟平台操作系統
mysql是後來的,一般是免費的,是跨平台的。
C. SqlServer是如何收費的
1.按照CPU個數收費,伺服器有4核,6核,8核之類的,這樣對用戶沒有限制。
2.按照用戶個數收費,資料庫也許就有10個,20個用戶訪問,那麼即使你的伺服器用8核CPU,費用也不會太高。
這就根據應用程序需求而購買授權了。
你用「盜版」的也沒關系,如果微軟查到了,那時的授權費用就是「天價」了。
D. sqlserver 中乘法計算
如果沒有主鍵的話可以這樣來寫
select Price,Number,TotalPrice
into #tmp
from a
left join b on a.BookID = b.BookID
update #tmp set TotalPrice = isnull(Price,0)*isnull(Number,0)
drop table #tmp
大致應該就是這樣樣子吧 , 我也沒有在SQL上運行過 你可以先試試看
E. 如何登陸本地的sqlserver
1、打開sqlserver的企業管理器或者是SQL server Management Studio
2、伺服器類型選擇:資料庫引擎
3、伺服器名稱輸入:localhost或是本機ip
4、身份驗證選擇:如果沒開混合驗證,選windows身份驗證;如果開了混合驗證,可以用windows身份登錄,也可選選擇SQL server身份驗證。
5、選了SQLserver身份認證需要輸入SQL已經定義的用戶名和密碼。
F. sqlserver的系統表
1、查看錶和試圖
SELECT * FROM sys.objects WHERE object_id = object_id('表名或視圖名')
在sqlserver中一般可通過查詢sys.objects系統表來得知結果,不過可以有更方便的方法
如下:
if object_id('tb_table') is not null
print 'exist'
else
print'not exist'
如上,可用object_id()來快速達到相同的目的,tb_table就是我將要創建的資源的名稱,所以要先判斷當前資料庫中不存在相同的資源
object_id()可接受兩個參數,第一個如上所示,代表資源的名稱,上面的就是表的名字,但往往我們要說明我們所要創建的是什麼類型的資源,
這樣sql可以明確地在一種類型的資源中查找是否有重復的名字,如下:
if object_id('tb_table','u') is not null
print 'exist'
else
print'not exist'
第二個參數 "u" 就表示tb_table是用戶創建的表,即:USER_TABLE地首字母簡寫
查詢sys.objects中可得到各種資源的類型名稱(TYPE列),這里之舉幾個主要的例子
u ----------- 用戶創建的表,區別於系統表(USER_TABLE)
s ----------- 系統表(SYSTEM_TABLE)
v ----------- 視圖(VIEW)
p ----------- 存儲過程(SQL_STORED_PROCEDURE)
2、查看錶的列名
select * from syscolumns where id=object_id('表名') and name='列名'
3、查看資料庫
select * from sys.databases where name = 'student'
4、查看備份設備
"select * from sys.backup_devices where name ='backupdb'
(添加備份設備:exec sp_admpdevice 'disk','backupdb','d:\\backup\\backupdb.bak')
5、查看數據文件
select name, physical_name dbfile from sys.master_files where database_id=db_id('student')
master資料庫中sysdatabases表(是sqlserver中所有的資料庫的庫名) :
如果你要查詢的是所有資料庫(用戶/系統):
select * from master..sysdatabases
如果你要查詢的是用戶資料庫,則使用:
select * from master..sysdatabases where dbid > 4
如果你要查詢的是系統資料庫,只需要把where字句改為dbid < 4即可。
6、查看執行的sql語句
SELECT cacheobjtype,objtype,usecounts,sql
from sys.syscacheobjects where sql not like'%cach%' and sql not like '%sys.%'
2.對應資料庫中sysobjects表(反應的是相應資料庫中所有的對象):
這個表的用處是最大的,因為它裡面存放的有:表(系統/用戶)、存儲過程(系統/用戶)、視圖、主鍵、外鍵等。
這里就不一一說明了。
比如你sqlserver中有個資料庫名叫 test,如果要查詢該資料庫中的所有表對象:
select * from test..sysobjects where type = 』u』 or type = 』s』
這里的type = 』u』是表示用戶表對象,type = 』s』是系統表對象,怎樣單獨查詢用戶表對象或者系統表對象就不用說了吧。
如果你要查詢的是存儲過程當然也分了系統和用戶了:
這個是查詢資料庫中所有存儲過程
select * from test..sysobjects where type = 』p』
如果你要查詢的是用戶存儲過程則加上 and category <> 2 即可。
查詢系統存儲過程就不用說了吧(category = 2 誰不知道。。。)
查詢視圖與查詢存儲過程一樣,比如:
你查詢的是資料庫中所有視圖
select * from test..sysobjects where type = 』v』
如果你要查詢的是用戶視圖則加上 and category <> 2 即可。
其他的就不說了,就把 它們的type給大家說下:
type = 』 pk』 表示主鍵。
type = 』 d』 外鍵引用。
type = 』uq』 唯一索引。
下面附錄一些常用系統表
名稱 地址 說明
sysaltfiles 主資料庫 保存資料庫的文件
syscharsets 主資料庫 字元集與排序順序
sysconfigures 主資料庫 配置選項
syscurconfigs 主資料庫 當前配置選項
sysdatabases 主資料庫 伺服器中的資料庫
syslanguages 主資料庫 語言
syslogins 主資料庫 登陸帳號信息
sysoledbusers 主資料庫 鏈接伺服器登陸信息
sysprocesses 主資料庫 進程
sysremotelogins主資料庫 遠程登錄帳號
syscolumns 每個資料庫 列
sysconstrains 每個資料庫 限制
sysfilegroups 每個資料庫 文件組
sysfiles 每個資料庫 文件
sysforeignkeys 每個資料庫 外部關鍵字
sysindexs 每個資料庫 索引
sysmenbers 每個資料庫 角色成員
sysobjects 每個資料庫 所有資料庫對象
syspermissions 每個資料庫 許可權
systypes 每個資料庫 用戶定義數據類型
sysusers 每個資料庫 用戶
G. mysql和sqlserver的區別
1、發行費用,MySQL不全是免費,但很便宜。
當提及發行的費用,這兩個產品採用兩種絕然不同的決策。對於SQL伺服器,獲取一個免費的開發費用最常的方式是購買微軟的Office或者Visual Studio的費用。
但是,如果想用於商業產品的開發,必須還要購買SQL Server Standard Edition。學校或非贏利的企業可以不考慮這一附加的費用。
2、性能,先進MySQL。
純粹就性能而言,MySQL是相當出色的,因為它包含一個預設桌面格式MyISAM。MyISAM 資料庫與磁碟非常地兼容而不佔用過多的CPU和內存。MySQL可以運行於Windows系統而不會發生沖突,在UNIX或類似UNIX系統上運行則更好。
還可以通過使用64位處理器來獲取額外的一些性能。因為MySQL在內部里很多時候都使用64位的整數處理。Yahoo的商業網站就使用MySQL 作為後台資料庫。
當提及軟體的性能,SQL伺服器的穩定性要比它的競爭對手強很多。但是,這些特性也要付出代價的。比如,必須增加額外復雜操作,磁碟存儲,內存損耗等等。如果硬體和軟體不能充分支持SQL伺服器,最好選擇其他如DBMS資料庫,因為這樣會得到更好的結果。
3、安全功能。
MySQL有一個用於改變數據的二進制日誌。因為它是二進制,這一日誌能夠快速地從主機上復制數據到客戶機上。即使伺服器崩潰,這一二進制日誌也會保持完整,而且復制的部分也不會受到損壞。
在SQL伺服器中,也可以記錄SQL的有關查詢,但這需要付出很高的代價。
這兩個產品都有自己完整的安全機制。只要遵循這些安全機制,一般程序都不會出現什麼問題。這兩者都使用預設的IP埠,但是有時候很不幸,這些IP也會被一些黑客闖入。當然,也可以自己設置這些IP埠。
參考資料來源:網路——SQLserver資料庫
參考資料來源:網路——MySQL資料庫
H. SQLserver中的命令
sql簡單
SQL(Structured Query Language,結構查詢語言)是一個功能強大的資料庫語言。SQL通常使用於資料庫的通訊。ANSI(美國國家標准學會)聲稱,SQL是關系資料庫管理系統的標准語言。SQL語句通常用於完成一些資料庫的操作任務,比如在資料庫中更新數據,或者從資料庫中檢索數據。使用SQL的常見關系資料庫管理系統有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。雖然絕大多數的資料庫系統使用SQL,但是它們同樣有它們自立另外的專有擴展功能用於它們的系統。但是,標準的SQL命令,比如"Select"、 "Insert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用於完成絕大多數資料庫的操作。
但是,不象其它的語言,如C、Pascal等,SQL沒有循環結構(比如if-then-else、do-while)以及函數定義等等的功能。而且SQL只有一個數據類型的固定設置,換句話說,你不能在使用其它編程語言的時候創建你自己的數據類型。
SQL功能強大,但是概括起來,它可以分成以下幾組:
DML(Data Manipulation Language,數據操作語言):用於檢索或者修改數據;
DDL(Data Definition Language,數據定義語言): 用於定義數據的結構,比如 創建、修改或者刪除資料庫對象;
DCL(Data Control Language,數據控制語言):用於定義資料庫用戶的許可權。
DML組可以細分為以下的幾個語句:
SELECT:用於檢索數據;
INSERT:用於增加數據到資料庫;
UPDATE:用於從資料庫中修改現存的數據
DELETE:用於從資料庫中刪除數據。
DDL語句可以用於創建用戶和重建資料庫對象。下面是DDL命令:
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE INDEX
DROP INDEX
DCL命令用於創建關系用戶訪問以及授權的對象。下面是幾個DCL命令:
ALTER PASSWORD
GRANT
REVOKE
CREATE SYNONYM
I. SQLserver的詳細作用
SQL (Structured Query Language ),即「結構式查詢語言」
核心SQL主要有四個部分:
(1) 數據定義語言,即SQL DDL,用於定義SQL模式、基本表、視圖、索引等結構。
(2) 數據操縱語言,即SQL DML。數據操縱分成數據查詢和數據更新兩類。其中數據更新又分成插入、刪除和修改三種操作。
(3) 嵌入式SQL語言的使用規定。這一部分內容涉及到SQL語句嵌入在宿主語言程序中的規則。
(4) 數據控制語言,即SQL DCL,這一部分包括對基本表和視圖的授權、完整性規則的描述、事務控制等內容。
SQL Server 工具和實用程序
服務管理器(伺服器有,客戶端沒有)
企業管理器
查詢分析器
導入和導出數據
伺服器網路實用工具
客戶端網路實用工具
聯機幫助文檔
事件探測器
SQL Server 2000提供了大量的聯機文檔,它具有索引和全文搜索能力,可根據關鍵詞來快速查找用戶所需信息。
Have a try
Sqlserver資料庫
系統資料庫
SQL Server自己所使用的資料庫,包括:master、msdb、model、pubs、Northwind、tempdb
其中 pubs 和 Northwind 示例資料庫作為學習工具提供
聯機叢書:search:系統資料庫和數據
用戶資料庫
使用者自己建立的資料庫