研发部数据库应用开发培训_第1页
研发部数据库应用开发培训_第2页
研发部数据库应用开发培训_第3页
研发部数据库应用开发培训_第4页
研发部数据库应用开发培训_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用开发一、SQLserverSQL语言概要二、如何读懂数据库设计图三、如何使用SQLServer企业管理器、查询分析器四、.NET中对于数据库访问提供的对象(熟悉DataSet、DataTable、DataRow对象)五、使用SqlHelper并创建DBAccess实现数据库封装六、如何使用DBAccess提供的方法

目录

一、SQL语言概要一、数据类型二、SQL语句

数据类型Char和Varcharchar和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

数据类型Nchar、Nvarcharnvarchar、nchar从名称上看只是多了个字母“n”,它表示存储的是Unicode数据类型的字符。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。

数据类型DateTimedatetime:从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒。

数据类型BigInt、Int、SmallInt、TinyIntbigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。

int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据。

smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据。

tinyint:从0到255的整数数据。

Bitbit:1或0的整数数据。数据类型Decimal/Numeric、Floact、Realdecimal和numeric这两种数据类型是等效的。都有两个参数:p(精度)和s(小数位数)。指定小数点左边和右边可以存储的十进制数字的最大个数,p必须是从1到38之间的值。s指定小数点右边可以存储的十进制数字的最大个数,s必须是从0到p之间的值,默认小数位数是0。float和realfloat:从-1.79^308到1.79^308之间的浮点数字数据。

real:从-3.40^38到3.40^38之间的浮点数字数据。在SQLServer中,real的同义词为float(24)。

SQL语句Select语句Insert语句Update语句Delete语句其他常用的SQL语句SELECT[ALL|DISTINCT]<select_list>

FROM{<table_source>}[,…n]

WHERE<search_condition>PartialSyntax1SELECTStatementSelectListWHEREFROM指定列employeeidlastnamefirstnametitle1DavolioNancySalesRepresentative2FullerAndrewVicePresident,Sales3LeverlingJanetSalesRepresentative4PeacockMargaretSalesRepresentative5BuchananStevenSalesManager6SuyamaMichaelSalesRepresentative7KingRobertSalesRepresentative8CallahanLauraInsideSalesCoordinator9DodsworthAnneSalesRepresentativeUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesGOWHERE———过滤滤行employeeidlastnamefirstnametitle5BuchananStevenSalesManagerUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesWHEREemployeeid=5GO修改列名名1)SELECTau_fname,au_lname,city,state,phoneASTelephoneFROMauthors--推荐荐使用2)SELECTau_fname,au_lname,city,state,Telephone=phoneFROMauthors3)SELECTau_fname,au_lname,city,state,phoneTelephoneFROMauthors更改表名名1)SELECTa.*fromauthorsasa2)SELECTa.*fromauthorsa3)selectb.*from(select*fromauthors)asbInsert单行数据据INSERT……VALUES多行数据据INSERT……SELECTSELECTINTO插入部分数据据使用默认插入入数据插入单行数据据语法INSERTINTO表名[列名序列列]VALUES(值序列列)例子USEnorthwind

INSERTINTOorders

(ID,quantity,note))VALUES(1,10,’NewOrder’)GODELETE语法DELETEFROM表名[WHERE删除条条件]例子USEnorthwind

DELETEfromordersGOUSEnorthwindUPDATEproductsSETunitprice=(unitprice*1.1)GOUpdate语法UPDATE表名SET列名名=常量值|表达式式[WHERE更新条条件]例子其他有用的SQL删除重复行限制返回行数数IN(NOTIN)LIKEISNULL查询结果排序序ISNULL()函数数联合查询1、删除重复复行

SELECT语句句中使用ALL或DISTINCT选项来显示示表中符合条条件的所有行行或删除其中中重复的数据据行,默认为为ALL。使用DISTINCT选选项时,对于于所有重复的的数据行在SELECT返回的结果果集合中只保保留一行。2、限制制返回的行数数

使用TOPn[PERCENT]选项项限制返回的的数据行数,,TOPn说明返回n行,而TOPnPERCENT时,说明明n是

表示示一百分数,,指定返回的的行数等于总总行数的百分分之几。例例如:

SELECTTOP2*

FROMtesttable

SELECTTOP20PERCENT*

FROMtesttableNOTIN(项1,项2……)模式匹配符(判断值是否否与指定的字字符通配格式式相符):LIKE、NOTLIKE

空值值判断符(判判断表达式是是否为空)::ISNULL、NOTISNULL逻逻辑运算符符(用于多条条件的逻辑连连接):NOT、AND、OR1、范围运算算符例:ageBETWEEN10AND30相相当于age>=10ANDage<=30

2、列列表运算符例例:countryIN(‘Germany’,‘China’’)

3、模模式匹配符例例:常用于模模糊查找,它它判断列值是是否与指定的的字符串格式式相匹配。可可用于char、

varchar、text、ntext、datetime和smalldatetime等等类型查询。。空值判断符例例WHEREageISNULL逻辑运算符::优先级为NOT、AND、OR(四)查询结结果排序使用ORDERBY子子句对查询返返回的结果按按一列或多列列排序。ORDERBY子句的语语法格式为::ORDERBY{column_name[ASC|DESC]}[,…n]其中ASC表表示升序,为为默认值,DESC为降降序。例如::SELECT*

FROMusertable

ORDERBYagedesc,useridASC

另外,,可以根据表表达式进行排排序。ISNULL(check_expression,replacement_value)参数

check_expression将将被检查是否否为NULL的表达式式。check_expression可以以是任何类型型的。

replacement_value

在check_expression为为NULL时将返回回的表达式。。replacement_value必须须与check_expresssion具具有相同的的类型。返返回类型返返回与check_expression相同的类类型。

注释释

如果check_expression不为NULL,那那么返回该表表达式的值;;否则返回replacement_value。示示例A.将将ISNULL与AVG一一起使用下下面的示例查查找所有书的的平均价格,,用值$10.00替替换titles表表的price列列中的所有NULL条条目。USEpubsGOSELECTAVG(ISNULL(price,$10.00))FROMtitlesGO

下面是结结果集:--------------------------14.24(1row(s)affected)

B.使使用ISNULL下下面的示例例为titles表表中的所有书书选择书名、、类型及价格格。如果一个个书名的价格格是NULL,那么在在结果集中显显示的价格为为0.00。

USEpubsGOSELECTSUBSTRING(title,1,15)ASTitle,typeASType,ISNULL(price,0.00)ASPriceFROMtitlesGO二、联合查询询内连接左连接右连接关键词innerjoin、leftjoin、rightjoinJoin用途:当你要从两个个或者以上的的表中选取结结果集时,你你就会用到JOIN。例:“Employees””表中的数据据如下,(其其中ID为主主键):IDName01Hansen,Ola02Svendson,Tove03Svendson,Stephen04Pettersen,Kari“Orders”表中的的数据如下::IDProduct01Printer03Table03Chair用Employees的的ID和Orders的的ID相关联联选取数据::SELECTEmployees.Name,Orders.ProductFROMEmployees,OrdersWHEREEmployees.ID=Orders.ID返回结果:NameProductHansen,OlaPrinterSvendson,StephenTableSvendson,StephenChair或者你也可以以用JOIN关键字来完完成上面的操操作:SELECTEmployees.Name,Orders.ProductFROMEmployeesINNERJOINOrdersONEmployees.ID=Orders.IDINNERJOIN的的语法:SELECTfield1,field2,field3FROMfirst_tableINNERJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield解释:INNERJOIN返回的的结果集是两两个表中所有有相匹配的数数据。LEFTJOIN的语语法:SELECTfield1,field2,field3FROMfirst_tableLEFTJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield用”Employees”表去左外外联结”Orders””表去找出相相关数据:SELECTEmployees.Name,Orders.ProductFROMEmployeesLEFTJOINOrdersONEmployees.ID=Orders.ID返回结果:NameProductHansen,OlaPrinterSvendson,ToveSvendson,StephenTableSvendson,StephenChairPettersen,Kari解释:LEFTJOIN返回”first_table”中所有的的行尽管在””second_table”中中没有相匹配配的数据。RIGHTJOIN的的语法:SELECTfield1,field2,field3FROMfirst_tableRIGHTJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield用”Employees”表去右外外联结”Orders””表去找出相相关数据:SELECTEmployees.Name,Orders.ProductFROMEmployeesRIGHTJOINOrdersONEmployees.ID=Orders.ID返回结果:NameProductHansen,OlaPrinterSvendson,StephenTableSvendson,StephenChair解释:RIGHTJOIN返回””second_ta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论