1、--
创建数据库create database net;
可以查看刚才建立的数据库的详细信息(去操作系统相应位置查看对应的数据库文件)
sp_helpdb net;
use net 使用数据库
2、--
primary key(sno,cno), --多列做约束,必须定义在表级
3、--
cno char(2), --注意,外键的数据类型及长度必须与被参照的主键保持一致
4、--
grade as grade1*0.2+grade2*0.8, --计算列,数据不实际存储,查询时再自动计算
5、--
创建表,一定是不要忘记约束条件。先创建主表,再创建从表。
create table 表名();
--注意:删除表时,先删除从表,再删除主表
6、--
存储过程前面加exec,告诉系统这不是标准SQL语句,是存储过程
7、--
identity--自增加列,计算列等默认不需要赋值
8、--
注意,标识列自动增加(出错会跳过),性别检查约束,注意不要超过长度
insert into s values(1,'张三','wo','2003-09-01','计算机科学计算机科学计算机科学计算机科学')
【这里自动增长但是你加了一个1,就会错误,下次输入正确的数,就从2开始】
9、--
创建课程表
create table course
(
cno char(2),
cname varchar(30)not null,
cpno char(2),
ccredit tinyint,
primary key(cno), --单列约束也可以写在表级
foreign key(cpno) references course(cno)
);
--
插入课程表数据(先输入没有先修课的课程;所有cpno先用空值代替,再修改)
insert into course values('01','数据库','05',4)
【对于自身约束的表,一定要记得约束条件,例如课程表的先修课:得先有05才能执行上面的那句话,所以先有:insert into course values('05','数学',null,2)】
10、--修改表的结构(定义):alter table 表名--
--sp_help 表名:查询表的所有【键,类型,约束....】
--sp_helpconstraint 表名:查询表的约束
--删除列(有其他参照对象的列不能被删除)
alter table 表名 drop column 列名
--alter table 表名 drop constraint 约束名(系统自动生成的)
--select * into 自建表 from 原表【实现数据的备份,然后可以在此表进行验证操作】
--alter table 表名 drop constraint 约束名:【删除约束】
11、--修改数据:update set(一定要保证修改后的数据遵守三类完整性约束条件)
--删除数据(整行),一定要注意参照,先删除从表数据,再删除主表对应数据
12、--删除数据:delete from
可以有嵌套delete from sc
where sno in(select sno from student where ssex='女')
--不记入日志的删除 truncate table 表名
13、--索引:加快查询速度.数据修改会引起索引的重建。聚集索引(逻辑物理保持一致:拼音检字表,一个表上面只能建一个),非聚集索引(部首检字表)一般而言,系统自动在主键上面创建聚集唯一索引。这种索引的删除通过删除主键约束来实现默认在唯一约束列上创建唯一索引
sp_helpindex 表名:查询索引
create index 索引名 on 表名(列名 desc):创建索引
--索引名和约束名一样
--删除索引必须先删约束
alter table 表名 drop constraint 约束名(索引名)
drop index 表名.索引名(约束名)