数据库技术复习2_第1页
数据库技术复习2_第2页
数据库技术复习2_第3页
数据库技术复习2_第4页
数据库技术复习2_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术复习数据库技术基础数据库技术基础3.SQL 数据定义-建立数据表1 1建立数据表建立数据表 CREATE TABLECREATE TABLE ( (fieldfield TYPETYPE(size)(size)NOT NULLNOT NULLCOLUMN _constaint ,COLUMN _constaint ,field field TYPETYPE(size)(size)NOT NULLNOT NULLCOLUMN _constaint ,COLUMN _constaint , . . CONSTRAINTCONSTRAINT multifieldconstraint , .

2、 multifieldconstraint , .) ) 可由一个或多个列组成,列定义要说明可由一个或多个列组成,列定义要说明 、 ,并指,并指 。1.合法标识符(表示字母开头,可含字母、数字、合法标识符(表示字母开头,可含字母、数字、$、_ )2.最多最多128个字符;不允许重名个字符;不允许重名数据类型列的约束FIELDFIELDFIELDFIELD列名5数据库技术基础数据库技术基础4.SQL创建表 CREATE TABLECREATE TABLE( () ) 类别类别 类别类别IDID 类别名称类别名称 类别说明类别说明 NUMBER NUMBER VARCHAR(20)VARCHAR(

3、20)MEMOMEMO PRIMARY KEY, PRIMARY KEY, NOT NULL,NOT NULL,固定格式约束约束自定义表名、列名数据类型数据类型6 6逗号隔开逗号隔开数据库技术基础数据库技术基础7. 使用SQL语句建立供应商表。 供应商表要求CREATE TABLE CREATE TABLE 供应商供应商( ( 供应商供应商ID AUTOINCREMENT(1,1),ID AUTOINCREMENT(1,1), 公司名称公司名称 VARCHAR(40) NOT NULL, VARCHAR(40) NOT NULL, 联系人姓名联系人姓名 VARCHAR(10) NOT NULL

4、 ,VARCHAR(10) NOT NULL , 联系人职务联系人职务 VARCHAR(20) NOT NULL,VARCHAR(20) NOT NULL, 城市城市 VARCHAR(20) NOT NULL,VARCHAR(20) NOT NULL, 邮政编码邮政编码 VARCHAR(10),VARCHAR(10), 电话电话 VARCHAR(15),VARCHAR(15), 主页主页 TEXT(40),TEXT(40), CONSTRAINT CONSTRAINT 供应商供应商ID_pk PRIMARY KEY(ID_pk PRIMARY KEY(供应供应商商ID)ID) ) )注:主键的

5、定义可以放在表级,也可以放在列级。注:主键的定义可以放在表级,也可以放在列级。 表五例220数据库技术基础数据库技术基础9.修改表 ALTER TABLE tablename 22 ADD ADD COLUMNfield TYPE(size)COLUMNfield TYPE(size)NOT NULLNOT NULLCONSTRAINTCONSTRAINTindexindex| | DROPDROP COLUMN field I CONSTRAINT indexname COLUMN field I CONSTRAINT indexname | | ALTER ALTER COLUMNCOLU

6、MN field TYPE(size)|field TYPE(size)|CONSTRAINTCONSTRAINT multifieldmultifield修改字段修改字段删除字段删除字段添加一个字段添加一个字段不能一次添加或删除多个字段数据库技术基础数据库技术基础9.修改表-修改字段l 使用 ALTER COLUMN 可更改现有字段的数据类型l 例4将产品表中的产品名称长度改为60。 24ALTER TABLEALTER TABLE 产品产品 ALTER COLUMNALTER COLUMN 产品名称产品名称 TEXT(60)TEXT(60)数据库技术基础数据库技术基础9.修改表-添加字段l

7、使用 ADD COLUMN 向表中添加新字段。可以指定字段名称、数据类型和可选大小。l例5给产品表添加一个再订购量字段。 ALTER TABLEALTER TABLE 产品产品 ADD COLUMNADD COLUMN 再订购量再订购量 NUMBERNUMBER25数据库技术基础数据库技术基础9.修改表-添加约束l 使用使用ADD CONSTRAINTADD CONSTRAINT可给表增加约束。可给表增加约束。l 例7给产品表的产品ID添加主键约束,给产品名称添加唯一值约束。26 ALTER TABLEALTER TABLE 产品产品 ADD CONSTRAINTADD CONSTRAINT

8、产品产品ID_pk PRIMARY KEY(ID_pk PRIMARY KEY(产品产品ID)ID) ALTER TABLEALTER TABLE 产品产品 ADD CONSTRAINTADD CONSTRAINT 产品名称产品名称_uk UNIQUE(_uk UNIQUE(产品名称产品名称) )数据库技术基础数据库技术基础9.修改表-删除约束l使用DROP CONSTRAINT可给表删除约束。l 例8删除产品表中的产品名称_uk约束 27 ALTER TABLEALTER TABLE 产品产品 DROP CONSTRAINTDROP CONSTRAINT 产品名称产品名称_uk _uk 数据

9、库技术基础数据库技术基础9.修改表-删除字段l 使用 DROP COLUMN 可删除字段。只需指定字段的名称。l 例6删除产品表中再订购量字段。 28 ALTER TABLEALTER TABLE 产品产品 DROP COLUMNDROP COLUMN 再订购量再订购量数据库技术基础数据库技术基础10.删除表l 例9删除产品表。lDROP TABLE 产品说明说明: :1.在删除表或从表中删除索引之前,必须先关闭该表。2.可以使用 CREATE TABLE 语句创建一个表。若要对表进行修改,请使用 ALTER TABLE 语句。29数据库技术基础数据库技术基础1)输入记录(INSERT INT

10、O 语句) 将一个或多个记录添加到表中。该语句也称为追将一个或多个记录添加到表中。该语句也称为追加查询。加查询。 单记录追加查询:INSERT INTOINSERT INTO target (field1 target (field1,field2field2,.).)VALUESVALUES (value1 (value1,value2value2,.).)数据库技术基础数据库技术基础 例3.18将如下记录插入到产品表中。将如下记录插入到产品表中。 INSERT INTO INSERT INTO 产品产品( (产品名称产品名称, ,单价单价, ,库存量库存量, ,订购订购量量, ,中止中止)

11、 VALUES(“) VALUES(“薯条薯条”,12,79,90,yes),12,79,90,yes)注:产品表中的自动编号字段不需要输入,它的注:产品表中的自动编号字段不需要输入,它的值会自动生成。值会自动生成。数据库技术基础数据库技术基础2)更改记录(UPDATE 语句) 创建一个更新查询,以便基于特定的条件更改指创建一个更新查询,以便基于特定的条件更改指定表的字段值。定表的字段值。 语法语法 UPDATEUPDATE table - table -表名表名SETSET newvalue - newvalue -表达式表达式WHEREWHERE criteria - criteria -

12、 表达式,确定更新哪些记录表达式,确定更新哪些记录 数据库技术基础数据库技术基础 例3.21将产品表中库存量多于将产品表中库存量多于100100的记录中止的记录中止进货。进货。UPDATE UPDATE 产品产品SET SET 中止中止=yes=yesWHERE WHERE 库存量库存量100100 例3.22修改产品中关于修改产品中关于 果粒橙果粒橙 的相关信息的相关信息数据库技术基础数据库技术基础3)删除记录(DELETE 语句)创建一个创建一个删除查询删除查询,用于从,用于从 FROM FROM 子句中列出子句中列出的一个或多个表中删除满足的一个或多个表中删除满足 WHERE WHERE

13、 子句的记录子句的记录。语法语法 DELETE DELETE FROM tableFROM tableWHERE criteriaWHERE criteria希望删除多个记录时,希望删除多个记录时,DELETE DELETE 语句特别有用。语句特别有用。数据库技术基础数据库技术基础 例3.23将库存量为将库存量为0 0的产品删除。的产品删除。 DELETE FROM DELETE FROM 产品产品 WHERE WHERE 库存量库存量=0=0数据库技术基础数据库技术基础备注 文本文本 nvarchar(size) varcharnvarchar(size) varchar(sizesize)

14、备注备注 ntextntext、memomemo自动增量自动增量 AUTOINCREMENTAUTOINCREMENT(1,1(1,1)counter(counter(种子值种子值, ,增长量增长量) ) 数字数字( (长整型长整型) ) intint数字数字( (整型整型) ) smallintsmallint数字数字( (单精度单精度) ) realreal数字数字( (双精度双精度) ) floatfloat数字数字( (字节字节) ) tinyinttinyint货币货币 money money 日期日期 smalldatetimesmalldatetime布尔布尔 bitbit超链接

15、:超链接:HyperlinkHyperlink OLEOLE对象对象 OLE Object OLE Object 数据库应用基础2. SQL 2. SQL 数据查询功能数据查询功能-投影查询投影查询l 数据查询是对已有的数据查询是对已有的表表中数据进行中数据进行检索检索的的操作操作。SELECTSELECT predicate predicate * * | table. | table.* * | | table.field1 table.field1 AS alias1 , table.field2 AS alias2 , AS alias1 , table.field2 AS alias

16、2 , .FROMFROM tableexpression , . IN tableexpression , . IN externaldatabaseexternaldatabase WHEREWHERE. . GROUP BYGROUP BY. . HAVINGHAVING. . ORDER BYORDER BY. . 查询的表查询的表查查询询字字段段名名查询条件查询条件按按分组分组分组后应满足的条件分组后应满足的条件结果输出的顺序结果输出的顺序数据库应用基础二二. . 实例实例-1.-1.查询表中所有列查询表中所有列l例例2 2查询产品表中所有数据。查询产品表中所有数据。SELECTFR

17、OM产品产品ID,ID,产品名称产品名称, ,单价单价, ,库存量库存量, ,订购量订购量, ,中止中止 产品产品相当于:相当于:SELECTFROM *产品产品使用使用 SELECTSELECT时,无论要写的字段有多长,一定要一个一个列出时,无论要写的字段有多长,一定要一个一个列出可互相替换注:注:(1 1)在查询中)在查询中无条件无条件限制时,可限制时,可省略省略WHEREWHERE子句。子句。 (2 2)虽然)虽然SELECT SELECT * * 可查询一个表中的可查询一个表中的所有字段所有字段,但应谨慎,但应谨慎 使用,尤其是使用使用,尤其是使用SELECTINTOSELECTINT

18、O 时,如果表增加或时,如果表增加或 减少若干字段,减少若干字段,SELECT SELECT * * 所查询出来的字段也会发生所查询出来的字段也会发生 变化而与后面的变量不匹配,造成错误。变化而与后面的变量不匹配,造成错误。数据库应用基础5. 5. 重新命名输出列重新命名输出列l例例5 5将产品表中所有产品单价下调将产品表中所有产品单价下调15%15%后的产品单后的产品单价以别名方式显示出来。价以别名方式显示出来。 SELECT SELECT 产品名称产品名称, ,单价单价* *(1-0.15)(1-0.15) AS AS 降价后价格降价后价格 FROM FROM 产品产品数据库应用基础6.

19、6. 去除重复记录去除重复记录lSELECTSELECT查询会将查询会将所有符合条件所有符合条件的的记录记录全部输出,包括重复的值,全部输出,包括重复的值,可以通过可以通过SELECTSELECT语句中的语句中的DISTINCTDISTINCT去除去除重复重复的的行行(记录)。(记录)。例例6 6显示产品表中的类别显示产品表中的类别IDID的值。的值。SELECT SELECT 类别类别ID ID FROM FROM 产品产品去掉重复行去掉重复行:SELECTSELECTFROM FROM 产品产品类别类别IDID数据库应用基础练习练习1 1l 查询产品表中所有数据查询产品表中所有数据l 查询

20、产品表中所有产品的名称与单价查询产品表中所有产品的名称与单价l 查询产品表中所有产品的名称、库存量、订购量查询产品表中所有产品的名称、库存量、订购量l 查询客户所分布的城市(消除重复行)查询客户所分布的城市(消除重复行)l 查询所有雇员的姓名和年龄查询所有雇员的姓名和年龄数据库应用基础7.7.使用使用BETWEENBETWEEN查询查询l(2 2)使用)使用BETWEENBETWEEN查询查询例例1010查询单价在查询单价在2020和和3030之间产品名称和单价。之间产品名称和单价。SELECT SELECT 产品名称产品名称, ,单价单价 FROM FROM 产品产品 WHERE WHERE

21、 单价单价 BETWEEN 20 AND 30BETWEEN 20 AND 30v BETWEENANDBETWEENAND 可以使用可以使用 = AND = AND =20 AND =20 AND 单价单价=3010)10数据库应用基础16. 16. 多表查询多表查询l若一个若一个查询查询同时同时涉及涉及两个以上两个以上的的表表,则称之为多,则称之为多表查询(连接查询)。表查询(连接查询)。 连接条件中两个连接字段连接条件中两个连接字段的类型必须是可比的,但不必相同。的类型必须是可比的,但不必相同。 其格式如下:其格式如下: SELECT SELECT 列名列名1 1,列名,列名2 2, FROM FROM 表表1 1,表,表2 2, WH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论