您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 使用SQL语句创建数据库创建表[1]
使用SQL语句创建数据库、表创建数据库创建一个只含一个数据文件和一个事务日志文件的数据库CREATEDATABASE数据库名[ON[PRIMARY]{(NAME=数据文件的逻辑名称,FILENAME='数据文件的路径和文件名',SIZE=数据文件的初始容量,MAXSIZE=数据文件的最大容量,FILEGROWTH=数据文件的增长量)}[,…n]LOGON{(NAME=事务日志文件的逻辑名称,FILENAME='事务日志文件的物理名称',SIZE=事务日志文件的初始容量,MAXSIZE=事务日志文件的最大容量,FILEGROWTH=事务日志文件的增长量)}[,…n]]说明Transact-SQL的语法规则规则描述|(竖线)分隔括号或大括号内的语法项目。只能选择一个项目[](方括号)可选语法项目。不必键入方括号{}(大括号)必选语法项目。不必键入大括号[,…n]表示前面的项可重复n次,每一项由逗号分隔参数参数值数据库名称Student1数据文件逻辑名Student1_dat数据文件物理名D:\student1_dat.mdf数据文件初始大小10MB数据文件最大值50MB数据文件增长值原来的20%事务日志文件逻辑名Student1_log日志文件物理名D:\student1_log.ldf日志文件初始大小4MB日志文件最大值25MB日志文件增长值5MBcreatedatabasestudent1on(name=student1_dat,filename='d:\student_dat.mdf',size=10,maxsize=50,filegrowth=20%)logon(name=student1_log,filename='d:\student_log.ldf',size=4,maxsize=25,filegrowth=5)举例例2、可以简单地来创建数据库,CREATEDATABASEmytest没有指定主文件名,在默认的情况下,命名主文件为mytest.mdf,日志文件名为mytest_log.ldf。主文件和日志文件的大小都同Model数据库的主文件和日志文件大小一致,并且可以自由增长。删除数据库格式:DROPDATABASE数据库名例、将mytest数据库删除Dropdatabasemytest删除数据库将删除数据库所使用的数据库文件和磁盘文件。例3、复杂一点的数据库创建范例数据库名称为Student,第一个数据文件逻辑名称为class1,物理文件名为E:\class1.mdf,初始大小20MB,最大尺寸为无限大,增长速度为20%。第二个的数据文件Class2,E:\class2.ndf,初始大小40MB,最大尺寸为100MB,增长速度10MB。2个15MB的事务日志文件,事务日志文件的逻辑名为class1_log和class2_log,物理文件名为E:\classlog1.ldf和classlog2.ldf。CREATEDATABASEstudentONPRIMARY(NAME=class1,FILENAME='E:\class1.mdf',SIZE=20MB,MAXSIZE=unlimited,FILEGROWTH=20%),(NAME=class2,FILENAME='E:\class2.ndf',SIZE=40MB,MAXSIZE=100MB,FILEGROWTH=10MB)LOGON(NAME=class1_log,FILENAME='E:\classlog1.ldf',SIZE=15MB),(NAME=class2_log,FILENAME='E:\classlog2.ldf',SIZE=15MB)GO使用模板:Createdababase中的CreateDatabaseonMultipleFilesGroups.tql使用SQL语句创建表建表的语法CREATETABLE表名(字段1数据类型列的特征,字段2数据类型列的特征,...)列的特征:是否为主键包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、等。字段名说明字段数据类型字段大小约束sno学号char15主键sname姓名char10Notnullssex性别char2(‘男’,‘女’);默认值为‘男’sbirth出生年月日datetime[1990-1-1,1992-12-31]emailE-mailvarchar40包含@studentcreatetablestudent(snochar(15)primarykey,snamechar(10)notnull,ssexchar(2)check(ssexin('男','女'))default('女'),sbirthdatetimecheck(sbirthbetween'1990-1-1'and'1992/12/31'),emailchar(40)check(emaillike'%@%'))字段名说明字段数据类型字段大小约束kch课程号char4主键kcmc课程名称char10Notnullzxs总学时smallint练习:用creatbable语句创建Kcda(课程档案)表createtablekcda(kchchar(4)primarykey,kcmcchar(10)notnull,zxssmallint)字段名说明字段数据类型字段大小约束sno学号char15主键;外键kch课程号char4主键;外键grade分数smallint[0,100]xkqk选课情况createtablexkqk(snochar(15)foreignkeyreferencesstudent(sno),kchchar(4)foreignkeyreferenceskcda(kch),gradesmallintcheck(gradebetween0and100),constraintpk_xkqkprimarykey(sno,kch))使用ALTERTABLE语句修改表结构使用ALTERTABLE语句可以为表添加或删除列,也可以修改列性质。使用ALTERTABLE语句修改Receipt表,具体要求如下:①插入Dealer(经手人)列,数据类型为整型。altertablereceiptadddealerint②插入Checker(审核人)列,数据类型为字符型,长度为10。altertablereceiptaddcheckerchar(10)③将Dealer列的数据类型该为字符型,长度为10。altertablereceiptaltercolumndealerchar(10)④删除Dealer列。altertablereceiptdropcolumndealer⑤删除Checker列。删除表的语法:DROPTABLE表名IFEXISTS(SELECT*FROMsysobjectsWHEREname=’xkqk’andtype=‘U’)DROPTABLExkqk删除表USEjxglGOIFEXISTS(SELECT*FROMsysobjectsWHEREname=’xkqk’andtype=‘U’)DROPTABLExkqkCREATETABLExkqk(…..)GO插入(添加)数据插入一个元组INSERT[INTO]表名[(属性列1[,属性列2]…)]VALUES(常量1[,常量2]…)插入子查询结果INSERT[INTO]表名[(属性列1[,属性列2]…)]SELECT语句注意:插入字符型和日期型数据时必须用单引号。insertintorecReiptvalues(R081008001,2008-10-8,杭州娃哈哈,无)
本文标题:使用SQL语句创建数据库创建表[1]
链接地址:https://www.777doc.com/doc-5229488 .html