安装
看的下边这个博客,一步步安装下来就成功了
https://blog.csdn.net/slyh_td/article/details/83474486
快捷键
填加注释: Ctrl-K、C
去掉注释:Ctrl-K、U
运行:F5
基本SQL语句
点击新建查询,就可以直接输语句了
1、基本表的删除定义与修改
--在hanhhh_19中新建Student表
use hanhhh_19
create table Student
(
sno char(9) primary key, /*列级完整性约束条件*/
sname char(20) unique, /*sname取唯一值*/
ssex char(2),
sage smallint,
sdept char(20)
);
--在hanhhh_19中新建Course表
use hanhhh_19
create table Course
(
cno char(4) primary key,
cname char(40) not null, /*列级完整性约束条件,cname不能为空*/
cpno char(4),
ccredit smallint,
foreign key (cpno) references Course(cno) /*表级完整性约束条件,cpno是外码,被参照表是Course,被参照列是Cno*/
);
--在hanhhh_19中新建SC表
use hanhhh_19
create table SC
(sno char(9),
cno char(4),
grade smallint,
primary key(sno,cno),
foreign key(sno) references Student(Sno), /*表级完整性约束条件*/
foreign key(cno) references Course(Cno)
)
/*向Student表中添加列*/
alter table Student
add s_entrance Date;
--将年龄的数据类型由字符串改为整数
alter table Student
alter column sage int;
--添加课程名称必须取唯一值的条件
alter table Course
add unique(cname);
2、表中内容的添加、删除、修改
<--插入元组
insert
into Course(cno,cname)
values(1,'数学')
insert
into SC(sno,cno)
values('201700',1)
<--插入子查询结果
create table Dept_age
(Sdept char(15),
Ave_age smallint);
insert
into Dept_age(Sdept,Ave_age)
select Sdept,avg(Sage)
from Student
group by sdept
<--修改数据
<--修改多个元组的值
update Student
set Sage=22
where Sage=20
<--带子查询的修改语句
update SC
set grade=0
where sno in (
select sno
from Student
where sdept='IS')
<--删除
<--删除某一个元组的值
delete
from Student
where sno=201703
<--带子查询的删除语句
delete
from student
where sno in (
select sno
from student
where sdept='CS'
)
2、索引的建立与删除
一些小问题
1、删除基本表时使用关键字restrict和cascade报错,“CASCADE"附近有语法错误的原因
原因:SQL Server不支持这两个关键字
--删除基本表
drop table Student restrict;
2、自己新建数据库hanhhh_19,建立表后不在对应的数据库中
此时应该在master里边
解决方法:在脚本最前端应写use hanhhh_19,再继续建表
3、按上一步操作文件资源管理器中还是看不到自己建的表
右键点击hanhhh_19->表,刷新
4、对象名无效
我没有运行,看到下边有红色的下划线就以为有错想把它改掉,,,,,但是其实没有错误
解决方法:
1、先运行一下看报不报错
2、如果运行报错,检查左上角,这个hanhhh_19处是不是master,是的话改成你现在用的数据库就可以解决了
5、rename附近有语法错误
运行下边代码的时候出来的。。。。查询发现这种用法在SQL server中不行(。。。SQL server真的限制好多,许多错误都是因为不支持)
--修改索引
alter index SCno rename to ScSno;
6、为 DROP INDEX 语句指定表名和索引名
本来是照着书上打的,但是出错了
drop index Stusno
解决方法:(注意格式)
--删除索引Student表中的Stusno
drop index Stusno on Student;
7、消息 8152,级别 16,状态 4,第 1 行将截断字符串或二进制数据。语句已终止
插入的值长度超过了一开始定义的char(20)之类的长度