SQL Server 是Microsoft 公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點。
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計體驗!已為成都報廢汽車回收等企業(yè)提供專業(yè)服務(wù)。
可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2012 的大型多處理器的服務(wù)器等多種平臺使用。
SQL Server數(shù)據(jù)庫的作用:可以面向數(shù)據(jù)庫執(zhí)行查詢、存儲和檢索數(shù)據(jù)、可以通過SQL語句 從數(shù)據(jù)庫寫入或者是取回數(shù)據(jù)、可以更新數(shù)據(jù)庫中的數(shù)據(jù)。
SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL語言標(biāo)準(zhǔn)。
擴(kuò)展資料:
主要特性
1、高性能設(shè)計,可充分利用WindowsNT的優(yōu)勢。
2、系統(tǒng)管理先進(jìn),支持Windows圖形化管理工具,支持本地和遠(yuǎn)程的系統(tǒng)管理和配置。
3、強(qiáng)壯的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整性。
4、支持對稱多處理器結(jié)構(gòu)、存儲過程、ODBC,并具有自主的SQL語言。 SQLServer以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個出眾的數(shù)據(jù)庫平臺。
參考資料來源:百度百科--SQLserver數(shù)據(jù)庫
1、選擇開始菜單中→程序→【ManagementSQLServer】→【SQLServerManagementStudio】命令,打開【SQLServerManagementStudio】窗口,并使用Windows或SQLServer身份驗證建立連接。
2、在【對象資源管理器】窗口中展開服務(wù)器,然后選擇【數(shù)據(jù)庫】節(jié)點。
3、右鍵單擊【數(shù)據(jù)庫】節(jié)點,從彈出來的快捷菜單中選擇【新建數(shù)據(jù)庫】命令。
4、執(zhí)行上述操作后,會彈出【新建數(shù)據(jù)庫】對話框。在對話框、左側(cè)有3個選項,分別是【常規(guī)】、【選項】和【文件組】。完成這三個選項中的設(shè)置會后,就完成了數(shù)據(jù)庫的創(chuàng)建工作。
5、在【數(shù)據(jù)庫名稱】文本框中輸入要新建數(shù)據(jù)庫的名稱。例如,這里以“新建的數(shù)據(jù)庫”。
6、在【所有者】文本框中輸入新建數(shù)據(jù)庫的所有者,如sa。根據(jù)數(shù)據(jù)庫的使用情況,選擇啟用或者禁用【使用全文索引】復(fù)選框。
7、在【數(shù)據(jù)庫文件】列表中包括兩行,一行是數(shù)據(jù)庫文件,而另一行是日記文件。通過單擊下面的【添加】、【刪除】按鈕添加或刪除數(shù)據(jù)庫文件。
8、切換到【選項頁】、在這里可以設(shè)置數(shù)據(jù)庫的排序規(guī)則、恢復(fù)模式、兼容級別和其他屬性。
9、切換到【文件組】頁,在這里可以添加或刪除文件組。
10、完成以上操作后,單擊【確定】按鈕關(guān)閉【新建數(shù)據(jù)庫】對話框。至此“新建的數(shù)據(jù)”數(shù)據(jù)庫創(chuàng)建成功。新建的數(shù)據(jù)庫可以再【對象資源管理器】窗口看到。
---下文舉例分析了case?when常用的用法,如下所示:涉及排序字段的應(yīng)用
create?table?test
(
qty?int?,
sort?varchar(20)
)
insert?into?test(qty,sort)values
(1,'a'),(2,'b'),(3,'d'),(1,'e')
go
----方法1:
select?sort,qty,
case?qty
when?1?then?'少'
when?2?then?'中'
when?3?then?'多'
else?'未知'
end?as?[數(shù)量范圍]
from?test?
--方法2:
select?sort,qty,
case?
when?qty=1?then?'少'
when?qty=2?then?'中'
when?qty=3?then?'多'
else?'未知'
end?as?[數(shù)量范圍]
from?test?
---sum統(tǒng)計用法
select?
sum(?case??????when?qty=1?then?1?else?0?end)?as?[少],
sum(?case?qty??when??2?then?1?else?0?end)?as?[中],
sum(?case??????when?qty=3?then?1?else?0?end)?as?[多],
sum(?case??????when?qty?1?and?qty?2?and?qty?3?then?1?else?0?end)?as?[位置]
from?test?
---case?when?做排序字段
declare?@i?int?
set?@i=0
select?*?from?test?
order?by?
case?@i?when?0?then?qty?else?sort????end?
go
truncate?table?test
drop?????table?test
1、添加引用
using System.Data.SqlClient;
2、建立連接調(diào)用
SqlConnection?myConnection?=?new?SqlConnection("數(shù)據(jù)庫連接字符串");
//數(shù)據(jù)庫連接字符串通常是Data?Source=localhost;Initial?Catalog=數(shù)據(jù)庫名;User?ID=用戶名;Password=密碼
SqlCommand?myCommand?=?new?SqlCommand();
myCommand.CommandText?=?string.Format("select?count(*)?from?{0}?where?columName={1}",表明,列值);//構(gòu)造SQL查詢語句?????String.Format?(String,?Object[])?將指定?String?中的格式項替換為指定數(shù)組中相應(yīng)?Object?實例的值的文本等效項。????????myCommand.Connection?=?myConnection;
try
{
myCommand.Connection.Open();
int?count?=?(int)myCommand.ExecuteScalar();
if?(count??0)???
{
//count大于0表示有,調(diào)用自己寫的一個方法來更新
UpdateData();
}
else
{
小于0表示沒有,調(diào)用這個方法來插入????????????
InsertData();
}
}
catch?(Exception?ex)
{
Response.Write(ex.ToString());
}
//UpdateData方法????
public?void?UpdateData()
{
SqlConnection?myConnection?=?new?SqlConnection("數(shù)據(jù)庫連接字符串");
SqlCommand?myCommand?=?new?SqlCommand();
myCommand.CommandText?=?"用來更新的SQL語句";
myCommand.Connection?=?myConnection;
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
}
catch?(Exception?ex)
{
Response.Write(ex.ToString());
}
}
//InsertData方法?
public?void?InsertData()
{
SqlConnection?myConnection?=?new?SqlConnection("數(shù)據(jù)庫連接字符串");
SqlCommand?myCommand?=?new?SqlCommand();
myCommand.CommandText?=?"用來插入的SQL語句";
myCommand.Connection?=?myConnection;
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
}
catch?(Exception?ex)
{
Response.Write(ex.ToString());
}
}
-----這些都是基礎(chǔ)的寫法,可以將其封裝在一個工具類中,方便調(diào)用。
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Configuration;
using?System.Data;
using?System.Data.SqlClient;
namespace?DBUtility
{
public?class?SqlHelper
{
//通過配置文件(app.config:xml)讀取連接字符串
public?static?string?connectionString?=?ConfigurationManager?.ConnectionStrings["ConnectionString"].ConnectionString;
//字段,通過連接字符串獲取連接對象
private?SqlConnection?con?=?new?SqlConnection(connectionString);
//屬性,判斷連接對象的狀態(tài)并打開連接對象
public?SqlConnection?Con
{
get?{
switch?(con.State)
{
case?ConnectionState.Broken:
con.Close();?//先正常關(guān)閉,釋放資源
con.Open();
break;
case?ConnectionState.Closed:
con.Open();
break;
case?ConnectionState.Connecting:
break;
case?ConnectionState.Executing:
break;
case?ConnectionState.Fetching:
break;
case?ConnectionState.Open:
break;
default:
break;
}
return?con;?}
set?{?con?=?value;?}
}
//執(zhí)行存儲過程或者SQL語句并返回數(shù)據(jù)集DataSet
public?DataSet?GetDataSet(string?strSQL,?CommandType?cmdType,?params?SqlParameter[]?values)
{
SqlCommand?cmd?=?PrepareCommand(strSQL,?cmdType,?values);
SqlDataAdapter?da?=?new?SqlDataAdapter(cmd);
DataSet?ds?=?new?DataSet();
da.Fill(ds);
return?ds;
}
//執(zhí)行存儲過程或者SQL語句并返回SqlDatareader
public?SqlDataReader?GetDataReader(string?strSQL,?CommandType?cmdType,?params?SqlParameter[]?values)
{
SqlCommand?cmd?=?PrepareCommand(strSQL,?cmdType,?values);
SqlDataReader?dr?=?cmd.ExecuteReader(CommandBehavior.CloseConnection);
return?dr;
}
//執(zhí)行存儲過程或者SQL語句并返回首行首列(新增方法的主鍵)
public?object?ExecuteScalar(string?strSQL,?CommandType?cmdType,?params?SqlParameter[]?values)
{
SqlCommand?cmd?=?PrepareCommand(strSQL,?cmdType,?values);
return?cmd.ExecuteScalar();
}
//執(zhí)行存儲過程或者SQL語句并返回受影響行數(shù)
public?int?ExecuteNonQuery(string?strSQL,?CommandType?cmdType,?params?SqlParameter[]?values)
{
SqlCommand?cmd?=?PrepareCommand(strSQL,?cmdType,?values);
return?cmd.ExecuteNonQuery();
}
//內(nèi)部方法,實例化命令對象并配置相關(guān)屬性
private?SqlCommand?PrepareCommand(string?strSQL,?CommandType?cmdType,params?SqlParameter[]?values)
{
SqlCommand?cmd?=?new?SqlCommand();
cmd.Connection?=?Con;
cmd.CommandText?=?strSQL;
cmd.CommandType?=?cmdType;
cmd.CommandTimeout?=?60;
cmd.Parameters.AddRange(values);
return?cmd;
}
}
}