SQL数据库基础编程_第1页
SQL数据库基础编程_第2页
SQL数据库基础编程_第3页
SQL数据库基础编程_第4页
SQL数据库基础编程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

SQLServer数据库基础编程ØGo批处理语句

用于同时执行多个语句

Ø使用、切换数据库usemastergo

Ø创建、删除数据库方法1、--判断是否存在该数据库,存在就删除if(exists(select*fromsys.databaseswherename='testHome'))dropdatabasetestHomego--创建数据库,设置数据库文件、日志文件保存目录createdatabasetestHomeon(name='testHome',filename='c:\data\students.mdf')logon(name='testHome_log',filename='c:\data\testHome_log.ldf')go

方法2(设置文件大小)、if(exists(select*fromsys.databaseswherename='testHome'))dropdatabasetestHomegocreatedatabasetestHome--默认就属于primary主文件组,可省略onprimary(--数据文件的具体描述name='testHome_data',--主数据文件的逻辑名fileName='c:\testHome_data.mdf',--主数据文件的物理名size=3MB,--主数据文件的初始大小maxSize=50MB,--主数据文件增长的最大值fileGrowth=10%--主数据文件的增长率)--日志文件的具体描述,各参数含义同上logon(name='testHome_log',fileName='c:\testHome_log.ldf',size=1MB,fileGrowth=1MB)go

方法3(设置次数据文件)、if(exists(select*fromsys.databaseswherename='testHome'))dropdatabasetestHomegocreatedatabasetestHome--默认就属于primary主文件组,可省略onprimary(--数据文件的具体描述name='testHome_data',--主数据文件的逻辑名fileName='c:\testHome_data.mdf',--主数据文件的物理名size=3MB,--主数据文件的初始大小maxSize=50MB,--主数据文件增长的最大值fileGrowth=10%--主数据文件的增长率),--次数据文件的具体描述(--数据文件的具体描述name='testHome2_data',--主数据文件的逻辑名fileName='c:\testHome2_data.mdf',--主数据文件的物理名size=2MB,--主数据文件的初始大小maxSize=50MB,--主数据文件增长的最大值fileGrowth=10%--主数据文件的增长率)--日志文件的具体描述,各参数含义同上logon(name='testHome_log',fileName='c:\testHome_log.ldf',size=1MB,fileGrowth=1MB),(name='testHome2_log',fileName='c:\testHome2_log.ldf',size=1MB,fileGrowth=1MB)go

Ø基本数据类型精确数字类型类型描述bigintbigint数据类型用于整数值可能超过int数据类型支持范围的情况,范围:-2^63到2^63-1,存储空间8字节int整数数据类型,范围在-2^31到2^31-1,存储空间4字节smallint整数,范围在-2^15到2^15-1,存储空间2字节tinyint范围在0到255,存储空间1字节bit可以取值为1、0或NULL的整数数据类型,每8个bit占一个字节,16bit就2个字节,24bit就3个字节decimal带固定精度和小数位数的数值数据类型,有效值从-10^38+1到10^38-1numeric同上money货币或货币值的数据类型,范围在-922,337,203,685,477.5808到922,337,203,685,477.5807smallmoney货币类型,-214,748.3648到214,748.3647

近似数字类型类型描述float表示浮点数值数据的大致数值数据类型。浮点数据为近似值;范围-1.79E+308至-2.23E-308、0以及2.23E-308至1.79E+308realreal的SQL-92同义词为float(24),范围在-3.40E+38至-1.18E-38、0以及1.18E-38至3.40E+38

日期时间类型类型描述datetime表示某天的日期和时间的数据类型,范围在1753年1月1日到9999年12月31日smalldatetime范围在1900年1月1日到2079年6月6日

字符串类型类型描述char固定长度或可变长度的字符数据类型,范围在范围为1至8,000字节text最大长度为2^31-1varchar固定长度或可变长度的字符数据类型,最大存储大小是2^31-1个字节

Unicode字符串类型类型描述nchar字符数据类型,长度固定,在必须在1到4,000之间nvarchar可变长度Unicode字符数据。最大存储大小为2^31-1字节ntext长度可变的Unicode数据,最大长度为2^30-1(1,073,741,823)个字符

二进制字符串类型类型描述binary长度为n字节的固定长度二进制数据,范围从1到8,000的值。存储大小为n字节。varbinary可变长度二进制数据。n可以取从1到8,000的值。最大的存储大小为2^31-1字节image长度可变的二进制数据,从0到2^31-1(2,147,483,647)个字节

Ø判断表或其他对象及列是否存在--判断某个表或对象是否存在if(exists(select*fromsys.objectswherename='classes'))print'存在';goif(exists(select*fromsys.objectswhereobject_id=object_id('student')))print'存在';goif(object_id('student','U')isnotnull)print'存在';go

--判断该列名是否存在,如果存在就删除if(exists(select*fromsys.columnswhereobject_id=object_id('student')andname='idCard'))altertablestudentdropcolumnidCardgoif(exists(select*frominformation_schema.columnswheretable_name='student'andcolumn_name='tel'))altertablestudentdropcolumntelgo

Ø创建、删除表--判断是否存在当前tableif(exists(select*fromsys.objectswherename='classes'))droptableclassesgocreatetableclasses(idintprimarykeyidentity(1,2),namevarchar(22)notnull,createDatedatetimedefaultgetDate())goif(exists(select*fromsys.objectswhereobject_id=object_id('student')))droptablestudentgo--创建tablecreatetablestudent(idintidentity(1,1)notnull,namevarchar(20),ageint,sexbit,cidint)go

Ø给表添加字段、修改字段、删除字段--添加字段altertablestudentaddaddressvarchar(50)notnull;--修改字段altertablestudentaltercolumnaddressvarchar(20);--删除字段altertablestudentdropcolumnnumber;

--添加多个字段altertablestudentaddaddressvarchar(22),telvarchar(11),idCardvarchar(3);

--判断该列名是否存在,如果存在就删除if(exists(select*fromsys.columnswhereobject_id=object_id('student')andname='idCard'))altertablestudentdropcolumnidCardgoif(exists(select*frominformation_schema.columnswheretable_name='student'andcolumn_name='tel'))altertablestudentdropcolumntelgo

Ø添加、删除约束--添加新列、约束altertablestudentaddnumbervarchar(20)nullconstraintno_ukunique;--增加主键altertablestudentaddconstraintpk_idprimarykey(id);--添加外键约束altertablestudentaddconstraintfk_cidforeignkey(cid)referencesclasses(id)go--添加唯一约束altertablestudentaddconstraintname_ukunique(name);--添加check约束altertablestudentwithnocheckaddconstraintcheck_agecheck(age>1);altertablestudentaddconstraintck_agecheck(age>=15andage<=50)--添加默认约束altertablestudentaddconstraintsex_defdefault1forsex;--添加一个包含默认值可以为空的列altertablestudentaddcreateDatesmalldatetimenullconstraintcreateDate_defdefaultgetDate()withvalues;

-----多个列、约束一起创建--------altertablestudentadd/*添加id主键、自增*/idintidentityconstraintidprimarykey,/*添加外键约束*/numberintnullconstraintuNumberreferencesclasses(number),/*默认约束*/createDatedecimal(3,3)constraintcreateDatedefault2010-6-1go

--删除约束altertablestudentdropconstraintno_uk;

Ø插入数据insertintoclasses(name)values('1班');insertintoclassesvalues('2班','2011-06-15');insertintoclasses(name)values('3班');insertintoclassesvalues('4班',default);

insertintostudentvalues('zhangsan',22,1,1);insertintostudentvalues('lisi',25,0,1);insertintostudentvalues('wangwu',24,1,3);insertintostudentvalues('zhaoliu',23,0,3);insertintostudentvalues('mazi',21,1,5);insertintostudentvalues('wangmazi',28,0,5);insertintostudentvalues('jason',null,0,5);insertintostudentvalues(null,null,0,5);

insertintostudentselect'bulise'name,age,sex,cidfromstudent

温馨提示

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

评论

0/150

提交评论