--创建STU数据库:
超过十多年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:成都网站建设、成都做网站,成都网站推广,成都网站优化,整体网络托管,微信小程序开发,微信开发,成都app软件开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!
create database stu
on
(name=stu_data,
filename='c:\Program Files\Microsoft SQL Server\MSSQL\Data\stu_data.mdf',
size=1,
filegrowth=10%)
log on
(name=stu_log,
filename='c:\Program Files\Microsoft SQL Server\MSSQL\Data\stu_log.ldf',
size=5,
filegrowth=10%)
go
--创建student数据表:
use stu
go
create table student
(sno char(5) not null unique,
sname char(20),
ssex char(8),
sage int,
sdept char(15))
--创建course数据表:
use stu
go
create table course
(cno char(5) not null unique,
cname char(20),
cpno char(5),
ccredit int)
--创建sc数据表:
use stu
go
create table sc
(sno char(5) not null,
cno char(5) not null,
grade int)
我写的是mysql数据库里的创建此表的sql语句【已测试可以的】:
CREATE TABLE student(学号 INTEGER,姓名 VARCHAR(22),性别 VARCHAR(22),出生日期 DATE,班级 VARCHAR(22),入学成绩 INTEGER ) ;
=====================================-=============-======
你的列名和类型都挤的太紧了,需要空格的~~ 还有最后的入学成绩类型n(5,1)是什么??
/*1:建立学生表*/
create table student (
SNO char(10) primary key,
SNAME char(4),
SSEX char(2),
SAGE int,
sdept char(5)
);
/*2:建立course表*/
create table course(
CNO char(10) primary key,
CNAME char(20),
TEACHER char(20)
);
/*3:建立课程表*/
create table SC (
CNO char(5) primary key,
CNAME char(10),
TNO char(3),
foreign key(TNO) references teacher(TNO)
);
/*4:建立SC表*/
create table sc(
SNO char(3),
CNO char(5),
primary key(SNO,CNO),
GRADE VARCHAR2(10),
foreign key(SNO) references student(SNO),
foreign key(CNO) references course(CNO)
);
类似的一个例子 你看着改一下名字 大小就行了
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、之后在该界面中,右键点击Student表里“设计”选项。
3、接着在该界面中,右键点击“Sno”属性里“设置主键”选项。
4、然后在该界面中,表Student设置Sno主键成功。
5、之后在该界面中,右键点击Course表里“设计”选项。
6、接着在该界面中,右键点击“Cno”属性里“设置主键”选项。
7、然后在该界面中,表Course设置Cno主键成功。
8、接着在该界面中,右键点击SC表里“设计”选项。
9、然后在该界面中,右键点击“Sno”属性里“关系”选项。
10、接着在该界面中,选择主键表为Student表里的“Sno”属性。
11、然后在该界面中,右键点击“Cno”属性里“关系”选项。
12、接着在该界面中,选择主键表为Course表里的“Cno”属性。
13、最后在该界面中,表SC设置Sno外键,Cno外键成功。
1.主键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先没有设置主键。
2.外键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改时:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改时:alter table tb_name add primary key (字段1,字段2,字段3);
前提是原来表中没有设置主键,若原先已有主键则会报错。
SELECT s.sn, s.sd FROM s INNER JOIN sc ON sc.s = s.s INNER JOIN c ON c.c = sc.c WHERE c.cn != 'C5';