设为首页
收藏本站
最新电影
> 子栏目 Asp | Jsp | XML | XSL | Div+Css | 自定义函数 | 数据库 | 脚本特效
您现在的位置: 首页=>后台技术=>数据库 订阅本栏目  
create语法:用SQL脚本创建新表
时间: 2008-02-27 23:04:14 阅读次数:6673

第 1 页 create语法:用SQL脚本创建新表[1]
第 2 页 create语法:用SQL脚本创建新表[2]


字段属性
属性允许控制空值,缺省值和标识值

允许和禁止空值
大多数字段可以接受空值(NULL)当一个字段接受了空值后,如果你不改变它,它将一直保持空值空值(NULL)和零是不同的,严格的说,空值表示没有任何值
为了允许一个字段接受空值,你要在字段定义的后面使用表达式NULL例如,下面的表中两个字段都允许接受空值:

CREATE TABLE empty (empty1 CHAR (40) NULL,empty2 INT NULL(

注意:
BIT型数据不能是空值一个这种类型的字段必须取0或者1

有时你需要禁止一个字段使用空值例如,假设有一个表存储着信用卡号码和信用卡有效日期,你不会希望有人输入一个信用卡号码但不输入有效日期为了强制两个字段都输入数据,你可以用下面的方法建立这个表:

CREATE TABLE creditcards (creditcard_number CHAR(20) NOT NULL, Creditcard_expire DATETIME NOT NULL)
注意字段定义的后面跟有表达式NOT NULL通过包含表达式NOT NULL,你可以禁止任何人只在一个字段中插入数据,而不输入另一个字段的数据
你将会发现,在你建设自己的网点过程中,这种禁止空值的能力是非常有用的如果你指定一个字段不能接受空值,那么当你试图输入一个空值时,会有错误警告这些错误警告可以为程序调试提供有价值的线索

缺省值
假设有一个存储地址信息的表,这个表的字段包括街道、城市、州、邮政编码和国家如果你预计地址的大部分是在美国,你可以把这个值作为country字段的缺省值飞飞!Asp技术乐园
为了在创建一个表时指定缺省值,你可以使用表达式DEFAULT请看下面这个在创建表时使用缺省值的例子:

CREATE TABLE addresses (street VARCHAR(60) NULL,
city VARCHAR(40) NULL,
state VARCHAR(20) NULL
zip VARCHAR(20) NULL,
country VARCHAR(30) DEFAULT ‘USA’)

在这个例子中,字段country的缺省值被指定为美国注意单引号的使用,引号指明这是字符型数据为了给非字符型的字段指定缺省值,不要把该值扩在引号中:

CREATE TABLE orders(price MONEY DEFAULT $38.00,
quantity INT DEFAULT 50,
entrydate DATETIME DEFAULT GETDATE())

在这个CREATE TABLE语句中,每个字段都指定了一个缺省值注意DATETIME型字段entrydate所指定的缺省值,该缺省值是函数Getdate()的返回值,该函数返回当前的日期和时间

标识字段
每个表可以有一个也只能有一个标识字段一个标识字段是唯一标识表中每条记录的特殊字段例如,数据库pubs中的表jobs包含了一个唯一标识每个工作标识字段:

job_id job_desc
…………………………………………………………….
1 New Hire Job not specified
2 Chief Executive officer
3 Bushness Operations Manager
4 Chief Financial Officier
5 Publisher

字段job_id为每个工作提供了唯一的一个数字如果你决定增加一个新工作,新增记录的job_id字段会被自动赋给一个新的唯一值飞飞Asp技术.乐园
为了建立一个标识字段,你只需在字段定义后面加上表达式IDENTITY即可你只能把NUMERIC型或INT型字段设为标识字段,这里有一个例子:

CREATE TABLE visitorID (theID NUBERIC(18) IDENTITY,name VARCHAR(40))

这个语句所创建的表包含一个名为theid的标识字段每当一个新的访问者名字添加到这个表中时,这个字段就被自动赋给一个新值你可以用这个表为你的站点的每一个用户提供唯一标识
技巧:
建立一个标示字段时,注意使用足够大的数据类型例如你使用TINYINT型数据,那么你只能向表中添加255个记录如果你预计一个表可能会变得很大,你应该使用NUMERIC型数据

标识字段的存在会使你想尝试许多不可能的事情例如,你也许想利用标识字段来对记录进行基于它们在表中位置的运算你应该抛弃这种意图每个记录的标识字段的值是互不相同的,但是,这并不禁止一个标识字段的标识数字之间存在间隔例如,你永远不要试图利用一个表的标识字段来取出表中的前十个记录这种操作会导致失败,比如说6号记录和7号记录根本不存在飞飞A!sp技术乐园




[上一页] [下一页]
站内搜索    

下一篇Microsoft SQL Server 2005 Service Pack 3(sqlserver2005 sp3)微软官方下载地址

上一篇数据类型详解 MSSQL

本栏目最新 栏目最新列表
access由于您和其他用户试图同时改变同一数
Microsoft SQL Server 2005 Service Pack 3
MySQL时间戳转换的方法
清除,删除表中数据的方法
mysql常用时间函数用法解释
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
Transact SQL 常 [1] [2]
VIA Rhine II Fast Ethe
电脑常用端 [1] [2] [3]
Do you get a kick out
十道羊皮卷 欣赏+mp3版+
每日一句:A friend and
每日一句:Theres no tu
经典__悟透JavaScript
 width= 
伟哥博客 西安房产 123最新电影 三四六四