管理员
|
楼主#
更多
发布于:2012-09-24 15:07
| | | | SQL SERVER复习笔记(一) [sql] --一.对表的基本操作: --创建表book1 create table book1( 编号 char(8) not null, IBSN char(13) not null, 书名 nvarchar(255), 定价 money, 出版社 nvarchar(255), 出版日期 datetime ) www.atcpu.com create table book2( 编号 char(8) not null, IBSN char(13) not null, 书名 nvarchar(255), 定价 money, 出版社 nvarchar(255), 出版日期 datetime ) create table teacher( 作者编号 char(4) default '001', 作者姓名 nvarchar(200) not null, 性别 char(2) not null default '男', 职称 char(20), 联系电话 char(10), 编号 char(8) not null ) create table booking( 编号 char(8) not null, IBSN char(13) ) --查看表结构 exec sp_help book1 www.atcpu.com --表中增加一列 use book alter table book1 add 作者 varchar null --删除一列 alter table book1 drop column 作者 --修改列数据类型 alter table book1 alter column 定价 smallmoney --查看表内容 select * from book1 --表中插入数据 insert into book1 values ('101172','172','sql数据库',35,'中山大学','03-13-2008')--完整表结构插入 insert into book1(编号,IBSN,书名) values('101186','186','java程序设计')--表中部分列插入 --修改表内容 update book1 set 书名='JSP动态网页制件技术' where IBSN='186' --删除表内容 delete from book1 where IBSN='186' www.atcpu.com --删除表所有内容 delete book1 delete from book1 --删除表 drop table book1 --二.约束条件 --1,CHECK --增加约束条件 alter table teacher add constraint ch_teacher check(性别='男' or 性别='女') /*此时,插入的性别不是男或者女,则会报如下错 消息 547,级别 16,状态 0,第 2 行 INSERT 语句与 CHECK 约束"ch_teacher"冲突。该冲突发生于数据库"book",表"dbo.teacher", column '性别'。 语句已终止。*/ insert into teacher(作者姓名,性别,编号) values('22','ds','2') --删除约束条件 alter table teacher drop constraint ch_teacher --删除约束后,则可以正常插入 insert into teacher(作者姓名,性别,编号) values('22','ds','2') www.atcpu.com --2.DEFAULT --增加约束 alter table teacher add constraint de_性别 default '男' for 性别 --删除约束 alter table teacher drop constraint de_性别 --3,primary key --增加约束 alter table teacher add constraint pri_作者编号 primary key clustered(作者编号) /*消息 8111,级别 16,状态 1,第 2 行 无法在表 'teacher' 中可为 Null 的列上定义 PRIMARY KEY 约束。 消息 1750,级别 16,状态 0,第 2 行 无法创建约束。请参阅前面的错误消息。 查看表结构,可发现作者编号允许为NULL,不能作为PRIMARY KEY,修改如下:*/ --增加约束 alter table teacher add constraint pri_编号 primary key clustered(编号) www.atcpu.com --删除约束 alter table teacher drop constraint pri_编号 --4,foreign key --为booking建立外键,主键在book1 alter table booking add constraint for_编号 foreign key(编号) references book1(编号) /* 报错如下: 消息 1776,级别 16,状态 0,第 2 行 在被引用表 'book1' 中没有与外键 'for_编号' 中的引用列列表匹配的主键或候选键。 消息 1750,级别 16,状态 0,第 2 行 无法创建约束。请参阅前面的错误消息。 因为在book1表中"编号"并未设置主键约束,则先设置如下 */ www.atcpu.com alter table book1 add constraint pri_编号 primary key clustered(编号) --再设置foreign key如下: alter table booking add constraint for_编号 foreign key(编号) references book1(编号) <p> exec sp_help booking</p><p><a href="http://www.atcpu.com/ebook/201007/18749.html" target="_self">复习教材:SQL.Server.2005.数据库基础及应用技术教程与实训.周奇.pdf )</a> </p> [sql]
| | | | |
|