使用SQL语句创建数据库与创建表_数据库建表-程序员宅基地

技术标签: 数据库  sql  

在这里插入图片描述

前言

个人主页: :初阶牛
推荐专栏: c语言初阶
个人信条: 知行合一
本篇简介:>:
本篇记录一下牛牛在学校学习的sql serve数据库知识,内容比较基础适合,适合数据库初学者学习,希望对大家有些帮助,一起加油吧!

一、通过sql语句实现

1.1 创建数据库

创建数据库模板:

create database 数据库名称				--创建数据库
on primary
(
	name								--数据库的逻辑名称
	filename				
	--物理存放位置及物理文件名称(Student_info.mdf就是在磁盘上显示的名称)
	size								--设置数据文件初始大小
	maxsize								--设置最大限制
	filegrowth							--设置主数据文件增长幅度
)
log on									--定义事务日志文件
(
	name 								--逻辑名称
	filename							--物理存放位置及物理文件名称
	size=								--设置事务日志文件初始大小
	maxsize								--设置最大限制为
	filegrowth							--设置事务日志增长幅度
)

还是范例看的更清楚,那就上栗子吧!

栗子:
按要求创建一个数据库

具体参数如下表:

参数名称 参考参数
数据库名称 Student_info1
数据库逻辑文件名称 Student_info1_data
数据库物理文件名称 Stduent_info1_data.mdf
数据库文件初始大小 20MB
数据文件大小最大值 300MB
数据文件增长增量 5MB
日志逻辑文件名称 Student_info_log1
日志物理文件名称 Student_info_log1.ldf
日志文件初始大小 5Mb
日志文件大小最大值 50MB
日志文件增长量 1MB

代码:

create database Student_info1--创建数据库
on primary
(
	name= Student_info1,--数据库的逻辑名称
	filename='E:\大2上学期\数据库原理\sql serve\Student_info1.mdf',--物理存放位置及物理文件名称(Student_info.mdf就是在磁盘上显示的名称)
	size=20,--初始大小
	maxsize=300,--最大限制
	filegrowth=5--主数据文件增长幅度为5MB
)
log on--定义事务日志文件
(
	name =Student_info_log1,--逻辑名称
	filename='E:\大2上学期\数据库原理\sql serve\Student_info1.ldf',--物理存放位置及物理文件名称
	size=5,--初始大小为5mb
	maxsize=50,--最大限制为50mb
	filegrowth=1--事务日志增长幅度为1mb
)

1.2 查看、验证创建的数据库。

数据库创建好了以后,我们可以查看数据库的属性是否符合要求.

执行sp_helpdb系统存储过程查看Student_info数据库的信息。
步骤如下:

输入sql语句

sp_helpdb Student_info1

最后单击"执行"按钮就OK了.

1.3 修改数据库的属性

当我们发现数据库的属性,创建的时候不小心写错了,或者别的原因需要修改数据属性的时候应该怎么办呢?

例如:
将刚刚创建的数据库Student_info 数据文件的初始值大小 改为30MB, 最大值 改为500MB, 数据增长量 改为5%, 日志文件初始值 改为20MB, 最大值 改为60MB, 数据增长量 为6%.

代码:

--修改数据文件属性
ALTER DATABASE  Student_info1
MODIFY FILE
(
	NAME = Student_info1,--要修改属性的文件名称
	SIZE = 30,--修改初始大小为30mb
	maxsize=300,--修改最大限制为300mb
	filegrowth=5%--修改事务日志增长幅度为5%
)
--修改事务日志文件属性
ALTER DATABASE  Student_info1
MODIFY FILE
(
	NAME =Student_info_log1,
	size=20,--修改初始大小为20mb
	maxsize=60,--修改最大限制为60mb
	filegrowth=6%--修改事务日志增长幅度为6%
)

修改前后通过语句sp_helpdb Student_info1观察数据库属性的变化
修改前:

修改后:

1.4 数据库的分离与附加。

数据库分离:数据库分离是指将数据库文件从数据库服务器实例中分离出来,相当于关闭了数据库。数据库分离后,应用程序不能连接到该数据库,数据库文件可以被其它进程访问。通常分离数据库用于快速地将数据库迁移到另一个SQLSERVER实例中.

从创建数据库的语句中我们不难知道,我们创建的数据库是一个存放在我们电脑硬盘上的一个文件,受DBMS(数据库管理系统)管理,如果我们想要自己创建的数据库在别的客户端,或者说是让别人在它的电脑上也能使用,我们就需要对数据库分离,然后找到被分离的数据库文件.mdf(数据文件),和.ldf(日志文件)
模板:

--分离
execute sys.sp_detach_db @dbname=数据库名
execute sp_attach_db Student_info1 ,filenme

范例:将数据库Student_info1分离后又附加
代码:

----将数据库Student_info1分离
execute sys.sp_detach_db @dbname='Student_info1'
execute sp_attach_db Student_info1 ,
'E:\大2上学期\数据库原理\sql serve\Student_info1.mdf',
--filename每个人的不一样,与当时创建的数据库存放的地址有关
'E:\大2上学期\数据库原理\sql serve\本Student_info1.ldf'
--filename每个人的不一样,与当时创建的数据库存放的地址有关

1.5 创建数据表

模板:

create table 表名(
	属性名1 类型,
	属性名2 类型,
	属性名3 类型		--注意最后一条语句不用','
	)

范例:

Student_info数据库包含3张表:请按要求创建下表
Student表、	Course表及SC表,
分别代表学生信息、课程信息及学生选课信息。
三张表要求如下:
--创建Student表
create table Student(
	Sno char(8) primary key not null,			--学号,并设置为主键(primary key)和非空(not null)
	Sname varchar(8) not null,					--学生姓名
	Sex char(2) default '男' not null,			--性别,设置默认值(default)为'男'
	Birth smalldatetime not null,				--出生年月
	Classno char(3) not null,					--班级号
	Entrance_date smalldatetime not null,		--入学时间
	Home_addr varchar(40)						--家庭住址(可以为空)
)

--创建Course表
create table Course(
	Cno char(3) primary key not null,						--课程号
	Cname varchar(20) not null,					--课程名称
	Toal_perior smallint,						--总学时
	Gredit tinyint check(Gredit>0 and Gredit<=6)	--学分,这里要使用check约束
)

--创建sc表
create table Sc(
	Sno char(8)  not null,						--学号
	Cno char(3) not null,						--课程号
	primary key(sno,cno),						--设置sno和cno的属性组为主键
	foreign key(sno)references student(sno),		--设置外键
	foreign key(cno)references course(cno),		--设置外键
	Grade tinyint check(	Grade>=0 and Grade<=100)	--成绩
)

二、用通过SQL Sever Management Studio

2.1 创建数据库

步骤:
1.右击“数据库“,在弹出的快捷菜单中选择”新建数据库“

  1. 将要求参数在此界面设置。如下图:

2.2 查看、验证创建的数据库。

1.右击Student_info1数据库,在弹出的快捷菜单中,单击“属性”按钮。

2.3 修改数据库的属性

在打开的数据库属性对话框中,单击“文件”选项卡,即可查看数据库的属性。
双击可直接修改.

2.4 数据库分离与附加

数据库分离:

右击Student_info1数据库,在弹出的快捷菜单中选择“属性“,在”数据库属性对话框“中选择”选项“选项卡。找到限制访问,将其修改为”SINGLE_USER“

在提示框中单击"是".

当左侧显示(单个用户)的时候表示分离成功了一半

最后在打开的“分离数据库”对话框中:勾选“更新统计信息”复选框。
若“消息”列表没有显示存在活动链接,则“状态”列会显示“就绪”。
另外一种情况,“消息“列表显示”活动链接“,“状态”列表就会显示“未就绪“。
此时需要再勾选”删除链接“列的复选框。

数据库的附加:

将Student_info数据库再次附加到服务器中
1.选中左边“数据库“,右击。在快捷菜单中选择”附加”命令。

结语

牛牛并不建议使用SQL Sever Management Studio来完成相应的数据库操作,重点是要学会sql语句命令来执行操作,这是因为当我们在执行大量的数据任务时,用sql语句会显得方便很多.
好了,这次就讲到这里了,后续会继续更新数据库的知识.加油吧!
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2kvagxv62400o


最后,小伙伴们的点赞就是给牛牛最大的支持,能不能给牛牛来一个一键三连呢?谢谢支持。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_67276605/article/details/128049736

智能推荐

开源项目,毕业设计_本科毕业设计拿别人的开源代码修改-程序员宅基地

文章浏览阅读1.5w次,点赞35次,收藏385次。自己在网上找的开源项目,比较好分享给大家热门开源项目(包含小四轴、智能手环、光立方、智能车、防丢器等项目)号外!号外!(搞四轴,有这套就足够了!)科研级别的小四轴STM32F4芯片支持WIFI且android手机控制自适应控制就是牛掰!该飞机面向有科研和强烈学习意向的小伙伴们使用,如果只是想玩的话你肯定不会喜欢这套四轴的,主要设计思想是提供一个高性能的控制和姿态算法验证平台,因此..._本科毕业设计拿别人的开源代码修改

Java快速开发框架_若依——Ruoyi添加自己的业务模块_ruoyi java17-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏26次。QQ 1274510382Wechat JNZ_aming商业联盟 QQ群538250800技术搞事 QQ群599020441解决方案 QQ群152889761加入我们 QQ群649347320共享学习 QQ群674240731纪年科技aming网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。叮叮叮:产品已上线 —>关注 官方-微信公众号——济南纪年信息科技有限公司民生项目:商城加盟/娱乐交友/创业商圈/外包兼职开发-项目发布/安全项目:态势感.._ruoyi java17

CISCO 交换机配置 Web浏览器的方式-程序员宅基地

文章浏览阅读9k次,点赞2次,收藏3次。 当利用Console口为交换机设置好IP地址信息并启用HTTP服务后,即可通过支持JAVA的Web浏览器访问交换机,并可通过Web通过浏览器修 改交换机的各种参数并对交换机进行管理。事实上,通过Web界面,可以对交换机的许多重要参数进行修改和设置,并可实时查看交换机的运行状态。不过在利用 Web浏览器访问交换机之前,应当确认已经做好以下准备工作:·在用于管理的计算机中安装T..._思科交换机2960s有web配置吗

ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:22122, response status 2 != 0-程序员宅基地

文章浏览阅读2.5w次,点赞2次,收藏6次。报错信息: [2018-09-09 20:33:12] ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:22122, response status 2 != 0 [2018-09-09 20:33:12] ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:..._error - file: tracker_proto.c, line: 48, server: 172.17.0.1:22122, response

使用matplotlib显示图片(《深度学习入门:基于Python的理论与实现》实践笔记)_matplotlib展示图片-程序员宅基地

文章浏览阅读3.9k次。使用matplotlib显示图片(《深度学习入门:基于Python的理论与实现》实践笔记)一、安装matplotlib库二、导入matplotlib.pyplot库和matplotlib.image库里的imread函数三、实例:显示图片一、安装matplotlib库在命令行使用下面的命令即可:pip install matplotlib二、导入matplotlib.pyplot库和matplotlib.image库里的imread函数在程序开头使用:import matplotlib.pyp_matplotlib展示图片

Subversion实践案例——客户现场模式的分布式开发_开发去客户现场的案例-程序员宅基地

文章浏览阅读1.2k次。基本信息 用户单位:某应用软件研发企业 用户规模:100人以上 组织过程水平:中等 CMMI评审等级:无 Subversion使用时间:1年 客户需求 由于公司每次向新客户提交软件的时候都需要派出一个小规模的团队到客户现场进行一段时间的软件定制和维护。此外,老客户系统的重大升级和功能扩展也需要一个小团队在客户现场进行一段时间的开发。因此,异地开发的配置管理就是一_开发去客户现场的案例

随便推点

(基于matlab自写代码)语音信号的短时分析,计算平均能量,短时过零数_matlab求语音信号短时过零率的函数-程序员宅基地

文章浏览阅读3.2k次。一定时宽的语音信号,其能量的大小随时间有明显的变化。清音段能量比浊音段小得多。短时过零数也可用于语音信号分析中,发浊音时,其语音能量约集中于3kHz以下,而发清音时,多数能量出现在较高频率上。可认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数,故对一短时语音段计算其短时平均能量及短时平均过零数,就可以区分其中的清音段和浊音段,从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界。这在语音识别中有重要意义。自己编写的matlab代码,对一段语音,取帧长为240个点,计算其平均能_matlab求语音信号短时过零率的函数

Ubuntu服务器创建新用户及解决新用户登录Access denied问题

默认情况下,在Ubuntu上,sudo组的成员被授予sudo访问权限。如果您希望新创建的用户具有管理权限,需要将将用户添加到sudo组。命令将向你询问一系列的问题。密码是必需的,其他字段都是可选的。最后,输入Y确认信息是否正确。执行完上述步骤后需要重启ssh服务,否则新创建的用户连接服务器时会出现。

项目组织战略管理及组织结构_项目组织的具体形态的是战略管理层-程序员宅基地

文章浏览阅读1.7k次。组织战略是组织实施各级项目管理,包括项目组合管理、项目集管理和项目管理的基础。只有从组织战略的高度来思考,思考各个层次项目管理在组织中的位置,才能够理解各级项目管理在组织战略实施中的作用。同时战略管理也为项目管理提供了具体的目标和依据,各级项目管理都需要与组织的战略保持一致。..._项目组织的具体形态的是战略管理层

图像质量评价及色彩处理_图像颜色质量评价-程序员宅基地

文章浏览阅读1k次。目录基本统计量色彩空间变换亮度变换函数白平衡图像过曝的评价指标多视影像因曝光条件不一而导致色彩差异,人眼可以快速区分影像质量,如何利用图像信息辅助算法判断影像优劣。基本统计量灰度均值方差梯度均值方差梯度幅值直方图图像熵p·log(p)色彩空间变换RGB转单通道灰度图像 mean = 225.7 stddev = 47.5mean = 158.5 stddev = 33.2转灰度梯度域gradMean = -0.0008297 / -0.000157461gr_图像颜色质量评价

MATLAB运用规则,利用辛普森规则进行数值积分-程序员宅基地

文章浏览阅读1.4k次。Simpson's rule for numerical integrationZ = SIMPS(Y) computes an approximation of the integral of Y via the Simpson's method (with unit spacing). To compute the integral for spacing different from one..._matlab利用幸普生计算积分

【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题-程序员宅基地

文章浏览阅读1.2w次,点赞28次,收藏61次。Hugging face 资源很不错,可是国内下载速度很慢,动则GB的大模型,下载很容易超时,经常下载不成功。很是影响玩AI的信心。经过多次测试,终于搞定了下载,即使超时也可以继续下载。真正实现下载无忧!究竟如何实现?且看本文分解。_huggingface_hub