SQL 2008 从零基础到如今(不断更新中)

自从软件实践课老师留了一个作业后,便开始自学数据库,用了很多时间,进步不算多,但学会了很多东西。

作业题目是   网上课程辅导与资源共享平台

可能用到的知识有很多:HTML  .JSP.NET  数据库 等等

对于我来说跟别人合作,自己选择了一个比较好学的吧,数据库

    两天课余时间,包括熬夜到1点半,自学了SQL关系数据库标准语言。包括:模式定义与删除,表的定义、删除与修改、索引的建立与删除。4中数据查询(单表、连接、嵌套、集合查询)。数据更新(插入、修改、删除)。视图定义、查询与更新。

    又用了两天课余时间安装可恶的SQL2008。。从不会安装到上网上查,再到找同学帮忙才安好,用了足足两天的时间。才发现原来有时以为最简单的却会变成最麻烦的。

    然后就是照着书上例子上机各种敲代码,并注释。就当做笔记了。

    表是同学给规划的,自己要做的就是照着做。想不到的是,简单的东西却总是出现大大小小的各种问题,很少的8个表,超过3天课余时间了,还是没有做完。这使得自己不得不寻求各种帮助,寝室同学都没有会的,只好去网上问。不知不觉自己学会了使用CSDN论坛,虽然到目前为止发帖数仅11个,且活动范围仅局限于 MS_SQL Server中,但是学到的却很多。很庆幸我学会了使用论坛交流。虽然已经开始觉得论坛有点慢,但至少一定会有答复的,这也令我很欣慰。也许不久会找到关于数据库的QQ群、或者认识高手吧。

开通博客3天后才能写东西。只好攒到现在一起记下,这里就为自己从零基础开始学习的笔记积累吧!


 

1、安装SQL2008完全靠自己的话    没有经验真的很麻烦、、、

2、使用SQL2008   真的很多东西都用不明白,大多数是一个学过数据库的同学教的,一部分也是自己去网上查的、问的。

比如,最开始连写语句的地方都找不到、、还是来CSDN问的。幸好很简单、、“SQL Server Management Studio=》连接=》新建查询”

3、这个现在看起来也会觉得悲催、、写了一个创建表的语句,执行后显示成功,在表选项中却看不见我的表、、故在CSDN发的贴,回复“执行下,然后在左侧树形结构中选择你创建的数据库,点开后里面有个表子项,展开里面就有你的表了。
前提是需要先创建数据库,然后在创建表”

4、一个小细节、忘加括号了,不得不来发帖。  以自身为参照表“create table Course (Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint,foreign key Cpno references Course(Cno));”

5、这个比较悲催、、教科书印刷错误。

create CLUSTER index Stusname on Student(Sname);
CREATE、DROP 或 ALTER 语句中使用了未知的对象类型 'CLUSTER'。
这是什么原因?

答:是clustered

6、select Sname,'Year of Birth:' as 'Year of Birth:',2004-Sage as '2004-Sage',LOWER(Sdept) as 'LOWER(Sdept)' from Student;/

这里学会了给列起个别名,而书上确实自己没有看到。我试了下,可以不加as

7、我建了一个表 create table Course (Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint,foreign key (Cpno) references Course(Cno));  

我没有用语句输入数据,而是选择表直接添加数据,却出现错误。
引用“未更新任何行。 未提交行1中的数据。 错误源:.Net SqlClient Data Provider.  
错误消息:UPDATE 语句与FOREIGN KEY SAME TABLE 约束“FK_Course_Cpno_1272C1CD”冲突,该冲突发生于数据库“S_T”,表“dbo.Course”,column"Cno"。
语句已停止。”
请教各位什么原因呢?

这个问题出现于,自己在直接向生成的表里填数据的时候,总会出现以上问题,且不能继续添加。在这里明白了,设置了主键外键,在添加数据的时候就要注意顺序!

8、select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade from Student left out join SC on (Student.Sno=SC.Sno);


又是打印错误。。      这里的out 实际上应该是outer

9、很幸运,在写这篇博客,看以往帖子的时候又学会了 看联机丛书!

10、我学习了加入列,后来发现不知道怎么删除一列。。。
alter table Student ADD S_entrance DATE;

正确答案是这样的   alter table student drop column s_entrance

11、这回帖子的问题明显比使用层次更高了,把自己使用的几个表贴出来,叫大家纠错。呵呵    果断还是标点符号问题。

另外有新的收获。学会了一点约束的使用:mark int check(mark between 0 and 10)                      times int check (times >0),

12、    我建了一个表,却忘了把course_id 设置成主键,该怎么做啊

ALTER TABLE Course ALTER COLUMN course_id char(20) NOT NULL;

go

ALTER TABLE Course ADD CONSTRAINT pk_course_id PRIMARY KEY(course_id);

go

 

这个我看了之后感觉特别有膜拜的感觉、、、




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值