怎么建立数据库,如何建立一个简单的数据库

--------创建数据库----usemaster----GO----IFEXISTS(SELECTnameFROMmaster.dbo.sysdatabasesWHEREname='test1')

--------创建数据库

----use master

----GO

----IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = 'test1')

----DROP DATABASE test1

----GO

----CREATE DATABASE test1

------创建教师表

--use test1

--go

--if exists (select name from test1.dbo.sysobjects where name ='teacher')

--drop table teacher

--create table teacher

--(

--tno int not null primary key。

--tname nvarchar(15)

--)

--go

----插入数据到教师表中

--insert into teacher(tno,tname) values(1,'小屋');

--insert into teacher(tno,tname) values(2,'DAVA');

--insert into teacher(tno,tname) values(3,'刘局');

--insert into teacher(tno,tname) values(4,'张厚');

---- ----创建学生表

----use test1

---- go

---- if exists(select name from test1.dbo.sysobjects where name ='student')

---- drop table studnet

----create table student

---- (

---- sno int not null primary key。

---- sname nvarchar(15) not null。

---- sage datetime not null。

---- ssex char(2) not null

------ )

------go

------插入数据

----INSERT INTO student(sno,sname,sage,ssex) VALUES(1,如何建立一个简单的数据库,'张三','1980-1-23','男')

----INSERT INTO student(sno,sname,sage,ssex) VALUES(1,'张三','1980-1-23','男')

输入密码 创建数据库 代码:create database test;使用刚才创建的数据库 代码: use test;创建一张表 代码:create table user(id int not null,username varchar(100) not null,password varchar(100) not null,primary k。

----INSERT INTO student(sno,sname,sage,ssex) VALUES(2,'李四','1982-12-12','男')

----INSERT INTO student(sno,sname,sage,ssex) VALUES(3,'张飒','1981-9-9','男')

----INSERT INTO student(sno,sname,sage,ssex) VALUES(4,'莉莉','1983-3-23','女')

----INSERT INTO student(sno,sname,sage,ssex) VALUES(5,'王弼','1982-6-21','男')

----INSERT INTO student(sno,sname,sage,ssex) VALUES(6,'王丽','1984-10-10','女')

----.创建课程表

--CREATE TABLE [dbo].[course](

-- [cno] [int] NOT NULL PRIMARY KEY。

-- [cname] [nvarchar](20) NOT NULL。

-- [tno] [int] NOT NULL

--)

----创建外键,已经存在两张表,我想用sql语句建立这两张表的主外键关系

----ALTER TABLE 表名1 add constraint 约束名 foreign key(字段) references 表名2(字段)

--alter table course add constraint course_to_student foreign key(tno) references teacher(tno);

--ALTER TABLE [dbo].[course] WITH CHECK ADD

--CONSTRAINT [FK_course_teacher] FOREIGN KEY([tno])

--REFERENCES [dbo].[teacher] ([tno])

----插入数据

--insert into course(cno,cname,tno) values(1,'企业管理',3)

--insert into course(cno,cname,tno) values(2,'马克思',1)

--insert into course(cno,cname,tno) values(3,'UML',2)

--insert into course(cno,cname,tno) values(4,'数据库',5)

怎么建立数据库

--5.创建成绩表

use test1

if exists(select * from test1.dbo.sysobjects where id=object_id(N'[dbo].[sc]') and OBJECTPROPERTY(id,N'IsUserTable') = 1)

drop table sc ----[dbo].[sc]

go

create table sc

(

sno int not null。

cno int not null。

score float not null

)

go

--if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[table_name]') and OBJECTPROPERTY(id,N'IsUserTable') = 1)

--drop table [dbo].[table_name]

--GO

--CREATE TABLE [dbo].[table_name] (....)

--GO

--创建外键

--alter table [dbo].[sc] with check add constraint [foreign_key1] foreign key([cno]) references [dbo].[course] ([cno])

--alter table [dbo].[sc] with check add constraint [foreign_key2] foreign key([sno]) references [dbo].[student] ([sno])

ALTER TABLE [dbo].[sc] WITH CHECK ADD CONSTRAINT [FK_sc_course] FOREIGN KEY([cno])

REFERENCES [dbo].[course] ([cno])

ALTER TABLE [dbo].[sc] WITH CHECK ADD CONSTRAINT [FK_sc_student] FOREIGN KEY([sno])

REFERENCES [dbo].[student] ([sno])

--删除外键

--第一步:找出指定表上的外键约束名字

--exec sp_helpconstraint 'dbo.sc'

--第二步:删除外键约束

alter table [dbo].[studnet] drop constraint FK_sc_student

--插入数据

INSERT INTO sc(sno,cno,score)VALUES(1,1,80)

INSERT INTO sc(sno,cno,score)VALUES(1,2,86)

INSERT INTO sc(sno,cno,score)VALUES(1,3,83)

INSERT INTO sc(sno,cno,score)VALUES(1,4,89)

INSERT INTO sc(sno,cno,score)VALUES(2,1,50)

INSERT INTO sc(sno,cno,score)VALUES(2,2,36)

--INSERT INTO sc(sno,cno,score)VALUES(2,3,43)

INSERT INTO sc(sno,cno,score)VALUES(2,4,59)

INSERT INTO sc(sno,cno,score)VALUES(3,1,50)

INSERT INTO sc(sno,cno,score)VALUES(3,2,96)

--INSERT INTO sc(sno,cno,score)VALUES(3,3,73)

INSERT INTO sc(sno,cno,score)VALUES(3,4,69)

有一篇文章,不知道是否对你有帮助:

SQL Server的系统表及其应用研究

1. SQL Server的系统表

Microsoft的SQL Server是一个可伸缩的高性能数据库管理系统,专为分布式客户机/服务器环境而设计,SQL Server几乎将所有的配置信息、安全性信息和对象信息都存储在了它自身的系统表中,而系统表存在于每个独立的数据库中,存储一个特定数据库对象信息的系统表通常称为数据库目录,MASTER数据库有其特有的系统表用于保存整个系统和所有数据库的信息,通常称为服务器目录或系统目录。

服务器上所有的数据库包括MODULE, MASTER等都含有18个具有相同名称、结构的系统表,如表SYSOBJECTS用于描述数据库中的对象棗表、视图、存储过程等,表SYSUSER用于描述数据库的用户,而MASTER数据库另外还有13个单独的全局系统表,如表SYSLOGINS用于保存每个服务器的登录名、口令和配置信息、表SYSDATABASE保存服务器上所有数据库名、所有者、状态及其他信息。

存储过程是内嵌于数据库中的程序代码,它与表、视图等一样是数据库的一个组成部分,不同于一般的外部程序代码,它是经过预编译处理的代码,因此具有运行速度快、效率高的特点,存储过程也是SQL Server的一个重要功能,许多单纯针对后台数据库的操作一般都交由存储过程来完成以提高系统效率。本文将给出一个存储过程来说明SQL Server系统表的应用。

2. SQL Server系统表的应用

在应用SQL Server的基于客户机/服务器体系结构的信息系统开发中,有时需要将后台SQL Server上的某一数据库的表结构都打印出来,以便于开发人员查阅及最终文档的形成。SQL Server本身提供了一个系统存储过程(SP_COLUMNS),可以完成对单个表结构的查询,只要在SLQ Server的ISQL-W工具中键入SP_COLUMNS“表名”,并执行即可得到结果集。但该方法有许多不足之处,其主要缺点是:

1)只能对数据库中单个数据表进行操作,当需要查询一个数据库中所有的表时,需要多次执行系统存储过程SP_COLUMNS,因此显得非常繁琐。

2)查询结果集中包含了许多不必要的信息,缺乏使用的灵活性。

下面我们创建一个存储过程来完成对某一个数据库中所有表结构的查询。

在创建一个数据库的同时,系统会自动建立一些系统表,限于篇幅的缘故我们在这里只介绍与应用实例有关的三个系统表(SYSOBJECTS,SYSCOLUMNS,SYSTYPES)及其相关的字段。 表SYSOBJECTS为数据库内创建的每个对象(约束,规则,表,视图,触发器等)创建一条记录。

该表相关字段的含义如下:

SYSOBJECTS.name 对象名,如:表名,视图名。

SYSONJECTS.id 对象id。

SYSOBJECTS.type 对象类型(p存储过程,v视图,s系统表,u用户表)。

表SYSCOLUMNS为每个表、视图中的每个列和每个存储过程的每个参数创建一条记录。 该表相关字段的含义如下:(此处的列系指数据库中每个表、视图中的列)

SYSCOLUMNS.id 该列所属的表的id,可与SYSOBJECTS.id相关联

SYSCOLUMNS.colid 列id,表示该列是表或视图的第几列

SYSCOLUMNS.type 物理存储类型,可与SYSTYPES.type相关联.

SYSCOLUMNS.length 数据的物理长度。

SYSCOLUMNS.name 列名字,即字段名。

SYSCOLUMNS.Pre 列的精度级。

SYSCOLUMNS.Scale 列的标度级。

表SYSTYPES为每个系统和每个用户提供的数据类型创建一条记录,如果它们存在,给定域和默认值,描述系统提供的数据类型的行不可更改。

该表相关字段的含义如下:

SYSTYPES.name 数据类型的名字。

SYSTYPES.type 物理存储数据类型。

在SQL SERVER的企业管理器(SQL ENTERPRISE MANAGER)中,选定某一数据库,创建存储过程print_dbstructure。

源代码如下:

if exists (select* from sysobjects where id=object_id( 'dbo.print_dbstructure ')and sysstat & 0xf=4)存储过程

drop procedure dbo. print_dbstructure

GO

CREATE PROCEDURE print_dbstructure

AS

SELECT DISTINCT sysobjects.name,syscolumns.colid,

syscolumns.name,systypes.name,syscolumns.prec,syscolumns.scale

FROM syscolumns,sysobjects,systypes

WHERE sysobjects.id=syscolumns.id AND systypes.type=syscolumns.type AND ((sysobjects. type= 'u '))

GO

首先判断是否存在一个名为print_dbstructure的存储过程,如果存在,就摘除它,否则,定义SQL语句建立新的存储过程。从三个系统表中选出满足条件的记录(即该数据库中保存在系统表中的用户表信息)。

执行时,在ISQL_W工具中,选定print_dbstructure所在的数据库,执行该存储过程,即可得到结果集(即该数据库中用户表的结构信息)。

3. SQL Server系统表的应用推广

怎么建立数据库

以上所介绍存储过程的主要缺陷在于只能对服务器上某一特定的数据库(print_dbstructure所在的数据库)进行查询操作,我们可以通过在SQL Server系统数据库MASTER中建立带有数据库名参数的系统存储过程来解决这一问题,请读者自行完成。当然,SQL Server 系统表的应用远不止于止,读者也可依本文所介绍的方法去挖掘其他几个系统表的应用。

*创建bbsDB数据库*

use master

if exists(select * from sysdatabases where name='bbsDB')

drop database bbsDB

create database bbsDB

on

(

name='bbsDB_data'。

filename='D:\project\bbsDB_data.mdf'。

size=10。

filegrowth=20%

)

log on

(

name='bbsDB_log'。

filename='D:\project\bbsDB_log.ldf'。

size=3。

maxsize=20。

filegrowth=10%

)

企业回大数据概念:大数据是近两年提出来的,有三个重要的特征:数据量大,结构复杂,数据更新速度很快。由于Web技术的发展,web用户产生的数据自动保存、传感器也在不断收集数据,以及移动互联网的发展,数据自动收集、存储的速度在加快,全世界的数。

*创建bbsUsers表*

use bbsdb

if exists(select * from sysobjects where name='bbsUsers')

创建好数据库之后,要想査看某个已经创建的数据库信息,可以通过SHOW CREATE DATABASE语句查看,具体语法格式如下所示:SHOW CREATE DATABASE数据库名称;查看创建好的数据库itcast的信息,SQL语句如下所示:SHOW CREATE DATABASE 。

drop table bbsUsers

create table bbsUsers

(

UID int identity(1,1) not null,--学号,标识列

Uname varchar(15) not null,--用户昵称

Upassword varchar(10) not null,--用户密码

Uemail varchar(20),--邮箱地址

Usex bit not null,--用户性别

Uclass int,--等级

Uremark varchar(20),--备注

创建数据库的方法有两种,使用向导创建数据库,使用菜单创建数据库和创建空数据库;使用向导创建数据库是一种简单便捷的方法。在物理上,数据库的建设要遵循实际情况。即在逻辑上建立一个整体的空间数据车、框架统一设计的同时。

UregDate datetime not null,--注册日期

Ustate int null,--状态

Upoint int null--用户积分

)

*创建bbsUsers表中的约束*

alter table bbsUsers

add constraint PK_uid primary key(uid),--主键

constraint DF_Upassword default(888888) for Upassword,--初始密码为888888

constraint DF_Usex default (1) for Usex,--性别默认为男

constraint DF_UregDate default (getdate()) for UregDate,--注册日期默认为系统日期

constraint DF_Ustate default(0) for Ustate,--状态默认为离线

constraint DF_Upoint default(20) for Upoint,--积分默认为20点

constraint CK_Uemail check(Uemail like '%@%'),--电子邮件必须含有@符号

*创建bbsSection表*

use bbsdb

方法二、通过拖拽形式建立数据库连接 1打开视图-->服务器资源管理器。 2右键点就数据连接,选择添加连接。 3选择服务器名(先刷新一下)-->登陆到服务器身份验证形式-->选择一个数据库名-->测试链接-->确定(如果测试链接成功的。

if exists(select * from sysobjects where name='bbsSection')

drop table bbsSection

create table bbsSection

(

SID int identity(1,1) not null,--板块标号,自动增长

Sname varchar(32) not null,--版块名称

SmasterID int not null,--版主用户ID

Sprofile varchar(20) null,--版面简介

SclickCount int null,--点击率

StopicCount int null--发帖数

)

*创建bbsSection表中的约束*

alter table bbsSection

add constraint PK_sid primary key(sid),--主键

constraint DF_SclickCount default(0) for SclickCount,--点击率默认为0

constraint DF_StopicCount default(0) for StopicCount,--发帖数默认为0

constraint DF_SmasterID foreign key(SmasterID)references bbsUsers (UID)--外键

*创建bbsTopic表*

use bbsdb

if exists(select * from sysobjects where name='bbsTopic')

drop table bbsTopic

create table bbsTopic

(

TID int identity(1,1) not null,--帖子编号,自动增长

用access建立一个数据库例子如下:单击“开始”→”所有程序“→”Microsoft Office“→”Microsoft Access 2010“,打开Microsoft Access 2010软件 在打开的Microsoft Access 2010软件中选中“空数据库”双击即可创建。或者打击“。

TsID int not null,--发帖人ID

TuID int not null,--版主用户ID

TreplyCount int null,--回复数量

Tface int null,--发帖表情

Ttopic varchar(20) not null,--标题

Tcontents varchar(30) not null,--正文

Ttime datetime null,--发帖时间

TclickCount int null,--点击数

Tstate int not null,--状态

TlastReply datetime null--回复时间

)

*创建bbsTopic表的约束*

alter table bbsTopic

add constraint DF_TreplyCount default(0) for TreplyCount,--回复数量默认为0

constraint PK_tid primary key(tid),--主键

constraint DF_TclickCount default (0) for TclickCount,--点击数默认为0

constraint DF_Tstate default (1) for Tstate,--状态默认为1

constraint DF_Ttime default (getdate()) for Ttime,--发帖时间默认为系统日期

constraint CK_Tcontents check (len(Tcontents)>=6),--正文必须大于六个字符

constraint CK_TlastReply check ((TlastReply)>(Ttime)),--最后回复时间必须晚于发帖时间

constraint DF_TsID foreign key(TsID)references bbsSection (SID),--外键

constraint DF_TuID foreign key(TuID)references bbsUsers (UID)--外键

*创建bbsReply表*

use bbsdb

if exists(select * from sysobjects where name='bbsReply')

drop table bbsReply

create table bbsReply

(

RID int identity(1,1) not null,--自动编号,帖子编号

RtID int not null,--主贴ID

RsID int not null,--板块ID

怎么建立数据库

RuID int not null,--回帖人ID

Rface int null,--回帖表情

Rcontents varchar(30) not null,--正文

Rtime datetime null,--回帖时间

RclickCount int null--点击数

)

*创建bbsReply表的约束*

alter table bbsReply

add constraint DF_Rtime default (getdate()) for Rtime,--回帖时间默认为系统日期

constraint DF_RtID foreign key(RtID)references bbsTopic (TID),--外键

constraint DF_RsID foreign key(RsID)references bbsSection (SID),--外键

constraint DF_RuID foreign key(RuID)references bbsUsers (UID)--外键

上一篇 2023年02月10 06:35
下一篇 2023年03月08 11:44

相关推荐

  • 怎么投屏电视,手机投屏到电视怎么搜索不到设备

    分享最实在的玩机技巧,洞察最前沿的科技资讯!大家好,这里是手机科技园!手机投屏到电视上有两种模式,一种是无线投屏,手机投屏到电视怎么搜索不到设备,需要有无线网,另一种是有线投屏,无需网络,一根转接线就

    2023年02月08 230
  • 怎么提取网页视频

    很多从事自媒体行业的小伙伴应该都知道,视频、音频都是我们平时经常会用到的素材之一,有时候在网上获取了视频需要提取它的音频来做素材使用。提取视频中的音频有很多的方法,下面我来分享4个提取方法,效率高速度

    2023年02月05 221
  • ps怎么打印,ps文件怎么打印出来

    不论是在生活中还是工作中,我们都离不开打印,很多时候我们要将指定的图片打印成指定大小,如果图片尺寸刚好合适还好,ps文件怎么打印出来,如果图片大小不匹配那就是一件让人头大的事儿。,看了这篇教程,你就可

    2023年02月10 264
  • mac地址有多少位,MAC地址有多少个

    小伙伴们大家好!今天和大家聊聊MAC地址及它的作用!好多小伙伴们可能总认为在网络中,只要知道对方的IP地址就能把数据信息发送过去!其实这样理解并不完全正确,正真找到对方主机的并不是靠IP地址,MAC地

    2023年03月08 244
  • 4k多少钱,多少钱的4k电视机是真的

    选对自己合适的笔记本真的很重要,有些人花了7K买回来的电脑,却只有别人3K的体验。而有些人花了4K预算买回来的电脑,体验却是一比一对等的。俗话说:花多少钱办多少事,笔记本中的轻薄本更是如此,现如今市场

    2023年02月26 251
  • 怎么盗取qq

    教你3分钟盗qq登录密码这样的说法实在有点夸张,毕竟不懂技术的小白想去盗号是很困难的,比如最简单的钓鱼盗号网站,就算不会写代码,也得会建网站才行啊,所以新手想3分钟去盗别人的号是很困难的。除非腾讯的数

    2023年02月15 260
  • 报警电话是多少,110的正确拨打方式

    110的正确拨打方式,2023年1月10日是全国第三个中国人民警察节,也是全国公安机关第37个“110宣传日”。作为中国人最为熟悉的电话号码,打110是紧要关头用来求助的最有效途径。但大量的非紧急求助

    2023年02月24 267
  • 淘宝问大家怎么删除,淘宝怎么删除我的提问记录

    评价对淘宝转化率的影响举足轻重,淘宝宝贝的评价分为两部分,分别是商品评论和【问大家】,相对于商品评论,【问大家】因为只能由真实客户的回答,并且所有的回答无法删除,其真实性被更多的消费者所接受。也正是因

    2023年02月06 282
  • 怎么提取网页中的图片,网页源代码提取图片

    相信大家平时在用手机浏览网站的时候都会遇到这样一种情况,明明看到了好看的图片想要下载下来,但网页却没有下载的选项,截图的话只能先截下来再裁剪,网页源代码提取图片,非常麻烦。,要是能有个自带图片提取功能

    2023年02月06 238
  • 微信号怎么,改个有意义的微信号ID

    今天给大家分享,如何快速微信养号,改个有意义的微信号ID,总共九步,按照我讲述的方法,15天就可以养一个成熟的微信号,大大降低被封的几率3.第三步,将添加的5个好友设为紧急联系人,这样在你的微信被封的

    2023年02月08 272
  • 微信怎么冻结,家人手机丢了怎么冻结微信

    手机微信是当下常用的一款社交软件,有时候手机丢了或者是微信被盗用了,该怎么处理?很多小伙伴们应该很懵不知所措了,最重要的是避免二次损失,家人手机丢了怎么冻结微信,捂紧自己的钱袋子,冻结名下的账号。有些

    2023年02月09 268
  • qq怎么绑定身份证,qq名下超额人脸过不了怎么办

    奇迹暖暖健康系统换身份证方法奇迹暖暖健康系统怎么换身份证?奇迹暖暖健康系统很多小伙伴们都应清楚,不少小伙伴们之前用的身份证并不是自己的,现在想换成自己的,qq名下超额人脸过不了怎么办,奇迹暖暖健康系统

    2023年02月14 290
  • 1t机械硬盘多少钱,机械硬盘价格走势图2022

    一提到固态硬盘,大家第一印象就是:贵!不过,这也难怪大家这么想,毕竟前几年SSD固态硬盘的价格,真的高得离谱。所以,就导致很多朋友,原本想更换1T固态硬盘,都变成加装200多G的固态硬件。1t的移动机

    2023年02月21 202
关注微信