在刚刚结束学生信息管理的时候一直在纠结一个问题,那就是。数据库什么时候建立。
起初,我不知道怎么创建数据库。用SQL语句创建数据库。那么代码在哪里写。这些问题我都不知道。所以我就先看的vb代码。先把vb代码敲完,调试完。回头再问问其他人,数据库怎么建立。如果真的不会建立。那么我先敲完程序,在看耿建玲视频的时候,应该就会创建了吧。我是这样认为的。
学生信息管理系统也算是结束了吧。刚敲完代码,正好赶上更换导师后开会。我询问了我师父。他说,学生信息管理系统,比较基础,可以使用源码中的数据库直接生成,不需要自己建立。不过,后面的机房收费系统的数据库必须是自己建立的。而且还没有源码。所以对于学生信息管理系统要深刻的认识。
对于创建数据库。有两种方法:一种是利用企业管理器进行创建。另一种就是写成sql文件直接生成数据库(就是利用Transact-SQL语句)。
首先要有创建数据库的权限。上一章有提到。添加sysadmin。
一:利用企业管理器创建数据库:
写好数据库的名称,修改数据库文件的路径,在选项中设置数据库的属性等。就创建成功了。
新建的数据库中,只有一些系统表。所以需要手动来创建表。
依次设置字段名称,数据类型等参数。
二:使用SQL语句创建数据库
新建一个sql,写好代码 直接执行 就生成数据库了,如下:
use master go if exists (select * from dbo.sysdatabases where name = 'Student') --如果数据库中有Student数据库 那么删除 drop database Student GO create database Student --创建Student数据库 go use Student go --创建数据库完成 /*********************************** 把系统表里面名字相同的表删除 ***********************************/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[user_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[user_Info] --判断数据库中是否有dbo.user_Info这张表,有就删除 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[student_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[student_Info] --判断系统表内是否存在dbo.student_Info这个表 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[result_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[result_Info] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[gradecourse_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[gradecourse_Info] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[course_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[course_Info] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[class_Info]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[class_Info] GO CREATE TABLE [dbo].[user_Info] ( -- [user_ID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [user_PWD] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [user_Des] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO /******************************************************* 以此创建你所需要的表,指明字段,数据类型,是否为空 *******************************************************/ CREATE TABLE [dbo].[student_Info] ( [student_ID] [int] NOT NULL , [student_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [student_Sex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL , [born_Date] [datetime] NULL , [class_NO] [int] NULL , [tele_Number] [char] (11) COLLATE Chinese_PRC_CI_AS NULL , --注意号码的位数 [ru_Date] [datetime] NULL , [address] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [comment] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[result_Info] ( [exam_No] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [student_ID] [int] NOT NULL , [student_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [class_No] [int] NULL , [course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [result] [float] NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[gradecourse_Info] ( [grade] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[course_Info] ( [course_No] [int] NOT NULL , [course_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [course_Type] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [course_Des] [char] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[class_Info] ( [class_No] [int] NOT NULL , [grade] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [director] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [classroom_No] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO /********************************************** 在学生信息管理系统中添加一条记录,便于登陆 **********************************************/ insert user_Info(user_ID,user_PWD) VALUES('student','student')
对于那些,直接使用sql直接生成的同学。电话号码最多输入10位。
所以需要修改字段的数据类型。如下:
alter table student_info alter column tele_Number char(20) exec sp_help student_info --修改并查看