在SQL Server中用代码创建数据库、 创建表、创建主外键等SQL Server2008

在SQL Server中用代码创建数据库SQL Server2008

1.创建数据库  学生信息数据库创建实验一.sql

CREATE database 学生信息_实验一 on

(

/*--数据文件的具体描述--*/

     name='stuDB_data',  -- 主数据文件的逻辑名称

     filename='D:\Database\stuDB_data.mdf', -- 主数据文件的物理名称

     size=5mb, --主数据文件的初始大小

     maxsize=100mb, -- 主数据文件增长的最大值

    filegrowth=15%--主数据文件的增长率

    )

log on

(

/*--日志文件的具体描述,各参数含义同上--*/

    name='stuDB_log',

   filename='D:\Database\stuDB_log.ldf',

  size=2mb,  

  filegrowth=1mb

  )


2.创建表:学生,课程,选课,系部信息表创建.sql

USE 学生信息_实验一

 GO

 CREATE table Student

 (

    SNO        CHAR(20) primary key,

    SNAME      CHAR(20)  not null,

    AGE        INT       not null,

    SEX        CHAR(2)   not null,

    SDEPNO     CHAR(20) NOT NULL

)

go

CREATE table Course

(

    CNO        CHAR(20) primary key,

    CNAME      CHAR(20)  not null,

    Cpno       CHAR(20)  Foreign key (Cpno)references Course(Cno),

    credit      int      not null,

)

GO

CREATE table SC

(

    SNO        CHAR(20) primary key,

    CNO        char(20)  not null,

    grade      int      not null,

)

GO

CREATE table Department

(

    SDEPNO      CHAR(20) primary key,

    DNAME      CHAR(20)  not null,

    DHEAD      CHAR(20)   not null,

)

3.指明数据库表的主外键以及表之间的关系

         主外键关系

数据库表名

主键

外键

Student

SNO

SDEPNO

Course

CNO

 

SC

SNO

CNO

Department

SDEPNO

 

4.输入数据语句    输入数据.sql

--truncate   table student --清空数据表

--插入学生信息内容

INSERT intostudent

(sno,sname,age,sex,SDEPNO)VALUES(132054101,'刘1',20,'男','D1')

--插入课程信息内容

--truncate   table Course --清空数据表

INSERT INTO Course

(CNO,CNAME,Cpno,credit)VALUES('c1','计算机组成原理','数电',2);

INSERT INTO Course

(CNO,CNAME,Cpno,credit)VALUES('c2','大学英语','高中英语',2);

INSERT INTO Course

(CNO,CNAME,Cpno,credit)VALUES('c3','高数','数学',2);

INSERT INTO Course

(CNO,CNAME,Cpno,credit)VALUES('c4','微积分','数学',2);

INSERT INTO Course

(CNO,CNAME,Cpno,credit)VALUES('c5','数据库','数学',2);

INSERT INTO Course

(CNO,CNAME,Cpno,credit)VALUES('c6','网络原理','数电',2);

INSERT INTO Course

(CNO,CNAME,Cpno,credit)VALUES('c7','c语言','数学',2);

 

--插入学生选课信息内容

INSERT INTO SC

(sno,cno,grade)VALUES('132054101','c1',80);

INSERT INTO SC

(sno,cno,grade)VALUES('132054102','c1',75);

INSERT INTO SC

(sno,cno,grade)VALUES('132054103','c2',96);

5. 定义索引,使用update、delete修改和删除表中的一些数据

--设置唯一索引以及删除索引

CREATE uniqueindex departno_index on department(SDEPNO asc)

DROP INDEXdepartno_index ON Department;

--修改表

--添加新列

ALTER tabledepartment add DHEAD INT ;

ALTER tabledepartment add depa_date date not null;

--修改列类型

ALTER tabledepartment alter column dhead char(10);

--修改列名

EXEC sp_rename'department.[dd]','DHead'

--删除列

ALTER tabledepartment drop column dhead;

 

--修改主外键

ALTER table Courseadd constraint FK_Course_Course foreign key(cpno) references Course(cno);

--修改student表的数据

--更新数据

UPDATE Student SETAGE=22;

UPDATEStudent SET AGE=AGE-1;

INSERT INTOStudent(SNO,SNAME,SEX,AGE,SDEPNO)VALUES('132054201','小刘','男',22,'D1');

--删除数据

DELETE FROMStudent WHERE SNAME='小刘';

五、出现的问题及解决的方法

a)      主外键创建与数据输入的先后顺序冲突,解决方案:先录入一部分数据,再确定表与表之间的主外键关系

b)     Sql语句的不熟悉,解决方案:多熟悉sql语句,多实践

c)      SQLServer企业管理器和查询分析器工具的使用还是比较生疏,解决方案:多实践

d)     理应多掌握数据库常用的语句语法



你可能感兴趣的:(SQL数据库)