在上篇文章已创好的数据库的基础上,我们继续创建数据表。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
T-SQL创建数据库的语法如下:
CREATE TABLE 表名
(
字段名1 数据类型 约束,
字段名1 数据类型 约束,
…
)
首先是创建学员信息表stuInfo,这里有些小细节:IDENTITY(起始值,递增量)所在列为标识列,NUMERIC (18,0)代表18位数字,小数位数为0。
USE stuDB --将当前数据库设置为stuDB
GO
IF EXISTS(SELECT * FROM sysobjects WHERE name=’stuInfo’ )
DROP TABLE stuInfo
CREATE TABLE stuInfo /*-创建学员信息表-*/
(
stuNo CHAR(6) NOT NULL, --学号,非空(必填)
stuName VARCHAR(20) NOT NULL , --姓名,非空(必填)
stuAge INT NOT NULL, --年龄,INT类型默认为4个字节
stuID NUMERIC(18,0), --身份证号
stuSeat SMALLINT IDENTITY (1,1), --座位号,自动编号
stuAddress TEXT --住址,允许为空,即可选输入
)
GO
然后是创建学员成绩表 stuMarks
CREATE TABLE stuMarks
(
ExamNo CHAR(7) NOT NULL, --考号
stuNo CHAR(6) NOT NULL, --学号
writtenExam INT NOT NULL, --笔试成绩
LabExam INT NOT NULL --机试成绩
)
GO
当表中存在stuInfo表时,再次创建出错如何解决呢?我们肯定会想到:和数据库处理同样的办法。那到哪儿检测呢?哦,在stuDB数据库的系统表sysobjects(对象表)中检查name列即可。好啦,现在我们数据库和表都创建好了。我们在建表的时候对每个字段都指定了数据类型,对能够插入的值的类型做了基本的限制和区分。那么SQL Server中到底有哪些数据类型呢?我们下篇文章来看一下。