如题所述,使用SQL SERVER来创建数据库,包括建表。作者这里使用的是2023版的SQL SERVER,汉化过。
该博客为个人假期复盘,与大家交流,如有疏漏,还请见谅。
先简单的理一下再上代码,全部代码见文末。
点开SQL SERVER以后,点击“新建查询”,出现可供输入代码的操作页面;
然后在该页面输入相应代码(强调一下,SQL SERVER中字母的大小写是通用的,不影响什么)
创建数据库
CREATE DATABASE SCC–创建一个名为“SCC”的数据库(命名随意),使用的是“CREATE DATABASE”语句;
有的版本需要加一个“USE SCC”–使用SCC数据库;
然后执行该语句(注意!一般情况下为选中执行!就是选中想要运行的语句,再去点击“执行”,因为在不选中的情况下直接点击“执行”,系统默认的是执行该页面所有的语句,就有可能造成重复建立、无效修改等问题,所以要精确要执行的语句);
建表
使用的是“CREATE TABLE”语句,把所有的内容用()括起来,每一行的末尾使用逗号(最后一行不用),括号的后面使用分号,这是格式要求。表内每一行,以数据名称(sno)、数据类型(char(9))和完整性约束(primary key)三部分组成,其中完整性约束根据实际情况可有可无;以下面的代码为例,选中这7行以后再点击“执行”,否则直接点击“执行”就会把上面的建立数据库的代码也执行一遍(就造成错误了);
CREATE TABLE Student --创建Student表
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
插入数据
作者这里使用一次插入多条数据。每一条数据都用一个()括起来,最后加上一个逗号,最后一行的最后使用一个分号。注意!!!下面代码中的(‘200215121′,’李勇’,’男’,20,’CS’)是按照学号、姓名、性别、年龄和专业的顺序写的,一旦顺序不对,即和建表时的顺序(sno、sname、ssex、sage、sdept)不符和,则插入数据失败。同时,插入的数据也要满足建表时设立的约束,否则也插不进去:
insert into Student values
('200215121','李勇','男',20,'CS'),
('200215122','刘晨','女',19,'CS'),
('200215123','王敏','女',18,'MA'),
('200215125','张立','男',19,'IS'),
('200215126','肖战','男',22,'EN'),
('200215127','杨紫','女',23,'SE'),
('200215128','刘晨晨','女',20,'MA'),
('200215129','欧阳锋','男',18,'CS'),
('200215130','欧阳娜娜','女',19,'IS'),
('200215131','欧阳','男',24,'MA');
大致就是这样了,下面是全部的代码。
全部代码
CREATE DATABASE SCC--创建一个名为“SCC”的数据库
GO--执行该语句(有的版本可以不使用“go”)
USE SCC--使用“SCC”数据库
GO--执行该语句(有的版本可以不使用“go”)
CREATE TABLE Student --创建Student表
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
CREATE TABLE Course--创建Course表
(Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);
CREATE TABLE SC--创建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)
);
insert into Student values
('200215121','李勇','男',20,'CS'),
('200215122','刘晨','女',19,'CS'),
('200215123','王敏','女',18,'MA'),
('200215125','张立','男',19,'IS'),
('200215126','肖战','男',22,'EN'),
('200215127','杨紫','女',23,'SE'),
('200215128','刘晨晨','女',20,'MA'),
('200215129','欧阳锋','男',18,'CS'),
('200215130','欧阳娜娜','女',19,'IS'),
('200215131','欧阳','男',24,'MA');
insert into Course values
('1','数据库','5',4),
('2','数学',null,2),
('3','信息系统','1',4),
('4','操作系统','6',3),
('5','数据结构','7',4),
('6','数据处理',null,2),
('7','P语言','6',4),
('8','DB_Design','5',4),
('9','DB_Desig','5',2);
insert into SC values
('200215121','1',92),
('200215121','2',85),
('200215121','3',88),
('200215122','2',90),
('200215122','3',80),
('200215123','1',55),
('200215123','6',80);