一、简单了解表(创建表之前一定要先了解数据类型与约束哦,这样我们才能创建正确的表!

1.定义:基本表是数据库中组织和管理数据的基本单位,数据库的数据保存在一个个基本表中。 对于关系型数据库系统而言,其数据结构是关系,也就由行和列构成的二维结构。

2.数据类型:SQL Server 提供了多种数据类型供用户选择,主要包括数字数据类型、字符数据类型、 日期和时间数据类型、二进制数据类型等,此外用户还可以自己定义数据类型。

1)数字数据类型: 数字数据类型主要用于存储数值,包括 tinyint、smallint、int、bigint、float、real、decimal、numeric、money 和 smallmoney 等。

2)字符数据类型 :字符数据类型用于存储各种字母、数字符号和特殊符号,使用时需用单引号(')将字符串括起来。常用的字符数据类型包括 char、varchar、nchar、nvarchar、text、ntext 等。

3)日期和时间数据类型:日期和时间数据类型主要包括 date、datetime、samlldatetime、time 等,其中,用户以单引号(')括起来的特定格式的字符串形式输入日期和时间类型数据,系统也以字符串形式输出日期和时间类型数据。

4)二进制数据类型 :二进制数据类型用于存储二进制数据,例如图形文件、word 文档或者 MP3 文件等,主要包括 bit、binary、varbinary。

5)其他数据类型 :除上述数据类型之外,SQL Server 还提供了 cursor、hierarchyid、table、uniqueidentifier、xml 等数据类型。

3.SQL Server 中的约束

1) 主键约束 (PRIMARY KEY):用于唯一地标识表中的各行,实现实体完整性。有主键约束的列上不能有重复值,也不能是 NULL ,它实际上是唯一性约束和非空约束的合并。一个表上只能有一个主键约束。
2) 唯一性约束 (UNIQUE ):有唯一性约束的列上不能有重复值,但可以是NULL。一个表上可以有多个唯一性约束。
3) 外键约束 (FOREIGN KEY) :有外键约束的列上的取值要参考被参照表中主键列或 QNIQUE 列上的取值,用于实现参照完整性。
4) 默认值约束 (DEFAULT ) : 在有默认约束的列上输入数据时,如果没有指定该列的值,则系统自动用默认值赋予该列。
5) 空/非空约束 ( NULL/NOT NULL ):如果表的某一列上有 NULL 约束,表示往表里插入数据时,可以省略该列的值。反之,如果表的某一列为 NOT NULL ,表示不允许在没有指定默认约束的情况下省略该列的值。NULL 不等于 0 ,它对应现实世界的语义是不确定,不知道。
6) 检查约束 (CHECK):用于实现用户自定义的完整性约束。比如约束成绩列的取值在[0-100] 之间,性别列上的取值只能是‘男’或‘女’。

二、使用management studio创建表

(1)启动 SQL Server Management Studio 。
(2)在左边的“对象资源管理器”窗口中展开“数据库” - “表”节点,单击鼠标右键,在出现的快捷菜单中选择“新建表”命令。出现如下界面:

(3)在出现的表设计器窗口中,“列名”单元格中用于输入要创建的表的字段名,在同一行的“数据类型”单元格中为该列选择恰当的数据类型,并在“允许 Null值”列选择是否允许该数据列为空值。如果允许,则选中复选框,如果不允许,则取消复选框。

三、使用SQL语句创建表

1.点击项目下方的新建查询,出现编写框

2.开始编写SQL语句

语句格式:CREATE TABLE <表名>     (<列名> <数据类型>[ <列级完整性约束条件> ]   [,<列名> <数据类型>[ <列级完整性约束条件>] ]…    [,<表级完整性约束条件> ] );

<表名>:所要定义的基本表的名字

<列名>:组成该表的各个属性(列)

<列级完整性约束条件>:涉及相应属性列的完整性约束条件

<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件

3. 查看表,在左侧“对象资源管理器”窗口中展开“数据库”-“表”节点可以查看我们建立的表、列、键

4.创建第二个表,表名为“table2”,包含四列

由于已经创建了表table1,此时若执行语句,会出现table1已经执行的警告,且无法执行。因此,我们可以只选中table2的语句,然后执行即可

5.同理创建table3,如有对SQL数据类型及约束条件不是很理解的小伙伴可以结合例子再进行理解

四、使用management studio修改表,删除表

(1)启动 SQL Server Management Studio 。
(2)在左边的“对象资源管理器”窗口中展开“数据库” --- “表”节点,选中并右击想要修改的表,在出现的快捷菜单中选择“ 设计 ”命令。
(3)打开 表设计器窗口, 可以为增加列,删除列,修改已有列的列名、数据类型、约束等。
(4)修改完毕后,单击工具栏上的保存按钮,可以将修改保存到表中。
(5)在左边的“对象资源管理器”窗口中展开“数据库”---“表”节点,选并右击想要删除的表,在出现的快捷菜单中选择“ 删除”命令。

(6)在弹出的“删除对象”窗口中单击“确定”按钮,即可实现基本表的删除。

五、使用SQL语句修改表,删除表

1.修改表,语句格式:ALTER TABLE <表名>{

ADD <新列名> <数据类型>[完整性约束]

|DROP [constraint]<完整性约束名>[,…n]

|drop COLUMN <列名> [,…n] ALTER COLUMN <列名> <数据类型>}

2.删除表,可以使用 DROP TABLE 语句将其删除,其基本格式如下:

DROP TABLE { database_name.schema_name.table_name
| schema_name.table_name | table_name } [ ,...n ] [ ; ]
注意:当一个基本表被删除后,该表的数据、在此表上所建立的索引、与该表关联的任何约束或触发器都将被自动删除,但建立在该表上的视图不会删除,系统将继续保留其定义,只是无法使用。

六、小结

在1024程序员节完成了第二篇博客,真是非常有意义呢!

下一篇会介绍如何实现数据操纵,希望可以加深自己学习印象,大家一起学习进步吧!

SQL server学习日志(二)创建表!手把手教你创建表,修改表,了解数据类型!超详细!相关推荐

  1. Sql Server 事务日志(二)

    Sql Server在将每次更新写入到数据文件之前,会先顺序的将更改 写入到日志文件.这种技术应用到很多种类的数据库上,这种预先写入日志的技术,称之为WAL(write  ahead logging) ...

  2. SQL SERVER学习笔记(二)数据库管理

    第二部分:数据库管理 单词记忆:transact:处理 create:创建 execute:执行.完成 一.     SQL Server的特性 1. 安装简便:为了便于安装.使用和管理,SQL Se ...

  3. 云原生丨手把手教你使用zabbix监控postgresql数据库(超详细讲解)

    文章目录 一.前言 二.什么是zabbix 三.zabbix安装步骤 四.监控postgresql实现步骤 一.前言 对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么 ...

  4. 手把手教你拿下空间复杂度【下】(超详细)

    文章目录 前言 一.空间复杂度是什么? 二.几个常见情况(就快结束了呢) 情况一 情况二 情况三(最后一个简简单单) 写在后面 前言 这是我第二篇知识点分享向博客,书接上文,这次讲解空间复杂度. 时间 ...

  5. 手把手教你安装 Centos7.6系统(图文超详细)

    桌面版 Centos7.6系统的安装(图文超详细) ●实验目的: 熟练掌握Centos7.6系统的安装. ●实验环境: VMware虚拟机(推荐最新版本):Centos7.6系统镜像 ●实验步骤: . ...

  6. Microsoft SQL Server学习(二)--数据库的语法

    关于数据库的语法 创建数据库 样例 名词概念 编写数据库代码的注意事项 关于文件语法 实例代码 关于数据库的语法: 1.创建数据库 create database 数据库名 on primary (主 ...

  7. Microsoft SQL Server学习(二)

    目录 关于数据库的语法: 1.创建数据库 create database 数据库名 on primary (主文件属性(name,filename,size等)) -用逗号隔开次要主要文件和次要文件 ...

  8. 【手把手教安装】JDK18 + IDEA安装教程(超详细!!!)

    IDEA安装教程 STEP1:JDK安装 因为我是新电脑没有安装过jdk,所以需要重新下载,以前有下过的宝子们可以直接去步骤二 下载JDK 这里分别是我新建的JDK文件夹用来一会儿安装JDK,以及刚才 ...

  9. 手把手教你六类网线水晶头接法,超详细教程

    网线线序 六类网线线序一般为白橙.橙.白绿.蓝.白蓝.绿.白棕.棕.如下图所示 工具介绍 工具①是灰色保护套,其作用是保护水晶头,要在剥线前就套上去 ②就是水晶头了 ③的作用是套在两股网线上,旋转,最 ...

最新文章

  1. 【模板】树链剖分 P3384
  2. NFS---linux远程挂载
  3. Environment variable ORACLE_UNQNAME not defined错误解决
  4. C# .net中json字符串和对象之间的转化方法
  5. 系统管理员设置了系统策略,禁止进行此安装
  6. 将select中的项从一个移动到另一个select中
  7. 关于V$OPEN_CURSOR
  8. 禁售苹果手机_苹果、华为供应商工厂突发火灾!浓烟冲天
  9. 判刑后再上诉会改判吗_近视眼手术后还会再近视反弹吗?有哪些后遗症,温州眼科专家告诉你...
  10. 【完整版-斯坦福-密码学】全13讲(流密码)【笔记】
  11. 大数据学习笔记22:MR案例——双MR统计总利润并排序
  12. ActiveMQ基本介绍
  13. java对象的状态由什么表示_持久化层的Java对象可处于哪些状态?这些状态有哪些特征?...
  14. 超详细mac新手教程-Mac界面篇
  15. MacOS磁盘工具:如何将“校验和..“添加到磁盘映像
  16. 基于Android官方Paging Library的RecyclerView分页加载框架
  17. 【ECS】云服务器ECS是什么
  18. java输入日期计算天数_Java输入日期得到天数
  19. 自定义input单选框样式
  20. Perl 输出数据结构:Dumper

热门文章

  1. t420i升级固态硬盘提升_SSD固态硬盘读写速度测试工具(附SSD性能提升知识干货)...
  2. android 垃圾清理 文件清理
  3. NOY 139 康托展开
  4. 左手画方右手画圆代码
  5. 设置状态栏颜色、沉浸式状态栏
  6. 高等代数 :2 行列式
  7. 怎么在中国使用chatgpt
  8. 添加域后如何将域用户加入本地管理员组
  9. 自定义Switch(秒懂)
  10. 解决微软拼音不显示备选字的问题