使用SQL语句创建数据库与创建表

news2024/12/28 3:37:48

在这里插入图片描述

前言

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

目录

  • 前言
  • 一、通过sql语句实现
    • 🐮1.1 创建数据库
    • 🐶1.2 查看、验证创建的数据库。
    • 👾1.3 修改数据库的属性
    • 🐻1.4 数据库的分离与附加。
    • 🐼1.5 创建数据表
  • 二、用通过SQL Sever Management Studio
    • 2.1 创建数据库
    • 2.2 查看、验证创建的数据库。
    • 2.3 修改数据库的属性
    • 2.4 数据库分离与附加
  • 结语

一、通过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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1251109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

向量机SVM原理理解和实战

目录 概念场景导入 点到超平面的距离公式 最大间隔的优化模型 硬间隔、软间隔和非线性 SVM 用 SVM 如何解决多分类问题 1. 一对多法 2. 一对一法 SVM主要原理和特点 原理 优点 缺点 支持向量机模型分类 SVM实战如何进行乳腺癌检测 数据集 字段含义 代码实现 参…

Leetcode—266.回文排列【简单】Plus

2023每日刷题&#xff08;四十&#xff09; Leetcode—266.回文排列 C语言实现代码 char chara[26] {0};int calculate(char *arr) {int nums 0;for(int i 0; i < 26; i) {nums arr[i];}return nums; }bool canPermutePalindrome(char* s) {int len strlen(s);for(in…

Proto3语法详解01

1.字段规则 消息的字段可以用下面几种规则来修饰: ●singular: 消息中可以包含该字段零次或一次(不超过一次)。proto3语法中&#xff0c;字段默认使用该 规则。 ●repeated :消息中可以包含该字段任意多次(包括零次)&#xff0c;其中重复值的顺序会被保留。可以理 解为定义了一…

CSS新特性(2-2)

CSS新特性&#xff08;2-2&#xff09; 前言box相关box-shadow background背景rgba颜色与透明度transform:rotate(Xdeg) 2D旋转transform:tranlate 平移 前言 本文继续讲解CSS3其他的新特性&#xff0c;想看之前新特性点击这里&#xff0c;那么好本文正式开始。 box相关 box…

BUUCTF [GUET-CTF2019]KO 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 得到的 flag 请包上 flag{} 提交。 密文&#xff1a; 下载附件得到一个.txt文本。 解题思路&#xff1a; 1、结合题目提示和文本特征&#xff0c;可以确定为Ook&#xff01;编码。 Ook. Ook. Ook. Ook. Ook. Ook…

MyBatis的功能架构,MyBatis的框架架构设计,Mybatis都有哪些Executor执行器,Mybatis中如何指定使用哪一种Executor执行器

文章目录 MyBatis的功能架构是怎样的把Mybatis的功能架构分为三层&#xff1a; **MyBatis的框架架构设计**是怎么样的架构图如下Mybatis都有哪些Executor执行器&#xff1f;它们之间的区别是什么&#xff1f;Mybatis中如何指定使用哪一种Executor执行器&#xff1f; MyBatis的功…

FreeRTOS学习之路,以STM32F103C8T6为实验MCU(2-4:内核控制与时间管理函数)

学习之路主要为FreeRTOS操作系统在STM32F103&#xff08;STM32F103C8T6&#xff09;上的运用&#xff0c;采用的是标准库编程的方式&#xff0c;使用的IDE为KEIL5。 注意&#xff01;&#xff01;&#xff01;本学习之路可以通过购买STM32最小系统板以及部分配件的方式进行学习…

jconsole的基本使用和死锁的检测

jconsole的基本使用和死锁的检测 因为jconsole是JDK自带的&#xff0c;所以安装了JDK就可以直接打开了。 1. 打开方式 cmd命令行打开&#xff1a;输入jconsole&#xff0c;然后按Enter JDK安装目录&#xff0c;bin目录下&#xff0c;双击即可打开 选择一个进程然后打开 可…

怎样禁止邮件发送涉密信息

数字化时代&#xff0c;电子邮件已成为人们生活和工作中不可或缺的通讯工具。然而&#xff0c;随着互联网的普及&#xff0c;涉密信息的泄露风险也随之增加。为了保护敏感数据&#xff0c;禁止邮件发送涉密信息显得尤为重要。以下是一些建议&#xff0c;帮助你实现这一目标。 1…

数据丢失抢救神器之TOP10 Android 数据恢复榜单

在快节奏的数字时代&#xff0c;我们的生活越来越与智能手机交织在一起&#xff0c;使它们成为重要数据和珍贵记忆的存储库。由于意外删除、软件故障或硬件故障而丢失数据可能是一种痛苦的经历。值得庆幸的是&#xff0c;技术领域提供了 Android 数据恢复软件形式的解决方案。这…

【每日一题】二叉树中的伪回文路径

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;递归&#xff08;DFS&#xff09;方法二&#xff1a;位运算 写在最后 Tag 【递归/DFS】【伪回文】【二叉树】【2023-11-25】 题目来源 1457. 二叉树中的伪回文路径 题目解读 伪回文路径指的是路径中的节点值经过重新…

Linux基本指令汇总

本专栏内容为&#xff1a;Linux学习专栏&#xff0c;分为系统和网络两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握Linux。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;Linux从入门到精通 &#x1f69a;代码仓库&#xff1a;小…

buuctf web [极客大挑战 2019]PHP

提示有备份,dirsearch扫描网站备份 GitHub - maurosoria/dirsearch: Web path scanner下载.zip格式文件 解压到python目录下 在上图位置cmd打开窗口 输入python setup.py install安装dirseach 安装好后输入命令使用dirseach python dirseach.py -u http://44296191-973d-448…

电子学会C/C++编程等级考试2021年09月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:字符统计 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。输入 输入包含一行,一个字符串,长度不超过1000。输出 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多…

微信消息推送说明

1 打开任务清单 2 编辑任务清单设置 名字解释 姓名&#xff1a;微信名字 内容&#xff1a;要发送消息 定时&#xff1a;从几点开始发送 每隔几分钟&#xff1a;每隔几分钟重复发送一次 重复次数&#xff1a;每隔几分钟重复发送几次 响玲&#xff1a;定时语音电话&#x…

Redis主从复制(新)

像一些大型的项目&#xff0c;为了保证系统的稳定性&#xff0c;会有一台Redis服务器专门作为主机(master)&#xff0c;还会有多台服务器作为从机(slave)&#xff0c;主机可专门用作写数据&#xff0c;然后根据配置和策略&#xff0c;自动将数据同步到从机&#xff0c;而从机专…

Redis数据备份和还原

Redis SAVE 命令用于创建当前数据库的备份文件&#xff0c;文件名默认为dump.rdb。备份数据库数据可以增强对数据的保护&#xff0c;提升数据的安全性。当数据不小心丢失或者被删除时&#xff0c;我们就可以通过相应的操作进行数据恢复。本节介绍 Redis 的数据备份和数据还原操…

mybatis的使用,mybatis的实现原理,mybatis的优缺点,MyBatis缓存,MyBatis运行的原理,MyBatis的编写方式

文章目录 MyBatis简介结构图Mybatis缓存&#xff08;一级缓存、二级缓存&#xff09;MyBatis是什么&#xff1f;mybatis的实现原理JDBC编程有哪些不足之处&#xff0c;MyBatis是如何解决这些问题的&#xff1f;Mybatis优缺点优点缺点映射关系 MyBatis的解析和运行原理MyBatis的…

浅谈安科瑞剩余电流继电器在智能建筑中的应用

摘要&#xff1a;分析了智能建筑应用剩余电流继电器的必要性&#xff0c;介绍了ASJ剩余电流继电器的主要功能、工作原理、分类情况和提出了在选择剩余电流保护断路器时的原则和注意事项。 Abstract: the necessity of applying residual current relay in intelligent buildin…

不同视频格式如何一键生成二维码?二维码视频制作在线技巧

现在通过扫码看视频是很多人在使用的一种方式&#xff0c;通过制作视频二维码来引导用户了解自己的内容&#xff0c;但是视频有很多种不同的格式&#xff0c;那么有什么方法能够将不同格式的视频生成二维码呢&#xff1f;下面来教大家一招&#xff0c;通过在线的视频二维码生成…