📄 437.html
字号:
SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替<br>MONEY型数据,以节省空间。下面的例子显示了如何使用这两种表示钱的数据类型:<br><br>CREATE TABLE products (product VARCHAR(40),price MONEY,<br><br>Discount_price SMALLMONEY) <br><br>这个表可以用来存储商品的折扣和普通售价。字段price 的数据类型是MONEY,字段discount_price的数据类型是SMALLMONEY。<br><br>存储逻辑值<br><br>如果你使用复选框(CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。这里有<br>一个如何使用这种字段的例子:<br><br>CREATE TABLE opinion (visitor VARCHAR(40),good BIT)<br><br>这个表可以用来存放对你的网点进行民意调查所得的信息。访问者可以投票表示他们是否喜欢你的网点。如果他们投YES,就在BIT<br>型字段中存入1。反之,如果他们投NO,就在字段中存入0(在下一章里,你将学会如何计算投票)。<br><br>当心,在你创建好一个表之后,你不能向表中添加BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。<br><br>存储日期和时间<br><br>当你建立一个网点时,你也许需要记录在一段时间内的访问者数量。为了能够存储日期和时间,你需要使用DATETIME型数据,如下<br>例所示:<br><br>CREATE TABL visitorlog( visitor VARCHAR (40), arrivaltime DATETIME ,<br><br>departuretime DATETIME)<br><br>这个表可以用来记录访问者进入和离开你网点的时间和日期。一个DATETIME型的字段可以存储的日期范围是从1753年1月1日<br>第一毫秒到9999年12月31日最后一毫秒。<br><br>如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示<br>的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月<br>1日到2079年6月6日的日期,它只能精确到秒。<br><br>DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。在下一章,你将学习怎样使用大量的SQL函<br>数来读取和操作日期和时间(参见下面的“缺省值”一节)。你也可以在VBScript和JScript 中使用日期和时间函数来向一个<br>DATETIME型字段中输入日期和时间。<br><br>字段属性<br><br>上一节介绍了如何建立包含不同类型字段的表。在这一节中,你将学会如何使用字段的三个属性。这些属性允许你控制空值,缺省<br>值和标识值。<br><br>允许和禁止空值<br><br>大多数字段可以接受空值(NULL)。当一个字段接受了空值后,如果你不改变它,它将一直保持空值。空值(NULL)和零是不同<br>的,严格的说,空值表示没有任何值。<br><br>为了允许一个字段接受空值,你要在字段定义的后面使用表达式NULL。例如,下面的表中两个字段都允许接受空值:<br><br>CREATE TABLE empty (empty1 CHAR (40) NULL,empty2 INT NULL(<br><br>注意:<br><br>BIT型数据不能是空值。一个这种类型的字段必须取0或者1。<br><br>有时你需要禁止一个字段使用空值。例如,假设有一个表存储着信用卡号码和信用卡有效日期,你不会希望有人输入一个信用卡号<br>码但不输入有效日期。为了强制两个字段都输入数据,你可以用下面的方法建立这个表:<br><br>CREATE TABLE creditcards (creditcard_number CHAR(20) NOT NULL,<br><br>Creditcard_expire DATETIME NOT NULL)<br><br>注意字段定义的后面跟有表达式NOT NULL。通过包含表达式NOT NULL,你可以禁止任何人只在一个字段中插入数据,而不输入另一<br>个字段的数据。<br><br>你将会发现,在你建设自己的网点过程中,这种禁止空值的能力是非常有用的。如果你指定一个字段不能接受空值,那么当你试图<br>输入一个空值时,会有错误警告。这些错误警告可以为程序调试提供有价值的线索。<br><br>缺省值<br><br>假设有一个存储地址信息的表,这个表的字段包括街道、城市、州、邮政编码和国家。如果你预计地址的大部分是在美国,你可以<br>把这个值作为country字段的缺省值。<br><br>为了在创建一个表时指定缺省值,你可以使用表达式DEFAULT。请看下面这个在创建表时使用缺省值的例子:<br><br>CREATE TABLE addresses (street VARCHAR(60) NULL,<br><br>city VARCHAR(40) NULL,<br><br>state VARCHAR(20) NULL<br><br>zip VARCHAR(20) NULL,<br><br>country VARCHAR(30) DEFAULT ‘USA’)<br><br>在这个例子中,字段country的缺省值被指定为美国。注意单引号的使用,引号指明这是字符型数据。为了给非字符型的字段指定<br>缺省值,不要把该值扩在引号中:<br><br>CREATE TABLE orders(price MONEY DEFAULT $38.00,<br><br>quantity INT DEFAULT 50,<br><br>entrydate DATETIME DEFAULT GETDATE())<br><br>在这个CREATE TABLE语句中,每个字段都指定了一个缺省值。注意DATETIME型字段entrydate所指定的缺省值,该缺省值是函数<br>Getdate()的返回值,该函数返回当前的日期和时间。<br><br>标识字段<br><br>每个表可以有一个也只能有一个标识字段。一个标识字段是唯一标识表中每条记录的特殊字段。例如,数据库pubs中的表jobs包含<br>了一个唯一标识每个工作标识字段: <br><br>job_id job_desc<br><br>…………………………………………………………….<br><br>New Hire Job not specified <br>Chief Executive officer <br>Bushness Operations Manager <br>Chief Financial Officier <br>Publisher <br>字段job_id为每个工作提供了唯一的一个数字。如果你决定增加一个新工作,新增记录的job_id字段会被自动赋给一个新的唯一<br>值。<br><br>为了建立一个标识字段,你只需在字段定义后面加上表达式IDENTITY即可。你只能把NUMERIC型或INT型字段设为标识字段,这里<br>有一个例子:<br><br>CREATE TABLE visitorID (theID NUBERIC(18) IDENTITY,name VARCHAR(40))<br><br>这个语句所创建的表包含一个名为theid的标识字段。每当一个新的访问者名字添加到这个表中时,这个字段就被自动赋给一个新<br>值。你可以用这个表为你的站点的每一个用户提供唯一标识。<br><br>技巧:<br><br>建立一个标示字段时,注意使用足够大的数据类型。例如你使用TINYINT型数据,那么你只能向表中添加255个记录。如果你预计一<br>个表可能会变得很大,你应该使用NUMERIC型数据。<br><br>标识字段的存在会使你想尝试许多不可能的事情。例如,你也许想利用标识字段来对记录进行基于它们在表中位置的运算。你应该<br>抛弃这种意图。每个记录的标识字段的值是互不相同的,但是,这并不禁止一个标识字段的标识数字之间存在间隔。例如,你永远<br>不要试图利用一个表的标识字段来取出表中的前十个记录。这种操作会导致失败,比如说6号记录和7号记录根本不存在。<br><br> <br><br>__________________<br><font color=red>真实源于生活! </font><br>请访问我们的网站: <br>(VB爱好者乐园) <br><a href="http://www.vbgood.com" target=_blank>http://www.vbgood.com</a><br><a href="http://www.d1vb.com" target=_blank>http://www.d1vb.com</a><br><a href="http://61.128.97.225/vbgood/index.asp" target=_blank>http://61.128.97.225/vbgood/index.asp</a><br>拥有1800多个资料! </p></td>
</tr>
</table>
<p>
<CENTER><a href="http://www.jsp001.com/forum/newreply.php?action=newreply&threadid=437">点这里对该文章发表评论</a></CENTER>
<p>该文章总得分是 <font color=red>6</font> 分,你认为它对你有帮助吗?
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=437&intVote=4","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>非常多</a>](<font color=red>1</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=437&intVote=2","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>有一些</a>](<font color=red>1</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=437&intVote=1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>无帮助</a>](<font color=red>1</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=437&intVote=-1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>是灌水</a>](<font color=red>1</font>) </p>
<script language="javascript" src="http://www.jsp001.com/include/read_thread_script.php?threadid=437"></script>
<p><CENTER>
Copyright © 2001 - 2009 JSP001.com . All Rights Reserved <P>
<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -