【SQL server】数据库、数据表的创建

news2024/11/21 1:40:06

创建数据库

--如果存在就删除
--所有的数据库都存在sys.databases当中
if exists(select * from sys.databases where name = 'DBTEST')
	drop database DBTEST

--创建数据库
else
create database DBTEST
on  --数据文件
(
	name='DBTEST',--逻辑名称 字符串用单引号
	filename='D:\DATA\DBTEST.mdf',--物理路径和名称
	size=5MB,--文件的初始大小
	filegrowth=2mb--文件增长大小,也可以写百分比
)

log on  --日志文件
(
	name='DBTEST_log',--逻辑名称 字符串用单引号
	filename='D:\DATA\DBTEST_log.ldf',--物理路径和名称
	size=5MB,--文件的初始大小
	filegrowth=2mb--文件增长大小,也可以写百分比
)

--创建数据库简写
create database DBTEST1 --数据库的数据文件和日志文件会为默认值

sys.databases路径:系统数据库 -> master -> 视图 -> 系统视图 -> sys.databases

查看前1000行:

if exists(select * from sys.databases where name = 'DBTEST')
	drop database DBTEST

如果DBTEST数据库存在,那么就删除(drop)掉这个数据库。

创建数据表

--切换数据库
use DBTEST

--创建表的基本语法
--create table 表名
--(
	
--)
--判断表是否存在
if exists(select * from sys.objects where name='Department'and type='U')
	drop table Department

--建表(部门、职级、员工)
create table Department --部门表
(
	--需要的字段
	--主键,唯一标识,不能重复,identity(1,1):自动增长,初始值,增长的步长
	DepartmentID int primary key identity(1,1),
	DepartmenName nvarchar(50) not null, --最多能个存50个字,不能为null
	DepartmentRemark text --部门描述
)

--Rank是一个关键字,可以使用[ ]括起来

create table [Rank] --部门表
(
	--需要的字段
	--主键,唯一标识,不能重复,identity(1,1):自动增长,初始值,增长的步长
	RankID int primary key identity(1,1),
	RankName nvarchar(50) not null, --最多能个存50个字,不能为null
	RankRemark text --部门描述
)

--char:定长,char(10),里面可以存储10个字节,存了3个字节,也占用10个字节
--varchar:变长,varchar(10)最多占用10个字节,11个存不进去
--text:长文本
--前面加一个n标识存储的unicode字符,nchar,nvarchar,ntext
--对中文更加友好
--varchar(100):存储100个字母或者50个汉字
--nvarchar(100):存储100个字母或者100个汉字

--员工
create table People
(
	--需要的字段
	--主键,唯一标识,不能重复,identity(1,1):自动增长,初始值,增长的步长
	DepartmentId int references Department(DepartmentId) not null, --外键,部门
	RankId int references [Rank](RankId) not null,--职级,引用外键
	PeopleID int primary key identity(1,1),
	PeopleName nvarchar(50) not null, --最多能个存50个字,不能为null
	PeopleSex nvarchar(1) default('男') check(PeopleSex='男'or PeopleSex='女'),
	PeopleBrith smalldatetime not null, --data:年月日,datatime:年月日时分秒,smalldatetime:最近的一段时间的时间,占用空间也会更小
	PeopleSalary decimal(12,2) check(PeopleSalary>=1000 and PeopleSalary<=1000000)not null,
	PeoplePhone varchar(20) unique not null,--unique:这个数据是唯一的
	PeopleAddress nvarchar(300),
	PeopleAddTime smalldatetime default(getdate())--添加时间
)

数据类型

  • char:定长,char(10),里面可以存储10个字节,存了3个字节,也占用10个字节
  • varchar:变长,varchar(10)最多占用10个字节,11个存不进去
  • text:长文本
  • 前面加一个n标识存储的unicode字符,nchar,nvarchar,ntext
  • 对中文更加友好
  • varchar(100):存储100个字母或者50个汉字
  • nvarchar(100):存储100个字母或者100个汉字
  • data:只包括年月日
  • datetime:包括了年月日时分秒
  • smalldatetime:最近的年月日
  • decimal(12,2):整数占12位,小数2位

check(PeopleSalary>=1000 and PeopleSalary<=1000000),检查PeopleSalary>=1000并且PeopleSalary<=1000000

primary key:主键

references Department(DepartmentId):是指定了一个外键约束,将另一个表中的特定字段(DepartmentId)与本表的某个字段进行关联。

default('男'):不填默认就是男。

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

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

相关文章

uni-app(1)pages. json和tabBar

第一步 在HBuilderX中新建项目 填写项目名称、确定目录、选择模板、选择Vue版本&#xff1a;3、点击创建 第二步 配置pages.json文件 pages.json是一个非常重要的配置文件&#xff0c;它用于配置小程序的页面路径、窗口表现、导航条样式等信息。 右键点击pages&#xff0c;按…

C语言进阶第十课 --------文件的操作

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

从多表连接视图对比人大金仓和Oracle

KING BASE 信息时代&#xff0c;数据是驱动业务决策和创新的核心资源。然而&#xff0c;随着数据量的不断增加&#xff0c;有效地处理和整合数据的过程变得愈发复杂。这时&#xff0c;多表连接视图悄然走进数据库世界&#xff0c;不仅能够将多个表中的数据整合在一起&#xff0…

代码随想录算法训练营第四十八天|121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;代码随想录B站账号 状态&#xff1a;看了视频题解和文章解析后做出来了 121. 买卖股票的最佳时机 class Solution:def maxProfit(self, prices: List[int]) -> int:if len(prices) 0:return 0dp [[0] * 2 for _ in r…

二叉树前序,中序,后序遍历

前序遍历&#xff08;递归&#xff09;&#xff1a; 中序遍历&#xff08;递归&#xff09;&#xff1a;

2023全新付费进群系统源码 带定位完整版 附教程

这源码是我付费花钱买的分享给大家&#xff0c;功能完整。 搭建教程 Nginx1.2 PHP5.6-7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库&#xff08;58soho.cn.sql&#xff09; 第三步修改/config/database.php里面的数据库地址 第四步修改/conf…

qt-C++笔记之treeWidget初次使用

qt-C笔记之treeWidget初次使用 code review! 文章目录 qt-C笔记之treeWidget初次使用1.运行2.文件结构3.main.cpp4.widget.h5.widget.cpp6.widget.ui7.main.qrc8.qt_widget_test.pro9.options.png 1.运行 2.文件结构 3.main.cpp 代码 #include "widget.h"#include…

使用opera/火狐浏览器将网页固定到桌面和任务栏

1.单击Windows 图标&#xff0c;搜索Opera&#xff0c;右键单击它&#xff0c;然后选择Open file location 2.右键单击Opera&#xff0c;然后选择Show more options 3.将光标悬停在“发送到”选项上&#xff0c;然后选择“桌面&#xff08;创建快捷方式&#xff09;” 4.转到…

Android 弹出自定义对话框

Android在任意Activity界面弹出一个自定义的对话框&#xff0c;效果如下图所示: 准备一张小图片&#xff0c;右上角的小X图标64*64&#xff0c;close_icon.png&#xff0c;随便找个小图片代替&#xff1b; 第一步&#xff1a;样式添加&#xff0c;注意&#xff1a;默认在value…

leetcode系列(双语)003——GO无重复字符的最长子串

文章目录 003、Longest Substring Without Repeating Characters个人解题官方解题扩展 003、Longest Substring Without Repeating Characters 无重复字符的最长子串 Given a string s, find the length of the longest substring without repeating characters. 给定一个字符…

Linux非阻塞等待示例

Linux非阻塞等待实例 非阻塞等待的意义&#xff1a;简单的多进程编程示例代码解释 非阻塞等待的意义&#xff1a; 非阻塞等待在多进程编程中的意义主要体现在提高系统的响应性、实现异步任务执行、动态任务管理和多任务协同工作等方面。它允许父进程在等待子进程退出的同时&…

【SQL server】 表结构的约束和维护

表结构的约束和维护 修改表结构 (1)添加列 (2)删除列 (3)修改列alter table 表名 add 新列名 数据类型给员工表添加一列邮箱 alter table People add PeopleMail varchar(200)删除列 alter table People drop column PeopleMain修改列 alter table 表名 alter column 列名 数据…

Vulkan渲染引擎开发教程 一、开发环境搭建

一 安装 Vulkan SDK Vulkan SDK 就是我们要搞的图形接口 首先到官网下载SDK并安装 https://vulkan.lunarg.com/sdk/home 二 安装 GLFW 窗口库 GLFW是个跨平台的小型窗口库&#xff0c;也就是显示窗口&#xff0c;图形的载体 去主页下载并安装&#xff0c;https://www.glfw.…

CSS特效014:模仿钟摆效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…

测不准原理

测不准原理 算符的对易关系 commutation relation 测不准原理的矢量推导 Schwarz inequality: 设对易关系&#xff1a; 设一个新态&#xff1a; 投影&#xff1a; 那么有&#xff1a; 代回Schwarz inequality 即可证明&#xff1a;

【机器学习算法】机器学习:支持向量机(SVM)

转载自&#xff1a; 【精选】机器学习&#xff1a;支持向量机&#xff08;SVM&#xff09;-CSDN博客 1.概述 1.1&#xff0c;概念 支持向量机&#xff08;SVM&#xff09;是一类按监督学习方式对数据进行二元分类的广义线性分类器&#xff0c;其决策边界是对学习样本求解的最…

java并发编程之基础与原理2

cpu缓存结构剖析 下面说一下概念与作用 CPU缓存即高速缓冲存储器&#xff0c;是位于CPU与主内存间的一种容量较小但速度很高的存储 器。由于CPU的速度远高于主内存&#xff0c;CPU直接从内存中存取数据要等待一定时间周期&#xff0c;Cache中 保存着CPU刚用过或循环使用的一部…

UE 调整材质UV贴图长宽比例

首先&#xff0c;为什么要先减去0.5呢&#xff0c;因为缩放的贴图中心在0,0原点&#xff0c;以这个点缩放效果是这样&#xff1a; 它缩放的图案不会在正中间&#xff0c;因为是以0,0点进行缩放的 以这个图的箭头去缩放图片的&#xff0c;所以不能使得缩放后的图片放在正中心 那…

开源情报 (OSINT)

开源情报 (OSINT)是出于情报目的收集和分析公开数据的行为。 什么是开源数据&#xff1f; 开源数据是公众容易获得或可根据要求提供的任何信息。 OSINT 来源可包括&#xff1a; ▶ 报纸杂志文章以及媒体报道▶ 学术论文和发表的研究▶ 书籍和其他参考资料▶ 社交媒体活动▶…