会员名称:  密码:   验证码:     会员注册  忘记密码? 
设为首页
加入收藏
返回首页
媒体资讯>> 业界资讯 - 会展动态 - 竞赛&活动 - IT互联网  媒体学院>> 图形图像 - 网页制作 - 网络编程 - 数据库 - 服务器 - 网络应用  作品赏析>> 视频音响 - CG动画 - UI设计 - 平面设计 - 网页设计 - 摄影映象 - 三维2D - 其它设计  媒体工作室>> 视频影像 - 音频声响 - 三维2D - 平面视觉 - 软硬技术 - 摄影映象  人物访谈>> 人物访谈 - 华夏新锐  媒体杂志>> 媒体杂志  素材图库>> 丽景佳图 - 设计素材 - 资料图库 - 矢量图库 - 动态动画 - 特色图标  酷站赏析>> 韩国网站 - 国外网站 - 国内网站  会员中心>> 会员注册 - 会员登陆
当前位置:华夏媒体 - > 媒体学院 - > 数据库 - > MYSQL - > MySQL数据库技术(04)
   
   
   
MySQL数据库技术(04) MySQL数据库技...  [MYSQ...]
More... 
   
网络协议X档案全集(十) 网络协议X档案...  [其它...]
不可忽视的BIOS参数设置 不可忽视的BIO...  [其它...]
微软IE浏览器非常规修改全攻略(上) 微软IE浏览器非...  [其它...]
微软IE浏览器非常规修改全攻略(下) 微软IE浏览器非...  [其它...]
网管十招 网管十招  [其它...]
微软安全问题 源自OS和IE中集成RSS 微软安全问题 ...  [其它...]
修改注册表使电脑更安全 修改注册表使电...  [其它...]
利用注册表管理IP地址 利用注册表管理...  [其它...]
有关IIS HACK的一些方法整理 有关IIS HACK的...  [其它...]
More 
MySQL数据库技术(04)
编辑:华夏媒体     作者:未知     来源:网络     时间:2006-07-29     总浏览量:4161
文字大小:[      ]     文字颜色:      双击滚屏/单击停止

[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [下一页] 


    然后,键入如上所示的C R E ATE TABLE 语句。(请记住,语句结尾要增加一个分号,否则mysql 将不知道哪儿是语句的结尾。)
为了利用来自样例数据库分发包的预先写下的描述文件来创建president 表,可从外壳程序运行下列命令:

    不管用哪种方法调用m y s q l,都应该在命令行中数据库名的前面指定连接参数(主机名、用户名或口令)。C R E ATE TABLE 语句中每个列的说明由列名、类型(该列将存储的值的种类)以及一些可能的列属性组成。president 表中所用的两种列类型为VARCHAR 和D AT E。VA R C H A R(n)代表该列包含可变长度的字符(串)值,其最大长度为n 个字符。可根据期望字符串能有多长来选择n 值。
state 定义为VA R C H A R ( 2 );即所有州名都只用其两个字符的缩写来表示。其他的字符串列则需要更长一些,以便存放更长的值。
我们使用过的其他列类型为D AT E。这种列类型表示该列存储的是日期值,这一点也不令人吃惊。而令人吃惊的是,日期的表示以年份开头。其标准格式为“ Y Y Y Y- M M - D D”(例如,“1 9 9 9 - 0 7 - 1 8”)。这是日期表示的ANSI SQL 标准。我们用于president 表的唯一列属性为N U L L(值可以缺少)和NOT NULL(必须填充值)。多数列是NOT NULL 的,因为我们总要有一个它们的值。可有NULL 值的两个列是s u ff i x(多数姓名没有后缀)和d e a t h(有的总统仍然健在,所以没有死亡日期)。member 表的C R E ATE TABLE 语句如下所示:

    将此语句键入mysql 或执行下列外壳程序命令:

    从列的类型来看,member 表并不很有趣:所有列中,除了一列之外,其他列都是可变长字符串。这个例外的列就是e x p i r a t i o n,为D ATE 型。终止日期值有一个缺省值为“0 0 0 0 - 0 0 -0 0”,这是一个非NULL 的值,它表示未输入合法的日期值。这样做的原因是expiration 可以是N U L L,它表示一个会员是终身会员。但是,因为此列可以为N U L L,除非另外指定一个不同的值,否则它将取缺省值“ 0 0 0 0 - 0 0 - 0 0”。如果创建了一个新会员记录,但忘了指定终止日期,该会员将成为一个终身会员!通过采用缺省值“ 0 0 0 0 - 0 0 - 0 0”的方法,避免了这个问题。它还向我们提供了一种手段,即可以定期地搜索这个值,以找出过去未正确输入终止日期的记录。
    请注意,我们“忘了”放入会员ID 号的列。这是专门为了以后练习使用A LTER TA B L E语句而遗留下的。现在让我们来验证一下MySQL 是否确实如我们所期望的那样创建了表。在mysql 中,发布下列查询:

    与MySQL 3.23 一样,此输出还包括了显示访问权限信息的另一个列,这里没有给出,
因为它使每行太长,不易显示。
    这个输出结果看上去和我们所期望的非常一致,除了state 列的信息显示它的类型为C H A R ( 2 )。这就有点古怪了,我们不是定义它为VARCHAR(2) 了吗?是的,是这样定义的,但是MySQL 已经悄悄地将此类型从VARCHAR 换成了C H A R。原因是为了使短字符串列的
存储空间利用更为有效,这里不多讨论。如果希望详细了解,可参阅第3 章中关于A LT E RTABLE 语句的介绍。但对这里的使用来说,两种类型没有什么差别。
    如果发布一个DESCRIBE member 查询,mysql 也会显示member 表的类似信息。DESCRIBE 在您忘了表中的列名、需要知道列的类型、了解列有多宽等的时候很有用。它对于了解MySQL 存储表行中列的次序也很有用。列的这个存储次序在使用I N S E RT 或LOAD DATA 语句时非常重要,因为这些语句期望列值以缺省列的次序列出。DESCRIBE 可以省写为D E S C,或者,如果您喜欢键入较多字符,则D E S C R I B Etbl_name 另一个等同的语句为SHOW COLUMNS FROM tbl_name。
    如果忘了表名怎么办?这时可以使用SHOW TA B L E S。对于samp_db 数据库,我们目前
为止创建了两个表,其输出结果如下:

    如果您甚至连数据库名都记不住,可在命令行上调用mysql 而不用给出数据库名,然后发布SHOW DATABASES 查询:

    数据库的列表在不同的服务器上是不同的,但是至少可以看到samp_db 和m y s q l;后一个数据库存放控制MySQL 访问权限的授权表。DESCRIBE 与SHOW 查询具有可从外壳程序中使用的命令行等同物,如下:
  % mysqlshow 与SHOW DATABASES 一样列出所有数据库
  % mysqlshow d b _ n a m e 与SHOW TABLES 一样列出给定数据库的表
  % mysqlshow db_name tbl_name 与DESCRIBE tbl_name 一样,列出给定表中的列
    2. 用于学分保存方案的表
    为了知道学分保存方案需要什么表,我们来看看在原来学分簿上是怎样记学分的。图1 - 2示出学分簿的一页。该页的主体是一个记录学分矩阵。还有一些对学分有意义的必要信息。学生名和ID 号列在矩阵的一端。(为了简单好看,只列出了四个学生。)在矩阵顶端,记录了进行测验和测试的日期。图中示出9月3号、6号、1 6号和2 3号进行测验, 9月9号和1 0月1号进


[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [下一页] 

打印   收藏   关闭   至顶部  


关于我们 | 联系我们 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 意见建议
版权所有  Copyright © 2005-2006 华夏媒体(Media86.Com). All Rights Reserved .
网站备案号:粤ICP备06055307号