|
| 考试动态 | 报考指南 | 考试大纲 | 历年真题 | 模拟试题 | 经验交流 | 计算机专业英语 |
| 网络管理员 | 网络工程师 | 程序员 | 软件设计师 | 系统分析师 | 信息系统项目管理师 | 信息系统监理师 | 软件评测师 |
| 数据库系统工程师 | 电子商务设计师 | 电子商务技术员 | 信息技术处理员 | 系统架构设计师 | 标准化知识 | 法律法规知识 |
谈谈c++的初始化工作(2)
谈谈c++的初始化工作(1)
M-JPEG
跟我学SQL:(九)datetime和
跟我学SQL:(八)数值数据类
跟我学SQL:(七)从子表里删
跟我学SQL:(六)串行数据类
跟我学SQL:(五)创建和修改
跟我学SQL:(四)查询多个表
跟我学SQL:(三)使用SQL子
跟我学SQL:(二) SELECT语
跟我学SQL:(一)数据查询
谈谈c++的初始化工作(2)
谈谈c++的初始化工作(1)
M-JPEG
跟我学SQL:(九)datetime和
跟我学SQL:(八)数值数据类
跟我学SQL:(七)从子表里删
跟我学SQL:(六)串行数据类
跟我学SQL:(五)创建和修改
跟我学SQL:(四)查询多个表
跟我学SQL:(三)使用SQL子
跟我学SQL:(二) SELECT语
跟我学SQL:(一)数据查询/p> 再次欢迎您来到SQL(结构化查询语言)基础系列教程。本文将介绍数据库定义语言(DDL)用于创建数据库和表格以及修改表格结果的指令。
当你使用这些指令时一定要小心——它很容易删去你的数据库中的主要结构令您丢失数据。所以,在您开始修改数据库之前,您需要知道数据库是什么。
--------------------------------------------------------------------------------
数据库之间的差异
本文中的样品查询系统遵循SQL92 ISO标准。并不是所有的数据库都遵循该标准,有些数据库做了改进,这会产生不可预料的结果。如果你不能确定你的数据库是否支持该标准,请参考相应的文档。
--------------------------------------------------------------------------------
创建数据库
为了创建表格,你首先需要需要创建一个可以容纳表格的数据库。SQL用于创建数据库的基本语句是:
CREATE DATABASE dbname;
你的数据库用户必须有建立数据库的适当权限。如果与你有关的用户不能发出用于创建新数据库的命令,要求数据库管理员为你建立数据库,你也作为管理员登录然后建立数据库并设置权限。
举个例子,用CREATE指令为一个应用程序建立一个数据库用于显示一个目录:
CREATE DATABASE Catalog;
这给你一个用于在查询时与其它表格区分的表格名字。下一步是创建用于输入它的表格。
创建表格
如你所知,表格是有若干个栏目所组成。当创建表格时,你可以定义栏目并分配字段属性。表格建立后,可以用ALTER表格指令来修改它,我们稍后将提到这一点。
你可以用下面这条指令来创建数据库,命令行的参数为表格名字、栏目名字,还有每一栏的数据类型。
CREATE TABLE table_name
(column1 data_type, column2 data_type, column3 data_type);
不同的数据库提供商的标准差别很大。你的帮助文档中应该有一段详细说明如何使用每一种数据、接受何种参数。为了通用,我在表A中列出了一些常用的数据类型。
表A
数据类型
用法
详细说明
Char
Char(8)
它包含了一个固定长度的字符串,其值常常是字符串长度。
Varchar
Varchar(128)
它包含了一个长度不大于指定值的长度可变的字符串。
Int
Int(32)
这是一个不大于指定值得整数,也做Number或Integer。
Decimal
Decimal(12,2)
这是一个总位数和小数点后位数不大于指定值得小数,也被称为Numeric或Number。
Binary
Binary
用于存储二进制对象,在数据库中它一般不可分解和显示,也称为Raw或Blob。
Boolean
Boolean
用来只是真或假,也成为Bit或Byte。
通用数据类型
在本例中,我们建立了一个存放库存商品信息的表格。所用到的栏目和数据类型如表B所示:
表B
栏目名称:
prod_id
prod_color
prod_descr
prod_size
数据类型:
Int(16)
Varchar(20)
Varchar(255)
Decimal(8,2)
在本例中,我使用了三种基本数据类型;然而,在实际使用时,根据数据库支持的内容,我可能还用用上tinyint、文本和mediumtext数据类型。
发出如下指令来建立表格:
CREATE TABLE Products
(prod_id INT(16), prod_color VARCHAR(20), prod_descr VARCHAR(255), prod_size
DECIMAL(8,2));
如果这些指令顺利完成,你就可以在表格中正常地插入信息。你可以参到文章SQL基础一:数据查询"得到详细说明。
除了数据类型,你还可以在创建表格时定义自动增量字段(auto-incremented field)、关键字、索引和特殊数值限制。在表格定义时,这些参数与数据类型一同传递。如果在创建表格Product时定义具有特殊数值限制的自动增量prod_id,命令如下:
CREATE TABLE Products
(prod_id INT(16)AUTO_INCREMENT, prod_color VARCHAR(20), prod_descr VARCHAR(255),
prod_size DECIMAL(8,2), UNIQUE (`prod_id`));
如果把prod_id做为索引字段定义,可以用CREATE INDEX:
CREATE INDEX ProdIndex ON Product (prod_id);
这里有必要重申:数据库提供商在关键字的处理上有所不同。所以,具体情况请参考你的数据库提供商的文档。
--------------------------------------------------------------------------------
关于索引的更多内容:
索引是一个比较深的课题。除了介绍有关关键字和索引的理论,Builder.com的供稿人Eric Roland写了几篇很好的文章,你可以通过它们来学到更多的相关知识。
修改表格
当你开始对表格进行操作时,你也许觉得有必要修改表格的结构、字段类型等等。在前面,我强烈建议你避免在生产环境(production environment)这么做。因为有些操作,如添加、删除和修改字段可能会删除或破坏相关字段中的数据。
好,现在让我们看看如何修改表格。首先,在表格Product中加入一栏。你可以指定该栏插入的相对其它栏的位置,也可以让它插到表格末端(默认):
ALTER TABLE Product ADD prod_name VARCHAR(20) AFTER prod_id;
用类似的语句删除一个栏目:
ALTER TABLE Product DROP prod_size;
最后,更改一个栏目的数据类型:
ALTER TABLE Product CHANGE prod_color prod_color_id INT(20);
现在,你的表格如表C所示:
表C
栏目名称:
prod_id
prod_name
prod_color_id
prod_descr
数据类型:
Int(16)
Varchar(20)
Int(20)
Varchar(255))
注意,有些数据库不支持关键字DROP。另外,如果你改变现有的某一栏的数据类型
网站首页 IT 认证 外语考试 资格考试 学历考试 工程考试 硕士学历 财经考试 |
好好学版权所有 © 2006-2007 网站首页 | 关于我们 | 联系我们 | 免责声明 | 友情链接 | 招聘英才 | 客户服务QQ:418260511客户服务邮箱:stephen5514@sina.com.cn 晋ICP备06005044号 好好学版权所有 |
![]() |
![]() |